vscode-languageserver-protocol 3.17.0-next.1 → 3.17.0-next.13

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.
@@ -1,6 +1,6 @@
1
1
  import { ProgressToken } from 'vscode-jsonrpc';
2
2
  import { ProtocolRequestType, ProtocolRequestType0, ProtocolNotificationType, ProtocolNotificationType0 } from './messages';
3
- import { Position, Range, Location, LocationLink, Diagnostic, Command, TextEdit, WorkspaceEdit, DocumentUri, TextDocumentIdentifier, VersionedTextDocumentIdentifier, TextDocumentItem, CompletionItem, CompletionList, Hover, SignatureHelp, ReferenceContext, DocumentHighlight, SymbolInformation, CodeLens, CodeActionContext, FormattingOptions, DocumentLink, MarkupKind, SymbolKind, CompletionItemKind, CodeAction, CodeActionKind, DocumentSymbol, CompletionItemTag, DiagnosticTag, SymbolTag, uinteger, integer, InsertTextMode } from 'vscode-languageserver-types';
3
+ import { Position, Range, Location, LocationLink, Diagnostic, Command, TextEdit, WorkspaceEdit, DocumentUri, TextDocumentIdentifier, VersionedTextDocumentIdentifier, TextDocumentItem, CompletionItem, CompletionList, Hover, SignatureHelp, Definition, ReferenceContext, DocumentHighlight, SymbolInformation, CodeLens, CodeActionContext, FormattingOptions, DocumentLink, MarkupKind, SymbolKind, CompletionItemKind, CodeAction, CodeActionKind, DocumentSymbol, CompletionItemTag, DiagnosticTag, SymbolTag, uinteger, integer, InsertTextMode, LSPAny, WorkspaceSymbol } from 'vscode-languageserver-types';
4
4
  import { ImplementationRequest, ImplementationClientCapabilities, ImplementationOptions, ImplementationRegistrationOptions, ImplementationParams } from './protocol.implementation';
5
5
  import { TypeDefinitionRequest, TypeDefinitionClientCapabilities, TypeDefinitionOptions, TypeDefinitionRegistrationOptions, TypeDefinitionParams } from './protocol.typeDefinition';
6
6
  import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersClientCapabilities, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolders';
