提交 e4ba6bfa 编写于 作者: A Andre Weinand

use latest debug protocol

上级 b7b2bdd8
......@@ -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;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册