vscode-languageserver-protocol 3.17.0-next.14 → 3.17.0-next.17

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.
Files changed (39) hide show
  1. package/lib/common/api.d.ts +1 -22
  2. package/lib/common/api.js +1 -10
  3. package/lib/common/connection.d.ts +26 -2
  4. package/lib/common/proposed.diagnostic.d.ts +93 -68
  5. package/lib/common/proposed.diagnostic.js +12 -7
  6. package/lib/common/{proposed.notebooks.d.ts → proposed.notebook.d.ts} +81 -114
  7. package/lib/common/{proposed.notebooks.js → proposed.notebook.js} +28 -56
  8. package/lib/common/protocol.callHierarchy.d.ts +1 -1
  9. package/lib/common/protocol.colorProvider.d.ts +1 -1
  10. package/lib/common/protocol.configuration.d.ts +1 -14
  11. package/lib/common/protocol.configuration.js +1 -0
  12. package/lib/common/protocol.d.ts +266 -102
  13. package/lib/common/protocol.declaration.d.ts +2 -2
  14. package/lib/common/protocol.declaration.js +2 -2
  15. package/lib/common/protocol.foldingRange.d.ts +2 -19
  16. package/lib/common/protocol.foldingRange.js +1 -19
  17. package/lib/common/protocol.implementation.d.ts +2 -2
  18. package/lib/common/protocol.implementation.js +2 -2
  19. package/lib/common/protocol.inlayHint.d.ts +115 -0
  20. package/lib/common/protocol.inlayHint.js +44 -0
  21. package/lib/common/protocol.inlineValue.d.ts +91 -0
  22. package/lib/common/protocol.inlineValue.js +31 -0
  23. package/lib/common/protocol.js +71 -15
  24. package/lib/common/protocol.linkedEditingRange.d.ts +2 -2
  25. package/lib/common/protocol.moniker.d.ts +13 -11
  26. package/lib/common/protocol.moniker.js +8 -8
  27. package/lib/common/protocol.progress.d.ts +2 -14
  28. package/lib/common/protocol.progress.js +4 -2
  29. package/lib/common/protocol.selectionRange.d.ts +2 -2
  30. package/lib/common/protocol.semanticTokens.d.ts +1 -1
  31. package/lib/common/protocol.typeDefinition.d.ts +1 -1
  32. package/lib/common/{proposed.typeHierarchy.d.ts → protocol.typeHierarchy.d.ts} +28 -22
  33. package/lib/common/{proposed.typeHierarchy.js → protocol.typeHierarchy.js} +7 -4
  34. package/lib/common/{protocol.workspaceFolders.d.ts → protocol.workspaceFolder.d.ts} +11 -41
  35. package/lib/common/{protocol.workspaceFolders.js → protocol.workspaceFolder.js} +1 -1
  36. package/metaModel.schema.json +686 -0
  37. package/package.json +3 -3
  38. package/lib/common/proposed.inlineValue.d.ts +0 -86
  39. package/lib/common/proposed.inlineValue.js +0 -29
@@ -1,23 +1,24 @@
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, 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';
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, URI, WorkspaceFolder } 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
- import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersClientCapabilities, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolders';
7
- import { ConfigurationRequest, ConfigurationParams, ConfigurationItem, ConfigurationClientCapabilities } from './protocol.configuration';
6
+ import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolder';
7
+ import { ConfigurationRequest, ConfigurationParams, ConfigurationItem } from './protocol.configuration';
8
8
  import { DocumentColorRequest, ColorPresentationRequest, DocumentColorOptions, DocumentColorParams, ColorPresentationParams, DocumentColorClientCapabilities, DocumentColorRegistrationOptions } from './protocol.colorProvider';
9
9
  import { FoldingRangeClientCapabilities, FoldingRangeOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeRegistrationOptions } from './protocol.foldingRange';
10
10
  import { DeclarationClientCapabilities, DeclarationRequest, DeclarationOptions, DeclarationRegistrationOptions, DeclarationParams } from './protocol.declaration';
11
11
  import { SelectionRangeClientCapabilities, SelectionRangeOptions, SelectionRangeRequest, SelectionRangeParams, SelectionRangeRegistrationOptions } from './protocol.selectionRange';