@@ -16,6 +16,8 @@ import { ShowDocumentParams, ShowDocumentResult, ShowDocumentRequest, ShowDocume
16
16
  import { LinkedEditingRangeClientCapabilities, LinkedEditingRanges, LinkedEditingRangeOptions, LinkedEditingRangeParams, LinkedEditingRangeRegistrationOptions, LinkedEditingRangeRequest } from './protocol.linkedEditingRange';
17
17
  import { FileOperationOptions, FileOperationClientCapabilities, FileOperationRegistrationOptions, FileOperationPatternOptions, FileOperationPatternKind, DidCreateFilesNotification, CreateFilesParams, FileCreate, WillCreateFilesRequest, DidRenameFilesNotification, RenameFilesParams, FileRename, WillRenameFilesRequest, DidDeleteFilesNotification, DeleteFilesParams, FileDelete, WillDeleteFilesRequest } from './protocol.fileOperations';
18
18
  import { UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, MonikerOptions, MonikerRegistrationOptions, MonikerParams, MonikerRequest } from './protocol.moniker';
19
+ import { TypeHierarchyClientCapabilities, TypeHierarchyOptions, TypeHierarchyRegistrationOptions } from './proposed.typeHierarchy';
20
+ import { InlineValuesClientCapabilities, InlineValuesOptions, InlineValuesRegistrationOptions, InlineValuesWorkspaceClientCapabilities } from './proposed.inlineValue';
19
21
  /**
20
22
  * A document filter denotes a document by different properties like
21
23
  * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
@@ -25,14 +27,16 @@ import { UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, Monik
25
27
  * - `*` to match one or more characters in a path segment
26
28
  * - `?` to match on one character in a path segment
27
29
  * - `**` to match any number of path segments, including none
28
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
30
+ * - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
29
31
  * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
30
32
  * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
31
33
  *
32
34
  * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
33
35
  * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
36
+ *
37
+ * @since 3.17.0 - proposed state.
34
38
  */
35
- export declare type DocumentFilter = {
39
+ export declare type TextDocumentFilter = {
36
40
  /** A language id, like `typescript`. */
37
41
  language: string;
38
42
  /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
@@ -55,12 +59,106 @@ export declare type DocumentFilter = {
55
59
  pattern: string;
56
60
  };
57
61
  /**
58
- * The DocumentFilter namespace provides helper functions to work with
59
- * [DocumentFilter](#DocumentFilter) literals.
62
+ * The TextDocumentFilter namespace provides helper functions to work with
63
+ * [TextDocumentFilter](#TextDocumentFilter) literals.
64
+ *
65
+ * @since 3.17.0 - proposed state.
66
+ */
67
+ export declare namespace TextDocumentFilter {
68
+ function is(value: any): value is TextDocumentFilter;
69
+ }
70
+ /**
71
+ * A notebook document filter denotes a notebook document by
72
+ * different properties.
73
+ *
74
+ * @since 3.17.0 - proposed state.
75
+ */
76
+ export declare type NotebookDocumentFilter = {
77
+ /** The type of the enclosing notebook. */
78
+ notebookType: string;
79
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
80
+ * Will be matched against the URI of the notebook. */
81
+ scheme?: string;
82
+ /** A glob pattern, like `*.ipynb`.
83
+ * Will be matched against the notebooks` URI path section.*/
84
+ pattern?: string;
85
+ } | {
86
+ /** The type of the enclosing notebook. */
87
+ notebookType?: string;
88
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
89
+ * Will be matched against the URI of the notebook. */
90
+ scheme: string;
91
+ /** A glob pattern, like `*.ipynb`.
92
+ * Will be matched against the notebooks` URI path section.*/
93
+ pattern?: string;
94
+ } | {
95
+ /** The type of the enclosing notebook. */
96
+ notebookType?: string;
97
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
98
+ * Will be matched against the URI of the notebook. */
99
+ scheme?: string;
100
+ /** A glob pattern, like `*.ipynb`.
101
+ * Will be matched against the notebooks` URI path section.*/
102
+ pattern: string;
103
+ };
104
+ /**
105
+ * The NotebookDocumentFilter namespace provides helper functions to work with
106
+ * [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
107
+ *
108
+ * @since 3.17.0 - proposed state.
109
+ */
110
+ export declare namespace NotebookDocumentFilter {
111
+ function is(value: any): value is NotebookDocumentFilter;
112
+ }
113
+ /**
114
+ * A notebook cell text document filter denotes a cell text
115
+ * document by different properties.
116
+ *
117
+ * @since 3.17.0 - proposed state.
118
+ */
119
+ export declare type NotebookCellTextDocumentFilter = {
120
+ /**
121
+ * A filter that matches against the notebook
122
+ * containing the notebook cell.
123
+ */
124
+ notebookDocument: NotebookDocumentFilter;
125
+ /**
126
+ * A language id like `python`.
127
+ *
128
+ * Will be matched against the language id of the
129
+ * notebook cell document.
130
+ */
131
+ cellLanguage?: string;
132
+ } | {
133
+ /**
134
+ * A filter that matches against the notebook
135
+ * containing the notebook cell.
136
+ */
137
+ notebookDocument?: NotebookDocumentFilter;
138
+ /**
139
+ * A language id like `python`.
140
+ *
141
+ * Will be matched against the language id of the
142
+ * notebook cell document.
143
+ */
144
+ cellLanguage: string;
145
+ };
146
+ /**
147
+ * The NotebookCellTextDocumentFilter namespace provides helper functions to work with
148
+ * [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
149
+ *
150
+ * @since 3.17.0 - proposed state.
60
151
  */
61
- export declare namespace DocumentFilter {
62
- function is(value: any): value is DocumentFilter;
152
+ export declare namespace NotebookCellTextDocumentFilter {
153
+ function is(value: any): value is NotebookCellTextDocumentFilter;
63
154
  }
155
+ /**
156
+ * A document filter describes a top level text document or
157
+ * a notebook cell document.
158
+ *
159
+ * @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter.
160
+ */
161
+ export declare type DocumentFilter = TextDocumentFilter | NotebookCellTextDocumentFilter;
64
162
  /**
65
163
  * A document selector is the combination of one or many document filters.
66
164
  *
@@ -92,7 +190,7 @@ export interface Registration {
92
190
  /**
93
191
  * Options necessary for the registration.
94
192
  */
95
- registerOptions?: any;
193
+ registerOptions?: LSPAny;
96
194
  }
97
195
  export interface RegistrationParams {
98
196
  registrations: Registration[];
@@ -247,6 +345,13 @@ export interface WorkspaceClientCapabilities {
247
345
  * Since 3.16.0
248
346
  */
249
347
  fileOperations?: FileOperationClientCapabilities;
348
+ /**
349
+ * Capabilities specific to the inline values requests scoped to the
350
+ * workspace.
351
+ *
352
+ * @since 3.17.0.
353
+ */
354
+ inlineValues?: InlineValuesWorkspaceClientCapabilities;
250
355
  }
251
356
  /**
252
357
  * Text document specific client capabilities.
@@ -374,6 +479,18 @@ export interface TextDocumentClientCapabilities {
374
479
  * @since 3.16.0
375
480
  */
376
481
  moniker?: MonikerClientCapabilities;
482
+ /**
483
+ * Capabilities specific to the various type hierarchy requests.
484
+ *
485
+ * @since 3.17.0 - proposed state
486
+ */
487
+ typeHierarchy?: TypeHierarchyClientCapabilities;
488
+ /**
489
+ * Capabilities specific to the `textDocument/inlineValues` request.
490
+ *
491
+ * @since 3.17.0 - proposed state
492
+ */
493
+ inlineValues?: InlineValuesClientCapabilities;
377
494
  }
378
495
  export interface WindowClientCapabilities {
379
496
  /**
@@ -426,6 +543,13 @@ export interface MarkdownClientCapabilities {
426
543
  * The version of the parser.
427
544
  */
428
545
  version?: string;
546
+ /**
547
+ * A list of HTML tags that the client allows / supports in
548
+ * Markdown.
549
+ *
550
+ * @since 3.17.0
551
+ */
552
+ allowedTags?: string[];
429
553
  }
430
554
  /**
431
555
  * General client capabilities.
@@ -449,7 +573,7 @@ export interface GeneralClientCapabilities {
449
573
  /**
450
574
  * The list of requests for which the client
451
575
  * will retry the request if it receives a
452
- * response with error code `ContentModified``
576
+ * response with error code `ContentModified`
453
577
  */
454
578
  retryOnContentModified: string[];
455
579
  };
@@ -690,6 +814,18 @@ export interface _ServerCapabilities<T = any> {
690
814
  * @since 3.16.0
691
815
  */
692
816
  monikerProvider?: boolean | MonikerOptions | MonikerRegistrationOptions;
817
+ /**
818
+ * The server provides type hierarchy support.
819
+ *
820
+ * @since 3.17.0 - proposed state
821
+ */
822
+ typeHierarchyProvider?: boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions;
823
+ /**
824
+ * The server provides inline values.
825
+ *
826
+ * @since 3.17.0 - proposed state
827
+ */
828
+ inlineValuesProvider?: boolean | InlineValuesOptions | InlineValuesRegistrationOptions;
693
829
  /**
694
830
  * Experimental server capabilities.
695
831
  */
@@ -763,11 +899,11 @@ export interface _InitializeParams extends WorkDoneProgressParams {
763
899
  /**
764
900
  * User provided initialization options.
765
901
  */
766
- initializationOptions?: any;
902
+ initializationOptions?: LSPAny;
767
903
  /**
768
904
  * The initial trace setting. If omitted trace is disabled ('off').
769
905
  */
770
- trace?: 'off' | 'messages' | 'verbose';
906
+ trace?: 'off' | 'messages' | 'compact' | 'verbose';
771
907
  }
772
908
  export declare type InitializeParams = _InitializeParams & WorkspaceFoldersInitializeParams;
773
909
  /**
@@ -796,7 +932,7 @@ export interface InitializeResult<T = any> {
796
932
  /**
797
933
  * Custom initialization results.
798
934
  */
799
- [custom: string]: any;
935
+ [custom: string]: LSPAny | ServerCapabilities<T> | undefined; /** undefined is needed since serverInfo is optional */
800
936
  }
801
937
  /**
802
938
  * Known error codes for an `InitializeError`;
@@ -872,7 +1008,7 @@ export interface DidChangeConfigurationParams {
872
1008
  /**
873
1009
  * The actual changed settings
874
1010
  */
875
- settings: any;
1011
+ settings: LSPAny;
876
1012
  }
877
1013
  /**
878
1014
  * The message type
@@ -1544,7 +1680,7 @@ export interface CompletionClientCapabilities {
1544
1680
  * when accepting a completion item that uses multi line
1545
1681
  * text in either `insertText` or `textEdit`.
1546
1682
  *
1547
- * @since 3.16.0
1683
+ * @since 3.17.0 - proposed state
1548
1684
  */
1549
1685
  insertTextMode?: InsertTextMode;
1550
1686
  /**
@@ -1552,6 +1688,25 @@ export interface CompletionClientCapabilities {
1552
1688
  * `textDocument/completion` request.
1553
1689
  */
1554
1690
  contextSupport?: boolean;
1691
+ /**
1692
+ * The client supports the following `CompletionList` specific
1693
+ * capabilities.
1694
+ *
1695
+ * @since 3.17.0 - proposed state
1696
+ */
1697
+ completionList?: {
1698
+ /**
1699
+ * The client supports the the following itemDefaults on
1700
+ * a completion list.
1701
+ *
1702
+ * The value lists the supported property names of the
1703
+ * `CompletionList.itemDefaults` object. If omitted
1704
+ * no properties are supported.
1705
+ *
1706
+ * @since 3.17.0 - proposed state
1707
+ */
1708
+ itemDefaults?: string[];
1709
+ };
1555
1710
  }
