use latest debug protocol
This commit is contained in:
parent
b7b2bdd8f3
commit
e4ba6bfa63
1 changed files with 110 additions and 7 deletions
|
@ -431,6 +431,26 @@ declare module DebugProtocol {
|
|||
export interface RestartFrameResponse extends Response {
|
||||
}
|
||||
|
||||
/** Goto request; value of command field is "goto".
|
||||
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').
|
||||
*/
|
||||
export interface GotoRequest extends Request {
|
||||
arguments: GotoArguments;
|
||||
}
|
||||
/** Arguments for "goto" request. */
|
||||
export interface GotoArguments {
|
||||
/** Set the goto target for this thread. */
|
||||
threadId: number;
|
||||
/** The location where the debuggee will continue to run. */
|
||||
targetId: number;
|
||||
}
|
||||
/** Response to "goto" request. This is just an acknowledgement, so no body field is required. */
|
||||
export interface GotoResponse extends Response {
|
||||
}
|
||||
|
||||
/** 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.
|
||||
|
@ -510,7 +530,7 @@ declare module DebugProtocol {
|
|||
/** Response to "variables" request. */
|
||||
export interface VariablesResponse extends Response {
|
||||
body: {
|
||||
/** All (or a selected range) of variables for the given variable reference. */
|
||||
/** All (or a range) of variables for the given variable reference. */
|
||||
variables: Variable[];
|
||||
};
|
||||
}
|
||||
|
@ -621,9 +641,9 @@ declare module DebugProtocol {
|
|||
/** If variablesReference is > 0, the evaluate result is structured and its children can be retrieved by passing variablesReference to the VariablesRequest */
|
||||
variablesReference: number;
|
||||
/** The total number of child variables.
|
||||
If this number is large, the number should be returned via the optional 'totalCount' attribute.
|
||||
If this number is large, the number should be returned via the optional 'totalVariables' attribute.
|
||||
The client can use this information to present the variables in a paged UI and fetch them in chunks. */
|
||||
totalCount?: number;
|
||||
totalVariables?: number;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -648,6 +668,67 @@ declare module DebugProtocol {
|
|||
};
|
||||
}
|
||||
|
||||
/** GotoTargets request; value of command field is "gotoTargets".
|
||||
This request retrieves the possible goto targets for the specified source location.
|
||||
These targets can be used in the "goto" request.
|
||||
The GotoTargets request may only be called if the "supportsGotoTargetsRequest" capability exists and is true.
|
||||
*/
|
||||
export interface GotoTargetsRequest extends Request {
|
||||
arguments: GotoTargetsArguments;
|
||||
}
|
||||
/** Arguments for "gotoTargets" request. */
|
||||
export interface GotoTargetsArguments {
|
||||
/** The source location for which the goto targets are determined. */
|
||||
source: Source;
|
||||
/** The line location for which the goto targets are determined. */
|
||||
line: number;
|
||||
/** An optional column location for which the goto targets are determined. */
|
||||
column?: number;
|
||||
}
|
||||
/** Response to "gotoTargets" request. */
|
||||
export interface GotoTargetsResponse extends Response {
|
||||
body: {
|
||||
/** The possible goto targets of the specified location. */
|
||||
targets: GotoTarget[];
|
||||
};
|
||||
}
|
||||
|
||||
/** EXPERIMENTAL, DO NOT USE!
|
||||
CompletionsRequest 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.
|
||||
*/
|
||||
export interface CompletionsRequest extends Request {
|
||||
arguments: CompletionsArguments;
|
||||
}
|
||||
/** Arguments for "completions" request. */
|
||||
export interface CompletionsArguments {
|
||||
/** One or more source lines. Typically this is the text a user has typed into the debug console before he asked for completion. */
|
||||
text: string;
|
||||
/** The character position for which to determine the completion proposals. */
|
||||
column: number;
|
||||
/** An optional line for which to determine the completion proposals. If missing the first line of the text is assumed. */
|
||||
line?: number;
|
||||
}
|
||||
/** Response to "completions" request. */
|
||||
export interface CompletionsResponse extends Response {
|
||||
body: {
|
||||
/** The possible completions for . */
|
||||
targets: CompletionItem[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface CompletionItem {
|
||||
/** The label of this completion item. By default this is also the text that is inserted when selecting this completion. */
|
||||
label: string;
|
||||
/** If text is not falsy then it is inserted instead of the label. */
|
||||
text?: string;
|
||||
/** When a completion is selected it replaces 'length' characters starting at 'start' in the text passed to the CompletionsRequest.
|
||||
If missing the frontend will try to determine these values heuristically. */
|
||||
start?: number;
|
||||
length?: number;
|
||||
}
|
||||
|
||||
//---- Types
|
||||
|
||||
/** Information about the capabilities of a debug adapter. */
|
||||
|
@ -668,8 +749,12 @@ declare module DebugProtocol {
|
|||
supportsSetVariable?: boolean;
|
||||
/** The debug adapter supports restarting a frame. */
|
||||
supportsRestartFrame?: boolean;
|
||||
/** The debug adapter supports stepInTargetsRequest. */
|
||||
/** The debug adapter supports the gotoTargetsRequest. */
|
||||
supportsGotoTargetsRequest?: boolean;
|
||||
/** The debug adapter supports the stepInTargetsRequest. */
|
||||
supportsStepInTargetsRequest?: boolean;
|
||||
/** The debug adapter supports the completionsRequest. */
|
||||
supportsCompletionsRequest?: boolean;
|
||||
}
|
||||
|
||||
/** An ExceptionBreakpointsFilter is shown in the UI as an option for configuring how exceptions are dealt with. */
|
||||
|
@ -809,7 +894,7 @@ declare module DebugProtocol {
|
|||
variablesReference: number;
|
||||
/** The total number of variables in this scope.
|
||||
The client can use this optional information to present the variables in a paged UI and fetch them in chunks. */
|
||||
totalCount?: number;
|
||||
totalVariables?: number;
|
||||
/** If true, the number of variables in this scope is large or expensive to retrieve. */
|
||||
expensive: boolean;
|
||||
}
|
||||
|
@ -818,7 +903,7 @@ declare module DebugProtocol {
|
|||
Optionally a variable can have a 'type' that is shown if space permits or when hovering over the variable's name.
|
||||
An optional 'kind' is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private.
|
||||
If the value is structured (has children), a handle is provided to retrieve the children with the VariablesRequest.
|
||||
If the number of children is large, the number should be returned via the optional 'totalCount' attribute.
|
||||
If the number of children is large, the number should be returned via the optional 'totalVariables' attribute.
|
||||
The client can use this optional information to present the children in a paged UI and fetch them in chunks.
|
||||
*/
|
||||
export interface Variable {
|
||||
|
@ -831,7 +916,7 @@ declare module DebugProtocol {
|
|||
/** If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest. */
|
||||
variablesReference: number;
|
||||
/** The total number of child variables. */
|
||||
totalCount?: number;
|
||||
totalVariables?: number;
|
||||
/** Properties of a variable that can be used to determine how to render the variable in the UI. Format of the string value: TBD. */
|
||||
kind?: string;
|
||||
}
|
||||
|
@ -886,4 +971,22 @@ declare module DebugProtocol {
|
|||
/** The name of the stepIn target (shown in the UI). */
|
||||
label: string;
|
||||
}
|
||||
|
||||
/** A GotoTarget describes a code location that can be used as a target in the 'goto' request.
|
||||
The possible goto targets can be determined via the 'gotoTargets' request.
|
||||
*/
|
||||
export interface GotoTarget {
|
||||
/** Unique identifier for a goto target. This is used in the goto request. */
|
||||
id: number;
|
||||
/** The name of the goto target (shown in the UI). */
|
||||
label: string;
|
||||
/** The line of the goto target. */
|
||||
line: number;
|
||||
/** An optional column of the goto target. */
|
||||
column?: number;
|
||||
/** An optional end line of the range covered by the goto target. */
|
||||
endLine?: number;
|
||||
/** An optional end column of the range covered by the goto target. */
|
||||
endColumn?: number;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue