vscode-languageserver-protocol 3.15.0-next.2 → 3.15.0-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,116 @@
1
+ import { NotificationType, NotificationHandler } from 'vscode-jsonrpc';
2
+ export interface ProgressClientCapabilities {
3
+ /**
4
+ * Window specific client capabilities.
5
+ */
6
+ window?: {
7
+ /**
8
+ * Whether client supports handling progress notifications.
9
+ */
10
+ progress?: boolean;
11
+ };
12
+ }
13
+ export interface ProgressStartParams {
14
+ /**
15
+ * A unique identifier to associate multiple progress notifications with
16
+ * the same progress.
17
+ */
18
+ id: string;
19
+ /**
20
+ * Mandatory title of the progress operation. Used to briefly inform about
21
+ * the kind of operation being performed.
22
+ *
23
+ * Examples: "Indexing" or "Linking dependencies".
24
+ */
25
+ title: string;
26
+ /**
27
+ * Controls if a cancel button should show to allow the user to cancel the
28
+ * long running operation. Clients that don't support cancellation are allowed
29
+ * to ignore the setting.
30
+ */
31
+ cancellable?: boolean;
32
+ /**
33
+ * Optional, more detailed associated progress message. Contains
34
+ * complementary information to the `title`.
35
+ *
36
+ * Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
37
+ * If unset, the previous progress message (if any) is still valid.
38
+ */
39
+ message?: string;
40
+ /**
41
+ * Optional progress percentage to display (value 100 is considered 100%).
42
+ * If not provided infinite progress is assumed and clients are allowed
43
+ * to ignore the `percentage` value in subsequent in report notifications.
44
+ *
45
+ * The value should be steadily rising. Clients are free to ignore values
46
+ * that are not following this rule.
47
+ */
48
+ percentage?: number;
49
+ }
50
+ /**
51
+ * The `window/progress/start` notification is sent from the server to the client
52
+ * to initiate a progress.
53
+ */
54
+ export declare namespace ProgressStartNotification {
55
+ const type: NotificationType<ProgressStartParams, void>;
56
+ type HandlerSignature = NotificationHandler<ProgressStartParams>;
57
+ }
58
+ export interface ProgressReportParams {
59
+ /**
60
+ * A unique identifier to associate multiple progress notifications with the same progress.
61
+ */
62
+ id: string;
63
+ /**
64
+ * Optional, more detailed associated progress message. Contains
65
+ * complementary information to the `title`.
66
+ *
67
+ * Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
68
+ * If unset, the previous progress message (if any) is still valid.
69
+ */
70
+ message?: string;
71
+ /**
72
+ * Optional progress percentage to display (value 100 is considered 100%).
73
+ * If not provided infinite progress is assumed and clients are allowed
74
+ * to ignore the `percentage` value in subsequent in report notifications.
75
+ *
76
+ * The value should be steadily rising. Clients are free to ignore values
77
+ * that are not following this rule.
78
+ */
79
+ percentage?: number;
80
+ }
81
+ /**
82
+ * The `window/progress/report` notification is sent from the server to the client
83
+ * to initiate a progress.
84
+ */
85
+ export declare namespace ProgressReportNotification {
86
+ const type: NotificationType<ProgressReportParams, void>;
87
+ type HandlerSignature = NotificationHandler<ProgressReportParams>;
88
+ }
89
+ export interface ProgressDoneParams {
90
+ /**
91
+ * A unique identifier to associate multiple progress notifications with the same progress.
92
+ */
93
+ id: string;
94
+ }
95
+ /**
96
+ * The `window/progress/done` notification is sent from the server to the client
97
+ * to initiate a progress.
98
+ */
99
+ export declare namespace ProgressDoneNotification {
100
+ const type: NotificationType<ProgressDoneParams, void>;
101
+ type HandlerSignature = NotificationHandler<ProgressDoneParams>;
102
+ }
103
+ export interface ProgressCancelParams {
104
+ /**
105
+ * A unique identifier to associate multiple progress notifications with the same progress.
106
+ */
107
+ id: string;
108
+ }
109
+ /**
110
+ * The `window/progress/cancel` notification is sent client to the server to cancel a progress
111
+ * initiated on the server side.
112
+ */
113
+ export declare namespace ProgressCancelNotification {
114
+ const type: NotificationType<ProgressCancelParams, void>;
115
+ type HandlerSignature = NotificationHandler<ProgressCancelParams>;
116
+ }
@@ -0,0 +1,39 @@
1
+ /* --------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ * ------------------------------------------------------------------------------------------ */
5
+ 'use strict';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
8
+ /**
9
+ * The `window/progress/start` notification is sent from the server to the client
10
+ * to initiate a progress.
11
+ */
12
+ var ProgressStartNotification;
13
+ (function (ProgressStartNotification) {
14
+ ProgressStartNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/start');
15
+ })(ProgressStartNotification = exports.ProgressStartNotification || (exports.ProgressStartNotification = {}));
16
+ /**
17
+ * The `window/progress/report` notification is sent from the server to the client
18
+ * to initiate a progress.
19
+ */
20
+ var ProgressReportNotification;
21
+ (function (ProgressReportNotification) {
22
+ ProgressReportNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/report');
23
+ })(ProgressReportNotification = exports.ProgressReportNotification || (exports.ProgressReportNotification = {}));
24
+ /**
25
+ * The `window/progress/done` notification is sent from the server to the client
26
+ * to initiate a progress.
27
+ */
28
+ var ProgressDoneNotification;
29
+ (function (ProgressDoneNotification) {
30
+ ProgressDoneNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/done');
31
+ })(ProgressDoneNotification = exports.ProgressDoneNotification || (exports.ProgressDoneNotification = {}));
32
+ /**
33
+ * The `window/progress/cancel` notification is sent client to the server to cancel a progress
34
+ * initiated on the server side.
35
+ */
36
+ var ProgressCancelNotification;
37
+ (function (ProgressCancelNotification) {
38
+ ProgressCancelNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/cancel');
39
+ })(ProgressCancelNotification = exports.ProgressCancelNotification || (exports.ProgressCancelNotification = {}));
@@ -1,84 +1,52 @@
1
- import { RequestType } from 'vscode-jsonrpc';
2
- import { Range, TextDocumentIdentifier, Position } from 'vscode-languageserver-types';
3
- import { TextDocumentRegistrationOptions, StaticRegistrationOptions } from './protocol';
4
- export interface SelectionRangeClientCapabilities {
5
- /**
6
- * The text document client capabilities
7
- */
8
- textDocument?: {
9
- /**
10
- * Capabilities specific to `textDocument/selectionRange` requests
11
- */
12
- selectionRange?: {
13
- /**
14
- * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
15
- * the client supports the new `(SelectionRangeProviderOptions & TextDocumentRegistrationOptions & StaticRegistrationOptions)`
16
- * return value for the corresponding server capability as well.
17
- */
18
- dynamicRegistration?: boolean;
19
- };
20
- };
21
- }
22
- export interface SelectionRangeProviderOptions {
23
- }
24
- export interface SelectionRangeServerCapabilities {
25
- /**
26
- * The server provides selection range support.
27
- */
28
- selectionRangeProvider?: boolean | SelectionRangeProviderOptions | (SelectionRangeProviderOptions & TextDocumentRegistrationOptions & StaticRegistrationOptions);
29
- }
30
- /**
31
- * Enum of known selection range kinds
32
- */
33
- export declare enum SelectionRangeKind {
34
- /**
35
- * Empty Kind.
36
- */
37
- Empty = "",
38
- /**
39
- * The statment kind, its value is `statement`, possible extensions can be
40
- * `statement.if` etc
41
- */
42
- Statement = "statement",
43
- /**
44
- * The declaration kind, its value is `declaration`, possible extensions can be
45
- * `declaration.function`, `declaration.class` etc.
46
- */
47
- Declaration = "declaration"
48
- }
49
- /**
50
- * Represents a selection range
51
- */
52
- export interface SelectionRange {
53
- /**
54
- * Range of the selection.
55
- */
56
- range: Range;
57
- /**
58
- * Describes the kind of the selection range such as `statemet' or 'declaration'. See
59
- * [SelectionRangeKind](#SelectionRangeKind) for an enumeration of standardized kinds.
60
- */
61
- kind: string;
62
- }
63
- /**
64
- * A parameter literal used in selection range requests.
65
- */
66
- export interface SelectionRangeParams {
67
- /**
68
- * The text document.
69
- */
70
- textDocument: TextDocumentIdentifier;
71
- /**
72
- * The positions inside the text document.
73
- */
74
- positions: Position[];
75
- }
76
- /**
77
- * A request to provide selection ranges in a document. The request's
78
- * parameter is of type [TextDocumentPositionParams](#TextDocumentPositionParams), the
79
- * response is of type [SelectionRange[][]](#SelectionRange[][]) or a Thenable
80
- * that resolves to such.
81
- */
82
- export declare namespace SelectionRangeRequest {
83
- const type: RequestType<SelectionRangeParams, SelectionRange[][] | null, any, any>;
84
- }
1
+ import { RequestType, RequestHandler } from 'vscode-jsonrpc';
2
+ import { TextDocumentIdentifier, Position, SelectionRange } from 'vscode-languageserver-types';
3
+ import { TextDocumentRegistrationOptions, StaticRegistrationOptions } from './protocol';
4
+ export interface SelectionRangeClientCapabilities {
5
+ /**
6
+ * The text document client capabilities
7
+ */
8
+ textDocument?: {
9
+ /**
10
+ * Capabilities specific to `textDocument/selectionRange` requests
11
+ */
12
+ selectionRange?: {
13
+ /**
14
+ * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
15
+ * the client supports the new `(SelectionRangeProviderOptions & TextDocumentRegistrationOptions & StaticRegistrationOptions)`
16
+ * return value for the corresponding server capability as well.
17
+ */
18
+ dynamicRegistration?: boolean;
19
+ };
20
+ };
21
+ }
22
+ export interface SelectionRangeProviderOptions {
23
+ }
24
+ export interface SelectionRangeServerCapabilities {
25
+ /**
26
+ * The server provides selection range support.
27
+ */
28
+ selectionRangeProvider?: boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions & SelectionRangeProviderOptions);
29
+ }
30
+ /**
31
+ * A parameter literal used in selection range requests.
32
+ */
33
+ export interface SelectionRangeParams {
34
+ /**
35
+ * The text document.
36
+ */
37
+ textDocument: TextDocumentIdentifier;
38
+ /**
39
+ * The positions inside the text document.
40
+ */
41
+ positions: Position[];
42
+ }
43
+ /**
44
+ * A request to provide selection ranges in a document. The request's
45
+ * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the
46
+ * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable
47
+ * that resolves to such.
48
+ */
49
+ export declare namespace SelectionRangeRequest {
50
+ const type: RequestType<SelectionRangeParams, SelectionRange[] | null, any, any>;
51
+ type HandlerSignature = RequestHandler<SelectionRangeParams, SelectionRange[] | null, void>;
52
+ }
@@ -1,37 +1,17 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const vscode_jsonrpc_1 = require("vscode-jsonrpc");
8
- /**
9
- * Enum of known selection range kinds
10
- */
11
- var SelectionRangeKind;
12
- (function (SelectionRangeKind) {
13
- /**
14
- * Empty Kind.
15
- */
16
- SelectionRangeKind["Empty"] = "";
17
- /**
18
- * The statment kind, its value is `statement`, possible extensions can be
19
- * `statement.if` etc
20
- */
21
- SelectionRangeKind["Statement"] = "statement";
22
- /**
23
- * The declaration kind, its value is `declaration`, possible extensions can be
24
- * `declaration.function`, `declaration.class` etc.
25
- */
26
- SelectionRangeKind["Declaration"] = "declaration";
27
- })(SelectionRangeKind = exports.SelectionRangeKind || (exports.SelectionRangeKind = {}));
28
- /**
29
- * A request to provide selection ranges in a document. The request's
30
- * parameter is of type [TextDocumentPositionParams](#TextDocumentPositionParams), the
31
- * response is of type [SelectionRange[][]](#SelectionRange[][]) or a Thenable
32
- * that resolves to such.
33
- */
34
- var SelectionRangeRequest;
35
- (function (SelectionRangeRequest) {
36
- SelectionRangeRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/selectionRange');
37
- })(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
8
+ /**
9
+ * A request to provide selection ranges in a document. The request's
10
+ * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the
11
+ * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable
12
+ * that resolves to such.
13
+ */
14
+ var SelectionRangeRequest;
15
+ (function (SelectionRangeRequest) {
16
+ SelectionRangeRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/selectionRange');
17
+ })(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));
@@ -1,41 +1,41 @@
1
- import { RequestType, RequestHandler } from 'vscode-jsonrpc';
2
- import { Definition, DefinitionLink, LocationLink, Location } from 'vscode-languageserver-types';
3
- import { TextDocumentRegistrationOptions, StaticRegistrationOptions, TextDocumentPositionParams } from './protocol';
4
- export interface TypeDefinitionClientCapabilities {
5
- /**
6
- * The text document client capabilities
7
- */
8
- textDocument?: {
9
- /**
10
- * Capabilities specific to the `textDocument/typeDefinition`
11
- */
12
- typeDefinition?: {
13
- /**
14
- * Whether implementation supports dynamic registration. If this is set to `true`
15
- * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
16
- * return value for the corresponding server capability as well.
17
- */
18
- dynamicRegistration?: boolean;
19
- /**
20
- * The client supports additional metadata in the form of definition links.
21
- */
22
- linkSupport?: boolean;
23
- };
24
- };
25
- }
26
- export interface TypeDefinitionServerCapabilities {
27
- /**
28
- * The server provides Goto Type Definition support.
29
- */
30
- typeDefinitionProvider?: boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions);
31
- }
32
- /**
33
- * A request to resolve the type definition locations of a symbol at a given text
34
- * document position. The request's parameter is of type [TextDocumentPositioParams]
35
- * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
36
- * Thenable that resolves to such.
37
- */
38
- export declare namespace TypeDefinitionRequest {
39
- const type: RequestType<TextDocumentPositionParams, Location | Location[] | LocationLink[] | null, void, TextDocumentRegistrationOptions>;
40
- type HandlerSignature = RequestHandler<TextDocumentPositionParams, Definition | DefinitionLink[] | null, void>;
41
- }
1
+ import { RequestType, RequestHandler } from 'vscode-jsonrpc';
2
+ import { Definition, DefinitionLink, LocationLink, Location } from 'vscode-languageserver-types';
3
+ import { TextDocumentRegistrationOptions, StaticRegistrationOptions, TextDocumentPositionParams } from './protocol';
4
+ export interface TypeDefinitionClientCapabilities {
5
+ /**
6
+ * The text document client capabilities
7
+ */
8
+ textDocument?: {
9
+ /**
10
+ * Capabilities specific to the `textDocument/typeDefinition`
11
+ */
12
+ typeDefinition?: {
13
+ /**
14
+ * Whether implementation supports dynamic registration. If this is set to `true`
15
+ * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
16
+ * return value for the corresponding server capability as well.
17
+ */
18
+ dynamicRegistration?: boolean;
19
+ /**
20
+ * The client supports additional metadata in the form of definition links.
21
+ */
22
+ linkSupport?: boolean;
23
+ };
24
+ };
25
+ }
26
+ export interface TypeDefinitionServerCapabilities {
27
+ /**
28
+ * The server provides Goto Type Definition support.
29
+ */
30
+ typeDefinitionProvider?: boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions);
31
+ }
32
+ /**
33
+ * A request to resolve the type definition locations of a symbol at a given text
34
+ * document position. The request's parameter is of type [TextDocumentPositioParams]
35
+ * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
36
+ * Thenable that resolves to such.
37
+ */
38
+ export declare namespace TypeDefinitionRequest {
39
+ const type: RequestType<TextDocumentPositionParams, Location | Location[] | LocationLink[] | null, void, TextDocumentRegistrationOptions>;
40
+ type HandlerSignature = RequestHandler<TextDocumentPositionParams, Definition | DefinitionLink[] | null, void>;
41
+ }
@@ -1,19 +1,19 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
- 'use strict';
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const vscode_jsonrpc_1 = require("vscode-jsonrpc");
8
- // @ts-ignore: to avoid inlining LocatioLink as dynamic import
9
- let __noDynamicImport;
10
- /**
11
- * A request to resolve the type definition locations of a symbol at a given text
12
- * document position. The request's parameter is of type [TextDocumentPositioParams]
13
- * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
14
- * Thenable that resolves to such.
15
- */
16
- var TypeDefinitionRequest;
17
- (function (TypeDefinitionRequest) {
18
- TypeDefinitionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/typeDefinition');
19
- })(TypeDefinitionRequest = exports.TypeDefinitionRequest || (exports.TypeDefinitionRequest = {}));
1
+ /* --------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ * ------------------------------------------------------------------------------------------ */
5
+ 'use strict';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
8
+ // @ts-ignore: to avoid inlining LocatioLink as dynamic import
9
+ let __noDynamicImport;
10
+ /**
11
+ * A request to resolve the type definition locations of a symbol at a given text
12
+ * document position. The request's parameter is of type [TextDocumentPositioParams]
13
+ * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
14
+ * Thenable that resolves to such.
15
+ */
16
+ var TypeDefinitionRequest;
17
+ (function (TypeDefinitionRequest) {
18
+ TypeDefinitionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/typeDefinition');
19
+ })(TypeDefinitionRequest = exports.TypeDefinitionRequest || (exports.TypeDefinitionRequest = {}));
@@ -1,91 +1,91 @@
1
- import { RequestType0, RequestHandler0, NotificationType, NotificationHandler, HandlerResult, CancellationToken } from 'vscode-jsonrpc';
2
- export interface WorkspaceFoldersInitializeParams {
3
- /**
4
- * The actual configured workspace folders.
5
- */
6
- workspaceFolders: WorkspaceFolder[] | null;
7
- }
8
- export interface WorkspaceFoldersClientCapabilities {
9
- /**
10
- * The workspace client capabilities
11
- */
12
- workspace?: {
13
- /**
14
- * The client has support for workspace folders
15
- */
16
- workspaceFolders?: boolean;
17
- };
18
- }
19
- export interface WorkspaceFoldersServerCapabilities {
20
- /**
21
- * The workspace server capabilities
22
- */
23
- workspace?: {
24
- workspaceFolders?: {
25
- /**
26
- * The Server has support for workspace folders
27
- */
28
- supported?: boolean;
29
- /**
30
- * Whether the server wants to receive workspace folder
31
- * change notifications.
32
- *
33
- * If a strings is provided the string is treated as a ID
34
- * under which the notification is registed on the client
35
- * side. The ID can be used to unregister for these events
36
- * using the `client/unregisterCapability` request.
37
- */
38
- changeNotifications?: string | boolean;
39
- };
40
- };
41
- }
42
- export interface WorkspaceFolder {
43
- /**
44
- * The associated URI for this workspace folder.
45
- */
46
- uri: string;
47
- /**
48
- * The name of the workspace folder. Used to refer to this
49
- * workspace folder in thge user interface.
50
- */
51
- name: string;
52
- }
53
- /**
54
- * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.
55
- */
56
- export declare namespace WorkspaceFoldersRequest {
57
- const type: RequestType0<WorkspaceFolder[] | null, void, void>;
58
- type HandlerSignature = RequestHandler0<WorkspaceFolder[] | null, void>;
59
- type MiddlewareSignature = (token: CancellationToken, next: HandlerSignature) => HandlerResult<WorkspaceFolder[] | null, void>;
60
- }
61
- /**
62
- * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace
63
- * folder configuration changes.
64
- */
65
- export declare namespace DidChangeWorkspaceFoldersNotification {
66
- const type: NotificationType<DidChangeWorkspaceFoldersParams, void>;
67
- type HandlerSignature = NotificationHandler<DidChangeWorkspaceFoldersParams>;
68
- type MiddlewareSignature = (params: DidChangeWorkspaceFoldersParams, next: HandlerSignature) => void;
69
- }
70
- /**
71
- * The parameters of a `workspace/didChangeWorkspaceFolders` notification.
72
- */
73
- export interface DidChangeWorkspaceFoldersParams {
74
- /**
75
- * The actual workspace folder change event.
76
- */
77
- event: WorkspaceFoldersChangeEvent;
78
- }
79
- /**
80
- * The workspace folder change event.
81
- */
82
- export interface WorkspaceFoldersChangeEvent {
83
- /**
84
- * The array of added workspace folders
85
- */
86
- added: WorkspaceFolder[];
87
- /**
88
- * The array of the removed workspace folders
89
- */
90
- removed: WorkspaceFolder[];
91
- }
1
+ import { RequestType0, RequestHandler0, NotificationType, NotificationHandler, HandlerResult, CancellationToken } from 'vscode-jsonrpc';
2
+ export interface WorkspaceFoldersInitializeParams {
3
+ /**
4
+ * The actual configured workspace folders.
5
+ */
6
+ workspaceFolders: WorkspaceFolder[] | null;
7
+ }
8
+ export interface WorkspaceFoldersClientCapabilities {
9
+ /**
10
+ * The workspace client capabilities
11
+ */
12
+ workspace?: {
13
+ /**
14
+ * The client has support for workspace folders
15
+ */
16
+ workspaceFolders?: boolean;
17
+ };
18
+ }
19
+ export interface WorkspaceFoldersServerCapabilities {
20
+ /**
21
+ * The workspace server capabilities
22
+ */
23
+ workspace?: {
24
+ workspaceFolders?: {
25
+ /**
26
+ * The Server has support for workspace folders
27
+ */
28
+ supported?: boolean;
29
+ /**
30
+ * Whether the server wants to receive workspace folder
31
+ * change notifications.
32
+ *
33
+ * If a strings is provided the string is treated as a ID
34
+ * under which the notification is registed on the client
35
+ * side. The ID can be used to unregister for these events
36
+ * using the `client/unregisterCapability` request.
37
+ */
38
+ changeNotifications?: string | boolean;
39
+ };
40
+ };
41
+ }
42
+ export interface WorkspaceFolder {
43
+ /**
44
+ * The associated URI for this workspace folder.
45
+ */
46
+ uri: string;
47
+ /**
48
+ * The name of the workspace folder. Used to refer to this
49
+ * workspace folder in thge user interface.
50
+ */
51
+ name: string;
52
+ }
53
+ /**
54
+ * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.
55
+ */
56
+ export declare namespace WorkspaceFoldersRequest {
57
+ const type: RequestType0<WorkspaceFolder[] | null, void, void>;
58
+ type HandlerSignature = RequestHandler0<WorkspaceFolder[] | null, void>;
59
+ type MiddlewareSignature = (token: CancellationToken, next: HandlerSignature) => HandlerResult<WorkspaceFolder[] | null, void>;
60
+ }
61
+ /**
62
+ * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace
63
+ * folder configuration changes.
64
+ */
65
+ export declare namespace DidChangeWorkspaceFoldersNotification {
66
+ const type: NotificationType<DidChangeWorkspaceFoldersParams, void>;
67
+ type HandlerSignature = NotificationHandler<DidChangeWorkspaceFoldersParams>;
68
+ type MiddlewareSignature = (params: DidChangeWorkspaceFoldersParams, next: HandlerSignature) => void;
69
+ }
70
+ /**
71
+ * The parameters of a `workspace/didChangeWorkspaceFolders` notification.
72
+ */
73
+ export interface DidChangeWorkspaceFoldersParams {
74
+ /**
75
+ * The actual workspace folder change event.
76
+ */
77
+ event: WorkspaceFoldersChangeEvent;
78
+ }
79
+ /**
80
+ * The workspace folder change event.
81
+ */
82
+ export interface WorkspaceFoldersChangeEvent {
83
+ /**
84
+ * The array of added workspace folders
85
+ */
86
+ added: WorkspaceFolder[];
87
+ /**
88
+ * The array of the removed workspace folders
89
+ */
90
+ removed: WorkspaceFolder[];
91
+ }