1556
1711
  /**
1557
1712
  * How a completion was triggered
@@ -1886,7 +2041,7 @@ export interface DefinitionRegistrationOptions extends TextDocumentRegistrationO
1886
2041
  */
1887
2042
  export declare namespace DefinitionRequest {
1888
2043
  const method: 'textDocument/definition';
1889
- const type: ProtocolRequestType<DefinitionParams, Location | Location[] | LocationLink[] | null, Location[] | LocationLink[], void, DefinitionRegistrationOptions>;
2044
+ const type: ProtocolRequestType<DefinitionParams, Definition | LocationLink[] | null, Location[] | LocationLink[], void, DefinitionRegistrationOptions>;
1890
2045
  }
1891
2046
  /**
1892
2047
  * Client Capabilities for a [ReferencesRequest](#ReferencesRequest).
@@ -2208,6 +2363,20 @@ export interface WorkspaceSymbolClientCapabilities {
2208
2363
  */
2209
2364
  valueSet: SymbolTag[];
2210
2365
  };
2366
+ /**
2367
+ * The client support partial workspace symbols. The client will send the
2368
+ * request `workspaceSymbol/resolve` to the server to resolve additional
2369
+ * properties.
2370
+ *
2371
+ * @since 3.17.0 - proposedState
2372
+ */
2373
+ resolveSupport?: {
2374
+ /**
2375
+ * The properties that a client can resolve lazily. Usually
2376
+ * `location.range`
2377
+ */
2378
+ properties: string[];
2379
+ };
2211
2380
  }