12
- import { WorkDoneProgressClientCapabilities, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification } from './protocol.progress';
12
+ import { WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification } from './protocol.progress';
13
13
  import { CallHierarchyClientCapabilities, CallHierarchyOptions, CallHierarchyRegistrationOptions, CallHierarchyIncomingCallsParams, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCallsRequest, CallHierarchyPrepareParams, CallHierarchyPrepareRequest } from './protocol.callHierarchy';
14
14
  import { SemanticTokensPartialResult, SemanticTokensDeltaPartialResult, TokenFormat, SemanticTokensClientCapabilities, SemanticTokensOptions, SemanticTokensRegistrationOptions, SemanticTokensParams, SemanticTokensRequest, SemanticTokensDeltaParams, SemanticTokensDeltaRequest, SemanticTokensRangeParams, SemanticTokensRangeRequest, SemanticTokensRefreshRequest, SemanticTokensWorkspaceClientCapabilities, SemanticTokensRegistrationType } from './protocol.semanticTokens';
15
15
  import { ShowDocumentParams, ShowDocumentResult, ShowDocumentRequest, ShowDocumentClientCapabilities } from './protocol.showDocument';
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
+ import { TypeHierarchyClientCapabilities, TypeHierarchyOptions, TypeHierarchyRegistrationOptions, TypeHierarchyPrepareParams, TypeHierarchyPrepareRequest, TypeHierarchySubtypesParams, TypeHierarchySubtypesRequest, TypeHierarchySupertypesParams, TypeHierarchySupertypesRequest } from './protocol.typeHierarchy';
20
+ import { InlineValueClientCapabilities, InlineValueOptions, InlineValueRegistrationOptions, InlineValueWorkspaceClientCapabilities, InlineValueParams, InlineValueRequest, InlineValueRefreshRequest } from './protocol.inlineValue';
21
+ import { InlayHintClientCapabilities, InlayHintOptions, InlayHintRegistrationOptions, InlayHintWorkspaceClientCapabilities, InlayHintParams, InlayHintRequest, InlayHintResolveRequest, InlayHintRefreshRequest } from './protocol.inlayHint';
21
22
  /**
22
23
  * A document filter denotes a document by different properties like
23
24
  * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
@@ -34,7 +35,8 @@ import { InlineValuesClientCapabilities, InlineValuesOptions, InlineValuesRegist
34
35
  * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
35
36
  * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
36
37
  *
37
- * @since 3.17.0 - proposed state.
38
+ * @since 3.17.0
39
+ * @proposed
38
40
  */
