use DAP 1.30.0

This commit is contained in:
Andre Weinand 2018-06-27 13:00:42 +02:00
parent a1f2a57e1b
commit 95c70e227f
3 changed files with 85 additions and 75 deletions

View file

@ -45,7 +45,7 @@
"sudo-prompt": "8.2.0",
"v8-inspect-profiler": "^0.0.8",
"vscode-chokidar": "1.6.2",
"vscode-debugprotocol": "1.28.0",
"vscode-debugprotocol": "1.30.0",
"vscode-nsfw": "1.0.17",
"vscode-ripgrep": "^1.0.1",
"vscode-textmate": "^4.0.1",

View file

@ -18,7 +18,7 @@ declare module DebugProtocol {
type: string;
}
/** A client or server-initiated request. */
/** A client or debug adapter initiated request. */
export interface Request extends ProtocolMessage {
// type: 'request';
/** The command to execute. */
@ -27,7 +27,7 @@ declare module DebugProtocol {
arguments?: any;
}
/** Server-initiated event. */
/** A debug adapter initiated event. */
export interface Event extends ProtocolMessage {
// type: 'event';
/** Type of event. */
@ -36,7 +36,7 @@ declare module DebugProtocol {
body?: any;
}
/** Response to a request. */
/** Response for a request. */
export interface Response extends ProtocolMessage {
// type: 'response';
/** Sequence number of the corresponding request. */
@ -51,16 +51,24 @@ declare module DebugProtocol {
body?: any;
}
/** On error (whenever 'success' is false), the body can provide more details. */
export interface ErrorResponse extends Response {
body: {
/** An optional, structured error message. */
error?: Message;
};
}
/** Event message for 'initialized' event type.
This event indicates that the debug adapter is ready to accept configuration requests (e.g. SetBreakpointsRequest, SetExceptionBreakpointsRequest).
A debug adapter is expected to send this event when it is ready to accept configuration requests (but not before the InitializeRequest has finished).
A debug adapter is expected to send this event when it is ready to accept configuration requests (but not before the 'initialize' request has finished).
The sequence of events/requests is as follows:
- adapters sends InitializedEvent (after the InitializeRequest has returned)
- frontend sends zero or more SetBreakpointsRequest
- frontend sends one SetFunctionBreakpointsRequest
- frontend sends a SetExceptionBreakpointsRequest if one or more exceptionBreakpointFilters have been defined (or if supportsConfigurationDoneRequest is not defined or false)
- adapters sends 'initialized' event (after the 'initialize' request has returned)
- frontend sends zero or more 'setBreakpoints' requests
- frontend sends one 'setFunctionBreakpoints' request
- frontend sends a 'setExceptionBreakpoints' request if one or more 'exceptionBreakpointFilters' have been defined (or if 'supportsConfigurationDoneRequest' is not defined or false)
- frontend sends other future configuration requests
- frontend sends one ConfigurationDoneRequest to indicate the end of the configuration
- frontend sends one 'configurationDone' request to indicate the end of the configuration.
*/
export interface InitializedEvent extends Event {
// event: 'initialized';
@ -75,10 +83,10 @@ declare module DebugProtocol {
body: {
/** The reason for the event.
For backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).
Values: 'step', 'breakpoint', 'exception', 'pause', 'entry', etc.
Values: 'step', 'breakpoint', 'exception', 'pause', 'entry', 'goto', etc.
*/
reason: string;
/** The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is. */
/** The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is and must be translated. */
description?: string;
/** The thread which was stopped. */
threadId?: number;
@ -86,9 +94,9 @@ declare module DebugProtocol {
preserveFocusHint?: boolean;
/** Additional information. E.g. if reason is 'exception', text contains the exception name. This string is shown in the UI. */
text?: string;
/** If allThreadsStopped is true, a debug adapter can announce that all threads have stopped.
* The client should use this information to enable that all threads can be expanded to access their stacktraces.
* If the attribute is missing or false, only the thread with the given threadId can be expanded.
/** If 'allThreadsStopped' is true, a debug adapter can announce that all threads have stopped.
- The client should use this information to enable that all threads can be expanded to access their stacktraces.
- If the attribute is missing or false, only the thread with the given threadId can be expanded.
*/
allThreadsStopped?: boolean;
};
@ -97,20 +105,20 @@ declare module DebugProtocol {
/** Event message for 'continued' event type.
The event indicates that the execution of the debuggee has continued.
Please note: a debug adapter is not expected to send this event in response to a request that implies that execution continues, e.g. 'launch' or 'continue'.
It is only necessary to send a ContinuedEvent if there was no previous request that implied this.
It is only necessary to send a 'continued' event if there was no previous request that implied this.
*/
export interface ContinuedEvent extends Event {
// event: 'continued';
body: {
/** The thread which was continued. */
threadId: number;
/** If allThreadsContinued is true, a debug adapter can announce that all threads have continued. */
/** If 'allThreadsContinued' is true, a debug adapter can announce that all threads have continued. */
allThreadsContinued?: boolean;
};
}
/** Event message for 'exited' event type.
The event indicates that the debuggee has exited.
The event indicates that the debuggee has exited and returns its exit code.
*/
export interface ExitedEvent extends Event {
// event: 'exited';
@ -120,8 +128,8 @@ declare module DebugProtocol {
};
}
/** Event message for 'terminated' event types.
The event indicates that debugging of the debuggee has terminated.
/** Event message for 'terminated' event type.
The event indicates that debugging of the debuggee has terminated. This does **not** mean that the debuggee itself has exited.
*/
export interface TerminatedEvent extends Event {
// event: 'terminated';
@ -160,7 +168,7 @@ declare module DebugProtocol {
category?: string;
/** The output to report. */
output: string;
/** If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing variablesReference to the VariablesRequest. */
/** If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing 'variablesReference' to the 'variables' request. */
variablesReference?: number;
/** An optional source location where the output was produced. */
source?: Source;
@ -249,8 +257,8 @@ declare module DebugProtocol {
};
}
/** runInTerminal request; value of command field is 'runInTerminal'.
With this request a debug adapter can run a command in a terminal.
/** RunInTerminal request; value of command field is 'runInTerminal'.
This request is sent from the debug adapter to the client to run a command in a terminal. This is typically used to launch the debuggee in a terminal provided by the client.
*/
export interface RunInTerminalRequest extends Request {
// command: 'runInTerminal';
@ -271,7 +279,7 @@ declare module DebugProtocol {
env?: { [key: string]: string | null; };
}
/** Response to Initialize request. */
/** Response to 'runInTerminal' request. */
export interface RunInTerminalResponse extends Response {
body: {
/** The process ID. */
@ -279,15 +287,11 @@ declare module DebugProtocol {
};
}
/** On error that is whenever 'success' is false, the body can provide more details. */
export interface ErrorResponse extends Response {
body: {
/** An optional, structured error message. */
error?: Message;
};
}
/** Initialize request; value of command field is 'initialize'. */
/** Initialize request; value of command field is 'initialize'.
The 'initialize' request is sent as the first request from the client to the debug adapter in order to configure it with client capabilities and to retrieve capabilities from the debug adapter.
Until the debug adapter has responded to with an 'initialize' response, the client must not send any additional requests or events to the debug adapter. In addition the debug adapter is not allowed to send any requests or events to the client until it has responded with an 'initialize' response.
The 'initialize' request may only be sent once.
*/
export interface InitializeRequest extends Request {
// command: 'initialize';
arguments: InitializeRequestArguments;
@ -326,16 +330,14 @@ declare module DebugProtocol {
}
/** ConfigurationDone request; value of command field is 'configurationDone'.
The client of the debug protocol must send this request at the end of the sequence of configuration requests (which was started by the InitializedEvent).
The client of the debug protocol must send this request at the end of the sequence of configuration requests (which was started by the 'initialized' event).
*/
export interface ConfigurationDoneRequest extends Request {
// command: 'configurationDone';
arguments?: ConfigurationDoneArguments;
}
/** Arguments for 'configurationDone' request.
The configurationDone request has no standardized attributes.
*/
/** Arguments for 'configurationDone' request. */
export interface ConfigurationDoneArguments {
}
@ -343,7 +345,9 @@ declare module DebugProtocol {
export interface ConfigurationDoneResponse extends Response {
}
/** Launch request; value of command field is 'launch'. */
/** Launch request; value of command field is 'launch'.
The launch request is sent from the client to the debug adapter to start the debuggee with or without debugging (if 'noDebug' is true). Since launching is debugger/runtime specific, the arguments for this request are not part of this specification.
*/
export interface LaunchRequest extends Request {
// command: 'launch';
arguments: LaunchRequestArguments;
@ -364,7 +368,9 @@ declare module DebugProtocol {
export interface LaunchResponse extends Response {
}
/** Attach request; value of command field is 'attach'. */
/** Attach request; value of command field is 'attach'.
The attach request is sent from the client to the debug adapter to attach to a debuggee that is already running. Since attaching is debugger/runtime specific, the arguments for this request are not part of this specification.
*/
export interface AttachRequest extends Request {
// command: 'attach';
arguments: AttachRequestArguments;
@ -394,9 +400,7 @@ declare module DebugProtocol {
arguments?: RestartArguments;
}
/** Arguments for 'restart' request.
The restart request has no standardized attributes.
*/
/** Arguments for 'restart' request. */
export interface RestartArguments {
}
@ -404,7 +408,9 @@ declare module DebugProtocol {
export interface RestartResponse extends Response {
}
/** Disconnect request; value of command field is 'disconnect'. */
/** Disconnect request; value of command field is 'disconnect'.
The 'disconnect' request is sent from the client to the debug adapter in order to stop debugging. It asks the debug adapter to disconnect from the debuggee and to terminate the debug adapter. If the debuggee has been started with the 'launch' request, the 'disconnect' request terminates the debuggee. If the 'attach' request was used to connect to the debuggee, 'disconnect' does not terminate the debuggee. This behavior can be controlled with the 'terminateDebuggee' (if supported by the debug adapter).
*/
export interface DisconnectRequest extends Request {
// command: 'disconnect';
arguments?: DisconnectArguments;
@ -426,7 +432,7 @@ declare module DebugProtocol {
/** SetBreakpoints request; value of command field is 'setBreakpoints'.
Sets multiple breakpoints for a single source and clears all previous breakpoints in that source.
To clear all breakpoint for a source, specify an empty array.
When a breakpoint is hit, a StoppedEvent (event type 'breakpoint') is generated.
When a breakpoint is hit, a 'stopped' event (with reason 'breakpoint') is generated.
*/
export interface SetBreakpointsRequest extends Request {
// command: 'setBreakpoints';
@ -435,7 +441,7 @@ declare module DebugProtocol {
/** Arguments for 'setBreakpoints' request. */
export interface SetBreakpointsArguments {
/** The source location of the breakpoints; either source.path or source.reference must be specified. */
/** The source location of the breakpoints; either 'source.path' or 'source.reference' must be specified. */
source: Source;
/** The code locations of the breakpoints. */
breakpoints?: SourceBreakpoint[];
@ -449,11 +455,11 @@ declare module DebugProtocol {
Returned is information about each breakpoint created by this request.
This includes the actual code location and whether the breakpoint could be verified.
The breakpoints returned are in the same order as the elements of the 'breakpoints'
(or the deprecated 'lines') in the SetBreakpointsArguments.
(or the deprecated 'lines') array in the arguments.
*/
export interface SetBreakpointsResponse extends Response {
body: {
/** Information about the breakpoints. The array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') in the SetBreakpointsArguments. */
/** Information about the breakpoints. The array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') array in the arguments. */
breakpoints: Breakpoint[];
};
}
@ -461,7 +467,7 @@ declare module DebugProtocol {
/** SetFunctionBreakpoints request; value of command field is 'setFunctionBreakpoints'.
Sets multiple function breakpoints and clears all previous function breakpoints.
To clear all function breakpoint, specify an empty array.
When a function breakpoint is hit, a StoppedEvent (event type 'function breakpoint') is generated.
When a function breakpoint is hit, a 'stopped' event (event type 'function breakpoint') is generated.
*/
export interface SetFunctionBreakpointsRequest extends Request {
// command: 'setFunctionBreakpoints';
@ -485,7 +491,7 @@ declare module DebugProtocol {
}
/** SetExceptionBreakpoints request; value of command field is 'setExceptionBreakpoints'.
The request configures the debuggers response to thrown exceptions. If an exception is configured to break, a StoppedEvent is fired (event type 'exception').
The request configures the debuggers response to thrown exceptions. If an exception is configured to break, a 'stopped' event is fired (with reason 'exception').
*/
export interface SetExceptionBreakpointsRequest extends Request {
// command: 'setExceptionBreakpoints';
@ -514,21 +520,21 @@ declare module DebugProtocol {
/** Arguments for 'continue' request. */
export interface ContinueArguments {
/** Continue execution for the specified thread (if possible). If the backend cannot continue on a single thread but will continue on all threads, it should set the allThreadsContinued attribute in the response to true. */
/** Continue execution for the specified thread (if possible). If the backend cannot continue on a single thread but will continue on all threads, it should set the 'allThreadsContinued' attribute in the response to true. */
threadId: number;
}
/** Response to 'continue' request. */
export interface ContinueResponse extends Response {
body: {
/** If true, the continue request has ignored the specified thread and continued all threads instead. If this attribute is missing a value of 'true' is assumed for backward compatibility. */
/** If true, the 'continue' request has ignored the specified thread and continued all threads instead. If this attribute is missing a value of 'true' is assumed for backward compatibility. */
allThreadsContinued?: boolean;
};
}
/** Next request; value of command field is 'next'.
The request starts the debuggee to run again for one step.
The debug adapter first sends the NextResponse and then a StoppedEvent (event type 'step') after the step has completed.
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
*/
export interface NextRequest extends Request {
// command: 'next';
@ -548,7 +554,7 @@ declare module DebugProtocol {
/** StepIn request; value of command field is 'stepIn'.
The request starts the debuggee to step into a function/method if possible.
If it cannot step into a target, 'stepIn' behaves like 'next'.
The debug adapter first sends the StepInResponse and then a StoppedEvent (event type 'step') after the step has completed.
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
If there are multiple function/method calls (or other targets) on the source line,
the optional argument 'targetId' can be used to control into which target the 'stepIn' should occur.
The list of possible targets for a given source line can be retrieved via the 'stepInTargets' request.
@ -572,7 +578,7 @@ declare module DebugProtocol {
/** StepOut request; value of command field is 'stepOut'.
The request starts the debuggee to run again for one step.
The debug adapter first sends the StepOutResponse and then a StoppedEvent (event type 'step') after the step has completed.
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
*/
export interface StepOutRequest extends Request {
// command: 'stepOut';
@ -591,7 +597,7 @@ declare module DebugProtocol {
/** StepBack request; value of command field is 'stepBack'.
The request starts the debuggee to run one step backwards.
The debug adapter first sends the StepBackResponse and then a StoppedEvent (event type 'step') after the step has completed. Clients should only call this request if the capability supportsStepBack is true.
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed. Clients should only call this request if the capability 'supportsStepBack' is true.
*/
export interface StepBackRequest extends Request {
// command: 'stepBack';
@ -609,7 +615,7 @@ declare module DebugProtocol {
}
/** ReverseContinue request; value of command field is 'reverseContinue'.
The request starts the debuggee to run backward. Clients should only call this request if the capability supportsStepBack is true.
The request starts the debuggee to run backward. Clients should only call this request if the capability 'supportsStepBack' is true.
*/
export interface ReverseContinueRequest extends Request {
// command: 'reverseContinue';
@ -628,7 +634,7 @@ declare module DebugProtocol {
/** RestartFrame request; value of command field is 'restartFrame'.
The request restarts execution of the specified stackframe.
The debug adapter first sends the RestartFrameResponse and then a StoppedEvent (event type 'restart') after the restart has completed.
The debug adapter first sends the response and then a 'stopped' event (with reason 'restart') after the restart has completed.
*/
export interface RestartFrameRequest extends Request {
// command: 'restartFrame';
@ -649,7 +655,7 @@ declare module DebugProtocol {
The request sets the location where the debuggee will continue to run.
This makes it possible to skip the execution of code or to executed code again.
The code between the current location and the goto target is not executed but skipped.
The debug adapter first sends the GotoResponse and then a StoppedEvent (event type 'goto').
The debug adapter first sends the response and then a 'stopped' event with reason 'goto'.
*/
export interface GotoRequest extends Request {
// command: 'goto';
@ -670,7 +676,7 @@ declare module DebugProtocol {
/** Pause request; value of command field is 'pause'.
The request suspenses the debuggee.
The debug adapter first sends the PauseResponse and then a StoppedEvent (event type 'pause') after the thread has been paused successfully.
The debug adapter first sends the response and then a 'stopped' event (with reason 'pause') after the thread has been paused successfully.
*/
export interface PauseRequest extends Request {
// command: 'pause';
@ -687,7 +693,9 @@ declare module DebugProtocol {
export interface PauseResponse extends Response {
}
/** StackTrace request; value of command field is 'stackTrace'. The request returns a stacktrace from the current execution state. */
/** StackTrace request; value of command field is 'stackTrace'.
The request returns a stacktrace from the current execution state.
*/
export interface StackTraceRequest extends Request {
// command: 'stackTrace';
arguments: StackTraceArguments;
@ -770,7 +778,7 @@ declare module DebugProtocol {
};
}
/** setVariable request; value of command field is 'setVariable'.
/** SetVariable request; value of command field is 'setVariable'.
Set the variable with the given name in the variable container to a new value.
*/
export interface SetVariableRequest extends Request {
@ -836,7 +844,7 @@ declare module DebugProtocol {
};
}
/** Thread request; value of command field is 'threads'.
/** Threads request; value of command field is 'threads'.
The request retrieves a list of all threads.
*/
export interface ThreadsRequest extends Request {
@ -851,7 +859,7 @@ declare module DebugProtocol {
};
}
/** Terminate thread request; value of command field is 'terminateThreads'.
/** TerminateThreads request; value of command field is 'terminateThreads'.
The request terminates the threads with the given ids.
*/
export interface TerminateThreadsRequest extends Request {
@ -869,7 +877,9 @@ declare module DebugProtocol {
export interface TerminateThreadsResponse extends Response {
}
/** Modules can be retrieved from the debug adapter with the ModulesRequest which can either return all modules or a range of modules to support paging. */
/** Modules request; value of command field is 'modules'.
Modules can be retrieved from the debug adapter with the ModulesRequest which can either return all modules or a range of modules to support paging.
*/
export interface ModulesRequest extends Request {
// command: 'modules';
arguments: ModulesArguments;
@ -893,15 +903,15 @@ declare module DebugProtocol {
};
}
/** Retrieves the set of all sources currently loaded by the debugged process. */
/** LoadedSources request; value of command field is 'loadedSources'.
Retrieves the set of all sources currently loaded by the debugged process.
*/
export interface LoadedSourcesRequest extends Request {
// command: 'loadedSources';
arguments?: LoadedSourcesArguments;
}
/** Arguments for 'loadedSources' request.
The 'loadedSources' request has no standardized arguments.
*/
/** Arguments for 'loadedSources' request. */
export interface LoadedSourcesArguments {
}
@ -1057,7 +1067,7 @@ declare module DebugProtocol {
};
}
/** CompletionsRequest request; value of command field is 'completions'.
/** Completions request; value of command field is 'completions'.
Returns a list of possible completions for a given caret position and text.
The CompletionsRequest may only be called if the 'supportsCompletionsRequest' capability exists and is true.
*/
@ -1086,8 +1096,8 @@ declare module DebugProtocol {
};
}
/** ExceptionInfoRequest request; value of command field is 'exceptionInfo'.
Retrieves the details of the exception that caused the StoppedEvent to be raised.
/** ExceptionInfo request; value of command field is 'exceptionInfo'.
Retrieves the details of the exception that caused this event to be raised.
*/
export interface ExceptionInfoRequest extends Request {
// command: 'exceptionInfo';
@ -1269,7 +1279,7 @@ declare module DebugProtocol {
export interface Source {
/** The short name of the source. Every source returned from the debug adapter has a name. When sending a source to the debug adapter this name is optional. */
name?: string;
/** The path of the source to be shown in the UI. It is only used to locate and load the content of the source if no sourceReference is specified (or its vaule is 0). */
/** The path of the source to be shown in the UI. It is only used to locate and load the content of the source if no sourceReference is specified (or its value is 0). */
path?: string;
/** If sourceReference > 0 the contents of the source must be retrieved through the SourceRequest (even if a path is specified). A sourceReference is only valid for a session, so it must not be used to persist a source. */
sourceReference?: number;

View file

@ -6210,9 +6210,9 @@ vscode-chokidar@1.6.2:
optionalDependencies:
vscode-fsevents "0.3.8"
vscode-debugprotocol@1.28.0:
version "1.28.0"
resolved "https://registry.yarnpkg.com/vscode-debugprotocol/-/vscode-debugprotocol-1.28.0.tgz#b9fb97c3fb2dadbec78e5c1619ff12bf741ce406"
vscode-debugprotocol@1.30.0:
version "1.30.0"
resolved "https://registry.yarnpkg.com/vscode-debugprotocol/-/vscode-debugprotocol-1.30.0.tgz#ece6d8559733e87bc7a2147b385899777a92af69"
vscode-fsevents@0.3.8:
version "0.3.8"