2212
2381
  /**
2213
2382
  * The parameters of a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
@@ -2223,6 +2392,13 @@ export interface WorkspaceSymbolParams extends WorkDoneProgressParams, PartialRe
2223
2392
  * Server capabilities for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2224
2393
  */
2225
2394
  export interface WorkspaceSymbolOptions extends WorkDoneProgressOptions {
2395
+ /**
2396
+ * The server provides support to resolve additional
2397
+ * information for a workspace symbol.
2398
+ *
2399
+ * @since 3.17.0 - proposed state
2400
+ */
2401
+ resolveProvider?: boolean;
2226
2402
  }
2227
2403
  /**
2228
2404
  * Registration options for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
@@ -2234,10 +2410,25 @@ export interface WorkspaceSymbolRegistrationOptions extends WorkspaceSymbolOptio
2234
2410
  * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
2235
2411
  * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
2236
2412
  * resolves to such.
2413
+ *
2414
+ * @since 3.17.0 - support for WorkspaceSymbol in the returned data. Clients
2415
+ * need to advertise support for WorkspaceSymbols via the client capability
2416
+ * `workspace.symbol.resolveSupport`.
2417
+ *
2237
2418
  */
2238
2419
  export declare namespace WorkspaceSymbolRequest {
2239
2420
  const method: 'workspace/symbol';
2240
- const type: ProtocolRequestType<WorkspaceSymbolParams, SymbolInformation[] | null, SymbolInformation[], void, WorkspaceSymbolRegistrationOptions>;
2421
+ const type: ProtocolRequestType<WorkspaceSymbolParams, SymbolInformation[] | WorkspaceSymbol[] | null, SymbolInformation[] | WorkspaceSymbol[], void, WorkspaceSymbolRegistrationOptions>;
2422
+ }
2423
+ /**
2424
+ * A request to resolve the range inside the workspace
2425
+ * symbol's location.
2426
+ *
2427
+ * @since 3.17.0 - proposed state
2428
+ */
2429
+ export declare namespace WorkspaceSymbolResolveRequest {
2430
+ const method: 'workspaceSymbol/resolve';
2431
+ const type: ProtocolRequestType<WorkspaceSymbol, WorkspaceSymbol, never, void, void>;
2241
2432
  }
2242
2433
  /**
2243
2434
  * The client capabilities of a [CodeLensRequest](#CodeLensRequest).
@@ -2618,7 +2809,7 @@ export interface ExecuteCommandParams extends WorkDoneProgressParams {
2618
2809
  /**
2619
2810
  * Arguments that the command should be invoked with.
2620
2811
  */
2621
- arguments?: any[];
2812
+ arguments?: LSPAny[];
2622
2813
  }
2623
2814
  /**
2624
2815
  * The server capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
@@ -2639,7 +2830,7 @@ export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions
2639
2830
  * a workspace edit which the client will apply to the workspace.
2640
2831
  */
2641
2832
  export declare namespace ExecuteCommandRequest {
2642
- const type: ProtocolRequestType<ExecuteCommandParams, any, never, void, ExecuteCommandRegistrationOptions>;
2833
+ const type: ProtocolRequestType<ExecuteCommandParams, void | LSPAny, never, void, ExecuteCommandRegistrationOptions>;
2643
2834
  }