39
41
  export declare type TextDocumentFilter = {
40
42
  /** A language id, like `typescript`. */
@@ -62,50 +64,48 @@ export declare type TextDocumentFilter = {
62
64
  * The TextDocumentFilter namespace provides helper functions to work with
63
65
  * [TextDocumentFilter](#TextDocumentFilter) literals.
64
66
  *
65
- * @since 3.17.0 - proposed state.
67
+ * @since 3.17.0
68
+ * @proposed
66
69
  */
67
70
  export declare namespace TextDocumentFilter {
68
71
  function is(value: any): value is TextDocumentFilter;
69
72
  }
70
73
  /**
71
74
  * A notebook document filter denotes a notebook document by
72
- * different properties.
75
+ * different properties. The properties will be match
76
+ * against the notebook's URI (same as with documents)
73
77
  *
74
- * @since 3.17.0 - proposed state.
78
+ * @since 3.17.0
79
+ * @proposed
75
80
  */
76
81
  export declare type NotebookDocumentFilter = {
77
82
  /** The type of the enclosing notebook. */
78
83
  notebookType: string;
79
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
80
- * Will be matched against the URI of the notebook. */
84
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
81
85
  scheme?: string;
82
- /** A glob pattern, like `*.ipynb`.
83
- * Will be matched against the notebooks` URI path section.*/
86
+ /** A glob pattern. */
84
87
  pattern?: string;
85
88
  } | {
86
89
  /** The type of the enclosing notebook. */
87
90
  notebookType?: string;
88
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
89
- * Will be matched against the URI of the notebook. */
91
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.*/
90
92
  scheme: string;
91
- /** A glob pattern, like `*.ipynb`.
92
- * Will be matched against the notebooks` URI path section.*/
93
+ /** A glob pattern. */
93
94
  pattern?: string;
94
95
  } | {
95
96
  /** The type of the enclosing notebook. */
96
97
  notebookType?: string;
97
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
98
- * Will be matched against the URI of the notebook. */
98
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
99
99
  scheme?: string;
100
- /** A glob pattern, like `*.ipynb`.
101
- * Will be matched against the notebooks` URI path section.*/
100
+ /** A glob pattern. */
102
101
  pattern: string;
103
102
  };
104
103
  /**
105
104
  * The NotebookDocumentFilter namespace provides helper functions to work with
106
105
  * [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
107
106
  *
108
- * @since 3.17.0 - proposed state.
107
+ * @since 3.17.0
108
+ * @proposed
109
109
  */
110
110
  export declare namespace NotebookDocumentFilter {
111
111
  function is(value: any): value is NotebookDocumentFilter;
@@ -114,40 +114,31 @@ export declare namespace NotebookDocumentFilter {
114
114
  * A notebook cell text document filter denotes a cell text
115
115
  * document by different properties.
116
116
  *
117
- * @since 3.17.0 - proposed state.
117
+ * @since 3.17.0
118
+ * @proposed
118
119
  */
119
120
  export declare type NotebookCellTextDocumentFilter = {
120
121
  /**
121
122
  * 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.
123
+ * containing the notebook cell. If a string
124
+ * value is provided it matches against the
125
+ * notebook type. '*' matches every notebook.
136
126
  */
137
- notebookDocument?: NotebookDocumentFilter;
127
+ notebook: string | NotebookDocumentFilter;
138
128
  /**
139
129
  * A language id like `python`.
140
130
  *
141
131
  * Will be matched against the language id of the
142
- * notebook cell document.
132
+ * notebook cell document. '*' matches every language.
143
133
  */
144
- cellLanguage: string;
134
+ language?: string;
145
135
  };
146
136
  /**
147
137
  * The NotebookCellTextDocumentFilter namespace provides helper functions to work with
148
138
  * [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
149
139
  *
150
- * @since 3.17.0 - proposed state.
140
+ * @since 3.17.0
141
+ * @proposed
151
142
  */
152
143
  export declare namespace NotebookCellTextDocumentFilter {
153
144
  function is(value: any): value is NotebookCellTextDocumentFilter;
@@ -325,6 +316,18 @@ export interface WorkspaceClientCapabilities {
325
316
  * Capabilities specific to the `workspace/executeCommand` request.
326
317
  */
327
318
  executeCommand?: ExecuteCommandClientCapabilities;
319
+ /**
320
+ * The client has support for workspace folders
321
+ *
322
+ * @since 3.6.0
323
+ */
324
+ workspaceFolders?: boolean;
325
+ /**
326
+ * The client supports `workspace/configuration` requests.
327
+ *
328
+ * @since 3.6.0
329
+ */
330
+ configuration?: boolean;
328
331
  /**
329
332
  * Capabilities specific to the semantic token requests scoped to the
330
333
  * workspace.
@@ -351,7 +354,14 @@ export interface WorkspaceClientCapabilities {
351
354
  *
352
355
  * @since 3.17.0.
353
356
  */
354
- inlineValues?: InlineValuesWorkspaceClientCapabilities;
357
+ inlineValue?: InlineValueWorkspaceClientCapabilities;
358
+ /**
359
+ * Capabilities specific to the inlay hints requests scoped to the
360
+ * workspace.
361
+ *
362
+ * @since 3.17.0.
363
+ */
364
+ inlayHint?: InlayHintWorkspaceClientCapabilities;
355
365
  }
356
366
  /**
357
367
  * Text document specific client capabilities.
@@ -482,21 +492,34 @@ export interface TextDocumentClientCapabilities {
482
492
  /**
483
493
  * Capabilities specific to the various type hierarchy requests.
484
494
  *
485
- * @since 3.17.0 - proposed state
495
+ * @since 3.17.0
496
+ * @proposed
486
497
  */
487
498
  typeHierarchy?: TypeHierarchyClientCapabilities;
488
499
  /**
489
- * Capabilities specific to the `textDocument/inlineValues` request.
500
+ * Capabilities specific to the `textDocument/inlineValue` request.
501
+ *
502
+ * @since 3.17.0
503
+ * @proposed
504
+ */
505
+ inlineValue?: InlineValueClientCapabilities;
506
+ /**
507
+ * Capabilities specific to the `textDocument/inlayHint` request.
490
508
  *
491
- * @since 3.17.0 - proposed state
509
+ * @since 3.17.0
510
+ * @proposed
492
511
  */
493
- inlineValues?: InlineValuesClientCapabilities;
512
+ inlayHint?: InlayHintClientCapabilities;
494
513
  }
495
514
  export interface WindowClientCapabilities {
496
515
  /**
497
- * Whether client supports handling progress notifications. If set
498
- * servers are allowed to report in `workDoneProgress` property in the
499
- * request specific server capabilities.
516
+ * It indicates whether the client supports server initiated
517
+ * progress using the `window/workDoneProgress/create` request.
518
+ *
519
+ * The capability also controls Whether client supports handling
520
+ * of progress notifications. If set servers are allowed to report a
521
+ * `workDoneProgress` property in the request specific server
522
+ * capabilities.
500
523
  *
501
524
  * @since 3.15.0
502
525
  */
@@ -551,6 +574,41 @@ export interface MarkdownClientCapabilities {
551
574
  */
552
575
  allowedTags?: string[];
553
576
  }
577
+ /**
578
+ * A set of predefined position encoding kinds.
579
+ *
580
+ * @since 3.17.0
581
+ * @proposed
582
+ */
583
+ export declare namespace PositionEncodingKind {
584
+ /**
585
+ * Character offsets count UTF-8 code units.
586
+ */
587
+ const UTF8: PositionEncodingKind;
588
+ /**
589
+ * Character offsets count UTF-16 code units.
590
+ *
591
+ * This is the default and must always be supported
592
+ * by servers
593
+ */
594
+ const UTF16: PositionEncodingKind;
595
+ /**
596
+ * Character offsets count UTF-32 code units.
597
+ *
598
+ * Implementation note: these are the same as Unicode code points,
599
+ * so this `PositionEncodingKind` may also be used for an
600
+ * encoding-agnostic representation of character offsets.
601
+ */
602
+ const UTF32: PositionEncodingKind;
603
+ }
604
+ /**
605
+ * A type indicating how positions are encoded,
606
+ * specifically what column offsets mean.
607
+ *
608
+ * @since 3.17.0
609
+ * @proposed
610
+ */
611
+ export declare type PositionEncodingKind = string;
554
612
  /**
555
613
  * General client capabilities.
556
614
  *
@@ -564,6 +622,7 @@ export interface GeneralClientCapabilities {
564
622
  * anymore since the information is outdated).
565
623
  *
566
624
  * @since 3.17.0
625
+ * @proposed
567
626
  */
568
627
  staleRequestSupport?: {
569
628
  /**
@@ -589,11 +648,33 @@ export interface GeneralClientCapabilities {
589
648
  * @since 3.16.0
590
649
  */
591
650
  markdown?: MarkdownClientCapabilities;
651
+ /**
652
+ * The position encodings supported by the client. Client and server
653
+ * have to agree on the same position encoding to ensure that offsets
654
+ * (e.g. character position in a line) are interpreted the same on both
655
+ * side.
656
+ *
657
+ * To keep the protocol backwards compatible the following applies: if
658
+ * the value 'utf-16' is missing from the array of position encodings
659
+ * servers can assume that the client supports UTF-16. UTF-16 is
660
+ * therefore a mandatory encoding.
661
+ *
662
+ * If omitted it defaults to ['utf-16'].
663
+ *
664
+ * Implementation considerations: since the conversion from one encoding
665
+ * into another requires the content of the file / line the conversion
666
+ * is best done where the file is read which is usually on the server
667
+ * side.
668
+ *
669
+ * @since 3.17.0
670
+ * @proposed
671
+ */
672
+ positionEncodings?: PositionEncodingKind[];
592
673
  }
593
674
  /**
594
675
  * Defines the capabilities provided by the client.
595
676
  */
596
- export interface _ClientCapabilities {
677
+ export interface ClientCapabilities {
597
678
  /**
598
679
  * Workspace specific client capabilities.
599
680
  */
@@ -617,7 +698,6 @@ export interface _ClientCapabilities {
617
698
  */
618
699
  experimental?: object;
619
700
  }
620
- export declare type ClientCapabilities = _ClientCapabilities & WorkspaceFoldersClientCapabilities & ConfigurationClientCapabilities & WorkDoneProgressClientCapabilities;
621
701
  /**
622
702
  * Static registration options to be returned in the initialize
623
703
  * request.
@@ -681,7 +761,22 @@ export declare namespace WorkDoneProgressOptions {
681
761
  * Defines the capabilities provided by a language
682
762
  * server.
683
763
  */
684
- export interface _ServerCapabilities<T = any> {
764
+ export interface ServerCapabilities<T = any> {
765
+ /**
766
+ * The position encoding the server picked from the encodings offered
767
+ * by the client via the client capability `general.positionEncodings`.
768
+ *
769
+ * If the client didn't provide any position encodings the only valid
770
+ * value that a server can return is 'utf-16'.
771
+ *
772
+ * If omitted it defaults to 'utf-16'.
773
+ *
774
+ * If for some reason
775
+ *
776
+ * @since 3.17.0
777
+ * @proposed
778
+ */
779
+ positionEncoding?: PositionEncodingKind;
685
780
  /**
686
781
  * Defines how text documents are synced. Is either a detailed structure defining each notification or
687
782
  * for backwards compatibility the TextDocumentSyncKind number.
@@ -797,17 +892,6 @@ export interface _ServerCapabilities<T = any> {
797
892
  * @since 3.16.0
798
893
  */
799
894
  semanticTokensProvider?: SemanticTokensOptions | SemanticTokensRegistrationOptions;
800
- /**
801
- * Window specific server capabilities.
802
- */
803
- workspace?: {
804
- /**
805
- * The server is interested in notifications/requests for operations on files.
806
- *
807
- * @since 3.16.0
808
- */
809
- fileOperations?: FileOperationOptions;
810
- };
811
895
  /**
812
896
  * The server provides moniker support.
813
897
  *
@@ -817,21 +901,46 @@ export interface _ServerCapabilities<T = any> {
817
901
  /**
818
902
  * The server provides type hierarchy support.
819
903
  *
820
- * @since 3.17.0 - proposed state
904
+ * @since 3.17.0
905
+ * @proposed
821
906
  */
822
907
  typeHierarchyProvider?: boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions;
823
908
  /**
824
909
  * The server provides inline values.
825
910
  *
826
- * @since 3.17.0 - proposed state
911
+ * @since 3.17.0
912
+ * @proposed
913
+ */
914
+ inlineValueProvider?: boolean | InlineValueOptions | InlineValueRegistrationOptions;
915
+ /**
916
+ * The server provides inlay hints.
917
+ *
918
+ * @since 3.17.0
919
+ * @proposed
920
+ */
921
+ inlayHintProvider?: boolean | InlayHintOptions | InlayHintRegistrationOptions;
922
+ /**
923
+ * Workspace specific server capabilities.
827
924
  */
828
- inlineValuesProvider?: boolean | InlineValuesOptions | InlineValuesRegistrationOptions;
925
+ workspace?: {
926
+ /**
927
+ * The server supports workspace folder.
928
+ *
929
+ * @since 3.6.0
930
+ */
931
+ workspaceFolders?: WorkspaceFoldersServerCapabilities;
932
+ /**
933
+ * The server is interested in notifications/requests for operations on files.
934
+ *
935
+ * @since 3.16.0
936
+ */
937
+ fileOperations?: FileOperationOptions;
938
+ };
829
939
  /**
830
940
  * Experimental server capabilities.
831
941
  */
832
942
  experimental?: T;
833
943
  }
834
- export declare type ServerCapabilities<T = any> = _ServerCapabilities<T> & WorkspaceFoldersServerCapabilities;
835
944
  /**
836
945
  * The initialize request is sent from the client to the server.
837
946
  * It is sent once as the request after starting up the server.
@@ -840,7 +949,7 @@ export declare type ServerCapabilities<T = any> = _ServerCapabilities<T> & Works
840
949
  * resolves to such.
841
950
  */
842
951
  export declare namespace InitializeRequest {
843
- const type: ProtocolRequestType<_InitializeParams & WorkspaceFoldersInitializeParams & WorkDoneProgressParams, InitializeResult<any>, never, InitializeError, void>;
952
+ const type: ProtocolRequestType<InitializeParams, InitializeResult<any>, never, InitializeError, void>;
844
953
  }
845
954
  /**
846
955
  * The initialize parameters
@@ -935,16 +1044,18 @@ export interface InitializeResult<T = any> {
935
1044
  [custom: string]: LSPAny | ServerCapabilities<T> | undefined; /** undefined is needed since serverInfo is optional */
936
1045
  }
937
1046
  /**
938
- * Known error codes for an `InitializeError`;
1047
+ * Known error codes for an `InitializeErrorCodes`;
939
1048
  */
940
- export declare namespace InitializeError {
1049
+ export declare namespace InitializeErrorCodes {
941
1050
  /**
942
1051
  * If the protocol version provided by the client can't be handled by the server.
1052
+ *
943
1053
  * @deprecated This initialize error got replaced by client capabilities. There is
944
1054
  * no version handshake in version 3.0x
945
1055
  */
946
1056
  const unknownProtocolVersion: 1;
947
1057
  }
1058
+ export declare type InitializeErrorCodes = 1;
948
1059
  /**
949
1060
  * The data type of the ResponseError if the
950
1061
  * initialize request fails.
@@ -1126,7 +1237,7 @@ export interface LogMessageParams {
1126
1237
  * the client to log telemetry data.
1127
1238
  */
1128
1239
  export declare namespace TelemetryEventNotification {
1129
- const type: ProtocolNotificationType<any, void>;
1240
+ const type: ProtocolNotificationType<LSPAny, void>;
1130
1241
  }
1131
1242
  export interface TextDocumentSyncClientCapabilities {
1132
1243
  /**
@@ -1411,6 +1522,13 @@ export interface DidChangeWatchedFilesClientCapabilities {
1411
1522
  * from the server side.
1412
1523
  */
1413
1524
  dynamicRegistration?: boolean;
1525
+ /**
1526
+ * Whether the client has support for {@link RelativePattern relative pattern}
1527
+ * or not.
1528
+ *
1529
+ * @since 3.17.0
1530
+ */
1531
+ relativePatternSupport?: boolean;
1414
1532
  }
1415
1533
  /**
1416
1534
  * The watched files notification is sent from the client to the server when
@@ -1468,17 +1586,52 @@ export interface DidChangeWatchedFilesRegistrationOptions {
1468
1586
  */
1469
1587
  watchers: FileSystemWatcher[];
1470
1588
  }
1589
+ /**
1590
+ * The glob pattern to watch relative to the base path. Glob patterns can have the following syntax:
1591
+ * - `*` to match one or more characters in a path segment
1592
+ * - `?` to match on one character in a path segment
1593
+ * - `**` to match any number of path segments, including none
1594
+ * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1595
+ * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1596
+ * - `[!...]` 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`)
1597
+ *
1598
+ * @since 3.17.0
1599
+ */
1600
+ export declare type Pattern = string;
1601
+ /**
1602
+ * A relative pattern is a helper to construct glob patterns that are matched
1603
+ * relatively to a base URI. The common value for a `baseUri` is a workspace
1604
+ * folder root, but it can be another absolute URI as well.
1605
+ *
1606
+ * @since 3.17.0
1607
+ */
1608
+ export interface RelativePattern {
1609
+ /**
1610
+ * A workspace folder or a base URI to which this pattern will be matched
1611
+ * against relatively.
1612
+ */
1613
+ baseUri: WorkspaceFolder | URI;
1614
+ /**
1615
+ * The actual glob pattern;
1616
+ */
1617
+ pattern: Pattern;
1618
+ }
1619
+ export declare namespace RelativePattern {
1620
+ function is(value: any): value is RelativePattern;
1621
+ }
1622
+ /**
1623
+ * The glob pattern. Either a string pattern or a relative pattern.
1624
+ *
1625
+ * @since 3.17.0
1626
+ */
1627
+ export declare type GlobPattern = Pattern | RelativePattern;
1471
1628
  export interface FileSystemWatcher {
1472
1629
  /**
1473
- * The glob pattern to watch. Glob patterns can have the following syntax:
1474
- * - `*` to match one or more characters in a path segment
1475
- * - `?` to match on one character in a path segment
1476
- * - `**` to match any number of path segments, including none
1477
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1478
- * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1479
- * - `[!...]` 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`)
1630
+ * The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
1631
+ *
1632
+ * @since 3.17.0 support for relative patterns.
1480
1633
  */
1481
- globPattern: string;
1634
+ globPattern: GlobPattern;
1482
1635
  /**
1483
1636
  * The kind of events of interest. If omitted it defaults
1484
1637
  * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
@@ -1607,9 +1760,6 @@ export interface CompletionClientCapabilities {
1607
1760
  * Client supports the preselect property on a completion item.
1608
1761
  */
1609
1762
  preselectSupport?: boolean;
1610
- /**
1611
- * Client supports to kee
1612
- */
1613
1763
  /**
1614
1764
  * Client supports the tag property on a completion item. Clients supporting
1615
1765
  * tags have to handle unknown tags gracefully. Clients especially need to
@@ -1658,7 +1808,8 @@ export interface CompletionClientCapabilities {
1658
1808
  * The client has support for completion item label
1659
1809
  * details (see also `CompletionItemLabelDetails`).
1660
1810
  *
1661
- * @since 3.17.0 - proposed state
1811
+ * @since 3.17.0
1812
+ * @proposed
1662
1813
  */
1663
1814
  labelDetailsSupport?: boolean;
1664
1815
  };
@@ -1680,7 +1831,8 @@ export interface CompletionClientCapabilities {
1680
1831
  * when accepting a completion item that uses multi line
1681
1832
  * text in either `insertText` or `textEdit`.
1682
1833
  *
1683
- * @since 3.17.0 - proposed state
1834
+ * @since 3.17.0
1835
+ * @proposed
1684
1836
  */
1685
1837
  insertTextMode?: InsertTextMode;
1686
1838
  /**
@@ -1692,7 +1844,8 @@ export interface CompletionClientCapabilities {
1692
1844
  * The client supports the following `CompletionList` specific
1693
1845
  * capabilities.
1694
1846
  *
1695
- * @since 3.17.0 - proposed state
1847
+ * @since 3.17.0
1848
+ * @proposed
1696
1849
  */
1697
1850
  completionList?: {
1698
1851
  /**
@@ -1703,7 +1856,8 @@ export interface CompletionClientCapabilities {
1703
1856
  * `CompletionList.itemDefaults` object. If omitted
1704
1857
  * no properties are supported.
1705
1858
  *
1706
- * @since 3.17.0 - proposed state
1859
+ * @since 3.17.0
1860
+ * @proposed
1707
1861
  */
1708
1862
  itemDefaults?: string[];
1709
1863
  };
@@ -1787,7 +1941,8 @@ export interface CompletionOptions extends WorkDoneProgressOptions {
1787
1941
  * The server supports the following `CompletionItem` specific
1788
1942
  * capabilities.
1789
1943
  *
1790
- * @since 3.17.0 - proposed state
1944
+ * @since 3.17.0
1945
+ * @proposed
1791
1946
  */
1792
1947
  completionItem?: {
1793
1948
  /**
@@ -1795,7 +1950,8 @@ export interface CompletionOptions extends WorkDoneProgressOptions {
1795
1950
  * details (see also `CompletionItemLabelDetails`) when
1796
1951
  * receiving a completion item in a resolve call.
1797
1952
  *
1798
- * @since 3.17.0 - proposed state
1953
+ * @since 3.17.0
1954
+ * @proposed
1799
1955
  */
1800
1956
  labelDetailsSupport?: boolean;
1801
1957
  };
@@ -2396,7 +2552,8 @@ export interface WorkspaceSymbolOptions extends WorkDoneProgressOptions {
2396
2552
  * The server provides support to resolve additional
2397
2553
  * information for a workspace symbol.
2398
2554
  *
2399
- * @since 3.17.0 - proposed state
2555
+ * @since 3.17.0
2556
+ * @proposed
2400
2557
  */
2401
2558
  resolveProvider?: boolean;
2402
2559
  }
@@ -2424,7 +2581,8 @@ export declare namespace WorkspaceSymbolRequest {
2424
2581
  * A request to resolve the range inside the workspace
2425
2582
  * symbol's location.
2426
2583
  *
2427
- * @since 3.17.0 - proposed state
2584
+ * @since 3.17.0
2585
+ * @proposed
2428
2586
  */
2429
2587
  export declare namespace WorkspaceSymbolResolveRequest {
2430
2588
  const method: 'workspaceSymbol/resolve';
@@ -2654,11 +2812,16 @@ export interface DocumentOnTypeFormattingParams {
2654
2812
  */
2655
2813
  textDocument: TextDocumentIdentifier;
2656
2814
  /**
2657
- * The position at which this request was send.
2815
+ * The position around which the on type formatting should happen.
2816
+ * This is not necessarily the exact position where the character denoted
2817
+ * by the property `ch` got typed.
2658
2818
  */
2659
2819
  position: Position;
2660
2820
  /**
2661
- * The character that has been typed.
2821
+ * The character that has been typed that triggered the formatting
2822
+ * on type request. That is not necessarily the last character that
2823
+ * got inserted into the document since the client could auto insert
2824
+ * characters as well (e.g. like automatic brace completion).
2662
2825
  */
2663
2826
  ch: string;
2664
2827
  /**
@@ -2671,7 +2834,7 @@ export interface DocumentOnTypeFormattingParams {
2671
2834
  */
2672
2835
  export interface DocumentOnTypeFormattingOptions {
2673
2836
  /**
2674
- * A character on which formatting should be triggered, like `}`.
2837
+ * A character on which formatting should be triggered, like `{}`.
2675
2838
  */
2676
2839
  firstTriggerCharacter: string;
2677
2840
  /**
@@ -2775,6 +2938,12 @@ export declare namespace RenameRequest {
2775
2938
  }
2776
2939
  export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDoneProgressParams {
2777
2940
  }
2941
+ export declare type PrepareRenameResult = Range | {
2942
+ range: Range;
2943
+ placeholder: string;
2944
+ } | {
2945
+ defaultBehavior: boolean;
2946
+ };
2778
2947
  /**
2779
2948
  * A request to test and perform the setup necessary for a rename.
2780
2949
  *
@@ -2782,12 +2951,7 @@ export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDon
2782
2951
  */
2783
2952
  export declare namespace PrepareRenameRequest {
2784
2953
  const method: 'textDocument/prepareRename';
2785
- const type: ProtocolRequestType<PrepareRenameParams, Range | {
2786
- range: Range;
2787
- placeholder: string;
2788
- } | {
2789
- defaultBehavior: boolean;
2790
- } | null, never, void, void>;
2954
+ const type: ProtocolRequestType<PrepareRenameParams, PrepareRenameResult | null, never, void, void>;
2791
2955
  }
2792
2956
  /**
2793
2957
  * The client capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
@@ -2830,7 +2994,7 @@ export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions
2830
2994
  * a workspace edit which the client will apply to the workspace.
2831
2995
  */
2832
2996
  export declare namespace ExecuteCommandRequest {
2833
- const type: ProtocolRequestType<ExecuteCommandParams, void | LSPAny, never, void, ExecuteCommandRegistrationOptions>;
2997
+ const type: ProtocolRequestType<ExecuteCommandParams, LSPAny, never, void, ExecuteCommandRegistrationOptions>;
2834
2998
  }
2835
2999
  export interface WorkspaceEditClientCapabilities {
2836
3000
  /**
@@ -2924,5 +3088,5 @@ export declare type ApplyWorkspaceEditResponse = ApplyWorkspaceEditResult;
2924
3088
  export declare namespace ApplyWorkspaceEditRequest {
2925
3089
  const type: ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResult, never, void, void>;
2926
3090
  }
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, };
3091
+ export { ImplementationRequest, ImplementationParams, ImplementationRegistrationOptions, ImplementationOptions, TypeDefinitionRequest, TypeDefinitionParams, TypeDefinitionRegistrationOptions, TypeDefinitionOptions, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, 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, TypeHierarchyClientCapabilities, TypeHierarchyOptions, TypeHierarchyRegistrationOptions, TypeHierarchyPrepareParams, TypeHierarchyPrepareRequest, TypeHierarchySubtypesParams, TypeHierarchySubtypesRequest, TypeHierarchySupertypesParams, TypeHierarchySupertypesRequest, InlineValueClientCapabilities, InlineValueOptions, InlineValueRegistrationOptions, InlineValueWorkspaceClientCapabilities, InlineValueParams, InlineValueRequest, InlineValueRefreshRequest, InlayHintClientCapabilities, InlayHintOptions, InlayHintRegistrationOptions, InlayHintWorkspaceClientCapabilities, InlayHintParams, InlayHintRequest, InlayHintResolveRequest, InlayHintRefreshRequest, };
2928
3092
  export { DocumentColorOptions as ColorProviderOptions, DocumentColorOptions as ColorOptions, FoldingRangeOptions as FoldingRangeProviderOptions, SelectionRangeOptions as SelectionRangeProviderOptions, DocumentColorRegistrationOptions as ColorRegistrationOptions };