Table of Contents

Class ExecuteSessionParams

Namespace
RDCore.SDK.Platform.Protocol
Assembly
RDCore.SDK.dll

Request for rdcore/session/execute: a client asks the language server to run one procedure of a module it supplies.

[Method("rdcore/session/execute", Direction.ClientToServer)]
public record ExecuteSessionParams : IRequest, IRequest<Unit>, IRequest<ExecuteSessionResult>, IBaseRequest, IEquatable<ExecuteSessionParams>
Inheritance
ExecuteSessionParams
Implements
IRequest
IRequest<Unit>
IBaseRequest
Inherited Members

Remarks

The source travels with the request rather than being read from the workspace, because the code a client wants to run is not always a file: an interactive shell's program lives in a buffer, and its immediate-mode line is a procedure that exists for exactly one statement's worth of time. The language server parses it, defines its symbols, and hands the result to whichever component owns the runtime session.

Cancelling the request is how a caller interrupts a running program — the shell's Ctrl+Break. The cancellation reaches the interpreter loop itself, so a program that will never finish on its own still stops.

Properties

EntryPoint

The name of the parameterless procedure to invoke.

public string EntryPoint { get; init; }

Property Value

string

ModuleName

The module's programmatic name, which is the scope the entry point is resolved in.

public string ModuleName { get; init; }

Property Value

string

Source

The complete source of the module to run — every procedure of it, not just the one being invoked, since the entry point may call the others.

public string Source { get; init; }

Property Value

string