2644
2835
  export interface WorkspaceEditClientCapabilities {
2645
2836
  /**
@@ -2701,9 +2892,11 @@ export interface ApplyWorkspaceEditParams {
2701
2892
  edit: WorkspaceEdit;
2702
2893
  }
2703
2894
  /**
2704
- * A response returned from the apply workspace edit request.
2895
+ * The result returned from the apply workspace edit request.
2896
+ *
2897
+ * @since 3.17 renamed from ApplyWorkspaceEditResponse
2705
2898
  */
2706
- export interface ApplyWorkspaceEditResponse {
2899
+ export interface ApplyWorkspaceEditResult {
2707
2900
  /**
2708
2901
  * Indicates whether the edit was applied or not.
2709
2902
  */
@@ -2721,11 +2914,15 @@ export interface ApplyWorkspaceEditResponse {
2721
2914
  */
2722
2915
  failedChange?: uinteger;
2723
2916
  }
2917
+ /**
2918
+ * @deprecated Use ApplyWorkspaceEditResult instead.
2919
+ */
2920
+ export declare type ApplyWorkspaceEditResponse = ApplyWorkspaceEditResult;
2724
2921
  /**
2725
2922
  * A request sent from the server to the client to modified certain resources.
2726
2923
  */
2727
2924
  export declare namespace ApplyWorkspaceEditRequest {
2728
- const type: ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResponse, never, void, void>;
2925
+ const type: ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResult, never, void, void>;
2729
2926
  }
2730
- export { ImplementationRequest, ImplementationParams, ImplementationRegistrationOptions, ImplementationOptions, TypeDefinitionRequest, TypeDefinitionParams, TypeDefinitionRegistrationOptions, TypeDefinitionOptions, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, ConfigurationRequest, ConfigurationParams, ConfigurationItem, DocumentColorRequest, ColorPresentationRequest, DocumentColorOptions, DocumentColorParams, ColorPresentationParams, DocumentColorRegistrationOptions, FoldingRangeClientCapabilities, FoldingRangeOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeRegistrationOptions, DeclarationClientCapabilities, DeclarationRequest, DeclarationParams, DeclarationRegistrationOptions, DeclarationOptions, SelectionRangeClientCapabilities, SelectionRangeOptions, SelectionRangeParams, SelectionRangeRequest, SelectionRangeRegistrationOptions, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification, CallHierarchyClientCapabilities, CallHierarchyOptions, CallHierarchyRegistrationOptions, CallHierarchyIncomingCallsParams, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCallsRequest, CallHierarchyPrepareParams, CallHierarchyPrepareRequest, SemanticTokensPartialResult, SemanticTokensDeltaPartialResult, TokenFormat, SemanticTokensClientCapabilities, SemanticTokensOptions, SemanticTokensRegistrationOptions, SemanticTokensParams, SemanticTokensRequest, SemanticTokensDeltaParams, SemanticTokensDeltaRequest, SemanticTokensRangeParams, SemanticTokensRangeRequest, SemanticTokensRefreshRequest, SemanticTokensRegistrationType, ShowDocumentParams, ShowDocumentRequest, ShowDocumentResult, ShowDocumentClientCapabilities, LinkedEditingRangeClientCapabilities, LinkedEditingRanges, LinkedEditingRangeOptions, LinkedEditingRangeParams, LinkedEditingRangeRegistrationOptions, LinkedEditingRangeRequest, FileOperationOptions, FileOperationClientCapabilities, FileOperationRegistrationOptions, FileOperationPatternOptions, FileOperationPatternKind, DidCreateFilesNotification, CreateFilesParams, FileCreate, WillCreateFilesRequest, DidRenameFilesNotification, RenameFilesParams, FileRename, WillRenameFilesRequest, DidDeleteFilesNotification, DeleteFilesParams, FileDelete, WillDeleteFilesRequest, UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, MonikerOptions, MonikerRegistrationOptions, MonikerParams, MonikerRequest };
2927
+ export { ImplementationRequest, ImplementationParams, ImplementationRegistrationOptions, ImplementationOptions, TypeDefinitionRequest, TypeDefinitionParams, TypeDefinitionRegistrationOptions, TypeDefinitionOptions, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, ConfigurationRequest, ConfigurationParams, ConfigurationItem, DocumentColorRequest, ColorPresentationRequest, DocumentColorOptions, DocumentColorParams, ColorPresentationParams, DocumentColorRegistrationOptions, FoldingRangeClientCapabilities, FoldingRangeOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeRegistrationOptions, DeclarationClientCapabilities, DeclarationRequest, DeclarationParams, DeclarationRegistrationOptions, DeclarationOptions, SelectionRangeClientCapabilities, SelectionRangeOptions, SelectionRangeParams, SelectionRangeRequest, SelectionRangeRegistrationOptions, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification, CallHierarchyClientCapabilities, CallHierarchyOptions, CallHierarchyRegistrationOptions, CallHierarchyIncomingCallsParams, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCallsRequest, CallHierarchyPrepareParams, CallHierarchyPrepareRequest, SemanticTokensPartialResult, SemanticTokensDeltaPartialResult, TokenFormat, SemanticTokensClientCapabilities, SemanticTokensOptions, SemanticTokensRegistrationOptions, SemanticTokensParams, SemanticTokensRequest, SemanticTokensDeltaParams, SemanticTokensDeltaRequest, SemanticTokensRangeParams, SemanticTokensRangeRequest, SemanticTokensRefreshRequest, SemanticTokensRegistrationType, ShowDocumentParams, ShowDocumentRequest, ShowDocumentResult, ShowDocumentClientCapabilities, LinkedEditingRangeClientCapabilities, LinkedEditingRanges, LinkedEditingRangeOptions, LinkedEditingRangeParams, LinkedEditingRangeRegistrationOptions, LinkedEditingRangeRequest, FileOperationOptions, FileOperationClientCapabilities, FileOperationRegistrationOptions, FileOperationPatternOptions, FileOperationPatternKind, DidCreateFilesNotification, CreateFilesParams, FileCreate, WillCreateFilesRequest, DidRenameFilesNotification, RenameFilesParams, FileRename, WillRenameFilesRequest, DidDeleteFilesNotification, DeleteFilesParams, FileDelete, WillDeleteFilesRequest, UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, MonikerOptions, MonikerRegistrationOptions, MonikerParams, MonikerRequest, };
2731
2928
  export { DocumentColorOptions as ColorProviderOptions, DocumentColorOptions as ColorOptions, FoldingRangeOptions as FoldingRangeProviderOptions, SelectionRangeOptions as SelectionRangeProviderOptions, DocumentColorRegistrationOptions as ColorRegistrationOptions };
@@ -32,6 +32,6 @@ export interface DeclarationParams extends TextDocumentPositionParams, WorkDoneP
32
32
  */
33
33
  export declare namespace DeclarationRequest {
34
34
  const method: 'textDocument/declaration';
35
- const type: ProtocolRequestType<DeclarationParams, Location | Location[] | LocationLink[] | null, Location[] | LocationLink[], void, DeclarationRegistrationOptions>;
35
+ const type: ProtocolRequestType<DeclarationParams, Declaration | LocationLink[] | null, Location[] | LocationLink[], void, DeclarationRegistrationOptions>;
36
36
  type HandlerSignature = RequestHandler<DeclarationParams, Declaration | DeclarationLink[] | null, void>;
37
37
  }
@@ -83,7 +83,7 @@ interface FileOperationPattern {
83
83
  * - `*` to match one or more characters in a path segment
84
84
  * - `?` to match on one character in a path segment
85
85
  * - `**` to match any number of path segments, including none
86
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
86
+ * - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
87
87
  * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
88
88
  * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
89
89
  */
@@ -33,6 +33,6 @@ export interface ImplementationParams extends TextDocumentPositionParams, WorkDo
33
33
  */
34
34
  export declare namespace ImplementationRequest {
35
35
  const method: 'textDocument/implementation';
36
- const type: ProtocolRequestType<ImplementationParams, Location | Location[] | LocationLink[] | null, Location[] | LocationLink[], void, ImplementationRegistrationOptions>;
36
+ const type: ProtocolRequestType<ImplementationParams, Definition | LocationLink[] | null, Location[] | LocationLink[], void, ImplementationRegistrationOptions>;
37
37
  type HandlerSignature = RequestHandler<ImplementationParams, Definition | DefinitionLink[] | null, void>;
38
38
  }
@@ -4,10 +4,10 @@
4
4
  * Licensed under the MIT License. See License.txt in the project root for license information.
5
5
  * ------------------------------------------------------------------------------------------ */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DocumentLinkRequest = exports.CodeLensRefreshRequest = exports.CodeLensResolveRequest = exports.CodeLensRequest = exports.WorkspaceSymbolRequest = exports.CodeActionResolveRequest = exports.CodeActionRequest = exports.DocumentSymbolRequest = exports.DocumentHighlightRequest = exports.ReferencesRequest = exports.DefinitionRequest = exports.SignatureHelpRequest = exports.SignatureHelpTriggerKind = exports.HoverRequest = exports.CompletionResolveRequest = exports.CompletionRequest = exports.CompletionTriggerKind = exports.PublishDiagnosticsNotification = exports.WatchKind = exports.FileChangeType = exports.DidChangeWatchedFilesNotification = exports.WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentNotification = exports.TextDocumentSaveReason = exports.DidSaveTextDocumentNotification = exports.DidCloseTextDocumentNotification = exports.DidChangeTextDocumentNotification = exports.TextDocumentContentChangeEvent = exports.DidOpenTextDocumentNotification = exports.TextDocumentSyncKind = exports.TelemetryEventNotification = exports.LogMessageNotification = exports.ShowMessageRequest = exports.ShowMessageNotification = exports.MessageType = exports.DidChangeConfigurationNotification = exports.ExitNotification = exports.ShutdownRequest = exports.InitializedNotification = exports.InitializeError = exports.InitializeRequest = exports.WorkDoneProgressOptions = exports.TextDocumentRegistrationOptions = exports.StaticRegistrationOptions = exports.FailureHandlingKind = exports.ResourceOperationKind = exports.UnregistrationRequest = exports.RegistrationRequest = exports.DocumentSelector = exports.DocumentFilter = void 0;
8
- exports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = void 0;
9
- const Is = require("./utils/is");
7
+ exports.CodeLensRequest = exports.WorkspaceSymbolResolveRequest = exports.WorkspaceSymbolRequest = exports.CodeActionResolveRequest = exports.CodeActionRequest = exports.DocumentSymbolRequest = exports.DocumentHighlightRequest = exports.ReferencesRequest = exports.DefinitionRequest = exports.SignatureHelpRequest = exports.SignatureHelpTriggerKind = exports.HoverRequest = exports.CompletionResolveRequest = exports.CompletionRequest = exports.CompletionTriggerKind = exports.PublishDiagnosticsNotification = exports.WatchKind = exports.FileChangeType = exports.DidChangeWatchedFilesNotification = exports.WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentNotification = exports.TextDocumentSaveReason = exports.DidSaveTextDocumentNotification = exports.DidCloseTextDocumentNotification = exports.DidChangeTextDocumentNotification = exports.TextDocumentContentChangeEvent = exports.DidOpenTextDocumentNotification = exports.TextDocumentSyncKind = exports.TelemetryEventNotification = exports.LogMessageNotification = exports.ShowMessageRequest = exports.ShowMessageNotification = exports.MessageType = exports.DidChangeConfigurationNotification = exports.ExitNotification = exports.ShutdownRequest = exports.InitializedNotification = exports.InitializeError = exports.InitializeRequest = exports.WorkDoneProgressOptions = exports.TextDocumentRegistrationOptions = exports.StaticRegistrationOptions = exports.FailureHandlingKind = exports.ResourceOperationKind = exports.UnregistrationRequest = exports.RegistrationRequest = exports.DocumentSelector = exports.NotebookCellTextDocumentFilter = exports.NotebookDocumentFilter = exports.TextDocumentFilter = void 0;
8
+ exports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = exports.DocumentLinkRequest = exports.CodeLensRefreshRequest = exports.CodeLensResolveRequest = void 0;
10
9
  const messages_1 = require("./messages");
10
+ const Is = require("./utils/is");
11
11
  const protocol_implementation_1 = require("./protocol.implementation");
12
12
  Object.defineProperty(exports, "ImplementationRequest", { enumerable: true, get: function () { return protocol_implementation_1.ImplementationRequest; } });
13
13
  const protocol_typeDefinition_1 = require("./protocol.typeDefinition");
@@ -60,17 +60,47 @@ Object.defineProperty(exports, "MonikerRequest", { enumerable: true, get: functi
60
60
  // @ts-ignore: to avoid inlining LocationLink as dynamic import
61
61
  let __noDynamicImport;
62
62
  /**
63
- * The DocumentFilter namespace provides helper functions to work with
64
- * [DocumentFilter](#DocumentFilter) literals.
63
+ * The TextDocumentFilter namespace provides helper functions to work with
64
+ * [TextDocumentFilter](#TextDocumentFilter) literals.
65
+ *
66
+ * @since 3.17.0 - proposed state.
65
67
  */
66
- var DocumentFilter;
67
- (function (DocumentFilter) {
68
+ var TextDocumentFilter;
69
+ (function (TextDocumentFilter) {
68
70
  function is(value) {
69
71
  const candidate = value;
70
72
  return Is.string(candidate.language) || Is.string(candidate.scheme) || Is.string(candidate.pattern);
71
73
  }
72
- DocumentFilter.is = is;
73
- })(DocumentFilter = exports.DocumentFilter || (exports.DocumentFilter = {}));
74
+ TextDocumentFilter.is = is;
75
+ })(TextDocumentFilter = exports.TextDocumentFilter || (exports.TextDocumentFilter = {}));
76
+ /**
77
+ * The NotebookDocumentFilter namespace provides helper functions to work with
78
+ * [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
79
+ *
80
+ * @since 3.17.0 - proposed state.
81
+ */
82
+ var NotebookDocumentFilter;
83
+ (function (NotebookDocumentFilter) {
84
+ function is(value) {
85
+ const candidate = value;
86
+ return Is.objectLiteral(candidate) && (Is.string(candidate.notebookType) || Is.string(candidate.scheme) || Is.string(candidate.pattern));
87
+ }
88
+ NotebookDocumentFilter.is = is;
89
+ })(NotebookDocumentFilter = exports.NotebookDocumentFilter || (exports.NotebookDocumentFilter = {}));
90
+ /**
91
+ * The NotebookCellTextDocumentFilter namespace provides helper functions to work with
92
+ * [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
93
+ *
94
+ * @since 3.17.0 - proposed state.
95
+ */
96
+ var NotebookCellTextDocumentFilter;
97
+ (function (NotebookCellTextDocumentFilter) {
98
+ function is(value) {
99
+ const candidate = value;
100
+ return Is.objectLiteral(candidate) && (NotebookDocumentFilter.is(candidate.notebookDocument) || Is.string(candidate.cellLanguage));
101
+ }
102
+ NotebookCellTextDocumentFilter.is = is;
103
+ })(NotebookCellTextDocumentFilter = exports.NotebookCellTextDocumentFilter || (exports.NotebookCellTextDocumentFilter = {}));
74
104
  /**
75
105
  * The DocumentSelector namespace provides helper functions to work with
76
106
  * [DocumentSelector](#DocumentSelector)s.
@@ -82,7 +112,7 @@ var DocumentSelector;
82
112
  return false;
83
113
  }
84
114
  for (let elem of value) {
85
- if (!Is.string(elem) && !DocumentFilter.is(elem)) {
115
+ if (!Is.string(elem) && !TextDocumentFilter.is(elem) && !NotebookCellTextDocumentFilter.is(elem)) {
86
116
  return false;
87
117
  }
88
118
  }
@@ -633,12 +663,28 @@ var CodeActionResolveRequest;
633
663
  * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
634
664
  * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
635
665
  * resolves to such.
666
+ *
667
+ * @since 3.17.0 - support for WorkspaceSymbol in the returned data. Clients
668
+ * need to advertise support for WorkspaceSymbols via the client capability
669
+ * `workspace.symbol.resolveSupport`.
670
+ *
636
671
  */
637
672
  var WorkspaceSymbolRequest;
638
673
  (function (WorkspaceSymbolRequest) {
639
674
  WorkspaceSymbolRequest.method = 'workspace/symbol';
640
675
  WorkspaceSymbolRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolRequest.method);
641
676
  })(WorkspaceSymbolRequest = exports.WorkspaceSymbolRequest || (exports.WorkspaceSymbolRequest = {}));
677
+ /**
678
+ * A request to resolve the range inside the workspace
679
+ * symbol's location.
680
+ *
681
+ * @since 3.17.0 - proposed state
682
+ */
683
+ var WorkspaceSymbolResolveRequest;
684
+ (function (WorkspaceSymbolResolveRequest) {
685
+ WorkspaceSymbolResolveRequest.method = 'workspaceSymbol/resolve';
686
+ WorkspaceSymbolResolveRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest.method);
687
+ })(WorkspaceSymbolResolveRequest = exports.WorkspaceSymbolResolveRequest || (exports.WorkspaceSymbolResolveRequest = {}));
642
688
  /**
643
689
  * A request to provide code lens for the given text document.
644
690
  */
@@ -76,6 +76,28 @@ export interface SemanticTokensClientCapabilities {
76
76
  * Whether the client supports tokens that can span multiple lines.
77
77
  */
78
78
  multilineTokenSupport?: boolean;
79
+ /**
80
+ * Whether the client allows the server to actively cancel a
81
+ * semantic token request, e.g. supports returning
82
+ * LSPErrorCodes.ServerCancelled. If a server does the client
83
+ * needs to retrigger the request.
84
+ *
85
+ * @since 3.17.0
86
+ */
87
+ serverCancelSupport?: boolean;
88
+ /**
89
+ * Whether the client uses semantic tokens to augment existing
90
+ * syntax tokens. If set to `true` client side created syntax
91
+ * tokens and semantic tokens are both used for colorization. If
92
+ * set to `false` the client only uses the returned semantic tokens
93
+ * for colorization.
94
+ *
95
+ * If the value is `undefined` then the client behavior is not
96
+ * specified.
97
+ *
98
+ * @since 3.17.0
99
+ */
100
+ augmentsSyntaxTokens?: boolean;
79
101
  }
80
102
  /**
81
103
  * @since 3.16.0
@@ -169,6 +191,9 @@ export declare namespace SemanticTokensRangeRequest {
169
191
  const type: ProtocolRequestType<SemanticTokensRangeParams, SemanticTokens | null, SemanticTokensPartialResult, void, void>;
170
192
  type HandlerSignature = RequestHandler<SemanticTokensRangeParams, SemanticTokens | null, void>;
171
193
  }
194
+ /**
195
+ * @since 3.16.0
196
+ */
172
197
  export interface SemanticTokensWorkspaceClientCapabilities {
173
198
  /**
174
199
  * Whether the client implementation supports a refresh request sent from
@@ -176,7 +201,7 @@ export interface SemanticTokensWorkspaceClientCapabilities {
176
201
  *
177
202
  * Note that this event is global and will force the client to refresh all
178
203
  * semantic tokens currently shown. It should be used with absolute care
179
- * and is useful for situation where a server for example detect a project
204
+ * and is useful for situation where a server for example detects a project
180
205
  * wide change that requires such a calculation.
181
206
  */
182
207
  refreshSupport?: boolean;
@@ -33,6 +33,6 @@ export interface TypeDefinitionParams extends TextDocumentPositionParams, WorkDo
33
33
  */
34
34
  export declare namespace TypeDefinitionRequest {
35
35
  const method: 'textDocument/typeDefinition';
36
- const type: ProtocolRequestType<TypeDefinitionParams, Location | Location[] | LocationLink[] | null, Location[] | LocationLink[], void, TypeDefinitionRegistrationOptions>;
36
+ const type: ProtocolRequestType<TypeDefinitionParams, Definition | LocationLink[] | null, Location[] | LocationLink[], void, TypeDefinitionRegistrationOptions>;
37
37
  type HandlerSignature = RequestHandler<TypeDefinitionParams, Definition | DefinitionLink[] | null, void>;
38
38
  }
package/lib/node/main.js CHANGED
@@ -19,7 +19,7 @@ const node_1 = require("vscode-jsonrpc/node");
19
19
  __exportStar(require("vscode-jsonrpc/node"), exports);
20
20
  __exportStar(require("../common/api"), exports);
21
21
  function createProtocolConnection(input, output, logger, options) {
22
- return node_1.createMessageConnection(input, output, logger, options);
22
+ return (0, node_1.createMessageConnection)(input, output, logger, options);
23
23
  }
24
24
  exports.createProtocolConnection = createProtocolConnection;
25
25
  //# sourceMappingURL=main.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vscode-languageserver-protocol",
3
3
  "description": "VSCode Language Server Protocol implementation",
4
- "version": "3.17.0-next.1",
4
+ "version": "3.17.0-next.13",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "typings": "./lib/common/api.d.ts",
20
20
  "dependencies": {
21
- "vscode-jsonrpc": "6.1.0-next.1",
22
- "vscode-languageserver-types": "3.17.0-next.1"
21
+ "vscode-jsonrpc": "8.0.0-next.6",
22
+ "vscode-languageserver-types": "3.17.0-next.7"
23
23
  },
24
24
  "scripts": {
25
25
  "prepublishOnly": "git clean -xfd . && npm install && npm run clean && npm run compile && npm test",
@@ -28,7 +28,7 @@
28
28
  "compile": "node ../build/bin/tsc -b ./tsconfig.json",
29
29
  "watch": "node ../build/bin/tsc -b ./tsconfig-watch.json -w",
30
30
  "clean": "node ../node_modules/rimraf/bin.js lib && node ../node_modules/rimraf/bin.js dist",
31
- "lint": "node ../node_modules/eslint/bin/eslint.js ./src/**/*.ts",
31
+ "lint": "node ../node_modules/eslint/bin/eslint.js --ext ts src",
32
32
  "test": "npm run test:node && npm run test:browser",
33
33
  "test:node": "node ../node_modules/mocha/bin/_mocha",
34
34
  "test:browser": "npm run webpack:test:silent && node ../build/bin/runBrowserTests.js http://127.0.0.1:8080/protocol/src/browser/test/",