vscode-languageserver-protocol 3.17.0-next.16 → 3.17.0-next.19

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 (30) hide show
  1. package/lib/common/api.d.ts +0 -52
  2. package/lib/common/api.js +1 -19
  3. package/lib/common/connection.d.ts +26 -2
  4. package/lib/common/protocol.$.d.ts +8 -0
  5. package/lib/common/protocol.$.js +19 -0
  6. package/lib/common/protocol.d.ts +250 -50
  7. package/lib/common/{proposed.diagnostic.d.ts → protocol.diagnostic.d.ts} +79 -38
  8. package/lib/common/{proposed.diagnostic.js → protocol.diagnostic.js} +13 -8
  9. package/lib/common/protocol.foldingRange.d.ts +42 -26
  10. package/lib/common/protocol.foldingRange.js +1 -19
  11. package/lib/common/protocol.implementation.d.ts +1 -1
  12. package/lib/common/protocol.implementation.js +2 -2
  13. package/lib/common/protocol.inlayHint.d.ts +17 -9
  14. package/lib/common/protocol.inlayHint.js +6 -3
  15. package/lib/common/protocol.inlineValue.d.ts +15 -8
  16. package/lib/common/protocol.inlineValue.js +4 -2
  17. package/lib/common/protocol.js +71 -12
  18. package/lib/common/protocol.linkedEditingRange.d.ts +1 -1
  19. package/lib/common/protocol.moniker.d.ts +12 -10
  20. package/lib/common/protocol.moniker.js +8 -8
  21. package/lib/common/{proposed.notebook.d.ts → protocol.notebook.d.ts} +34 -37
  22. package/lib/common/{proposed.notebook.js → protocol.notebook.js} +9 -5
  23. package/lib/common/protocol.progress.d.ts +2 -0
  24. package/lib/common/protocol.progress.js +4 -2
  25. package/lib/common/protocol.selectionRange.d.ts +1 -1
  26. package/lib/common/protocol.typeHierarchy.d.ts +18 -9
  27. package/lib/common/protocol.typeHierarchy.js +6 -3
  28. package/lib/common/protocol.workspaceFolder.d.ts +1 -11
  29. package/metaModel.schema.json +705 -0
  30. package/package.json +3 -3
@@ -1,9 +1,9 @@
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, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolder';
6
+ import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolder';
7
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';
@@ -19,6 +19,8 @@ import { UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, Monik
19
19
  import { TypeHierarchyClientCapabilities, TypeHierarchyOptions, TypeHierarchyRegistrationOptions, TypeHierarchyPrepareParams, TypeHierarchyPrepareRequest, TypeHierarchySubtypesParams, TypeHierarchySubtypesRequest, TypeHierarchySupertypesParams, TypeHierarchySupertypesRequest } from './protocol.typeHierarchy';
20
20
  import { InlineValueClientCapabilities, InlineValueOptions, InlineValueRegistrationOptions, InlineValueWorkspaceClientCapabilities, InlineValueParams, InlineValueRequest, InlineValueRefreshRequest } from './protocol.inlineValue';
21
21
  import { InlayHintClientCapabilities, InlayHintOptions, InlayHintRegistrationOptions, InlayHintWorkspaceClientCapabilities, InlayHintParams, InlayHintRequest, InlayHintResolveRequest, InlayHintRefreshRequest } from './protocol.inlayHint';
22
+ import { DiagnosticClientCapabilities, DiagnosticOptions, DiagnosticRegistrationOptions, DiagnosticServerCancellationData, DocumentDiagnosticParams, DocumentDiagnosticReportKind, FullDocumentDiagnosticReport, RelatedFullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport, RelatedUnchangedDocumentDiagnosticReport, DocumentDiagnosticReport, DocumentDiagnosticReportPartialResult, DocumentDiagnosticRequest, PreviousResultId, WorkspaceDiagnosticParams, WorkspaceFullDocumentDiagnosticReport, WorkspaceUnchangedDocumentDiagnosticReport, WorkspaceDocumentDiagnosticReport, WorkspaceDiagnosticReport, WorkspaceDiagnosticReportPartialResult, WorkspaceDiagnosticRequest, DiagnosticRefreshRequest, DiagnosticWorkspaceClientCapabilities } from './protocol.diagnostic';
23
+ import { NotebookDocumentSyncClientCapabilities, NotebookCellKind, ExecutionSummary, NotebookCell, NotebookDocument, NotebookDocumentIdentifier, VersionedNotebookDocumentIdentifier, NotebookDocumentSyncOptions, NotebookDocumentSyncRegistrationOptions, NotebookDocumentSyncRegistrationType, DidOpenNotebookDocumentParams, DidOpenNotebookDocumentNotification, NotebookCellArrayChange, NotebookDocumentChangeEvent, DidChangeNotebookDocumentParams, DidChangeNotebookDocumentNotification, DidSaveNotebookDocumentParams, DidSaveNotebookDocumentNotification, DidCloseNotebookDocumentParams, DidCloseNotebookDocumentNotification } from './protocol.notebook';
22
24
  /**
23
25
  * A document filter denotes a document by different properties like
24
26
  * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
@@ -35,7 +37,8 @@ import { InlayHintClientCapabilities, InlayHintOptions, InlayHintRegistrationOpt
35
37
  * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
36
38
  * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
37
39
  *
38
- * @since 3.17.0 - proposed state.
40
+ * @since 3.17.0
41
+ * @proposed
39
42
  */
40
43
  export declare type TextDocumentFilter = {
41
44
  /** A language id, like `typescript`. */
@@ -63,7 +66,8 @@ export declare type TextDocumentFilter = {
63
66
  * The TextDocumentFilter namespace provides helper functions to work with
64
67
  * [TextDocumentFilter](#TextDocumentFilter) literals.
65
68
  *
66
- * @since 3.17.0 - proposed state.
69
+ * @since 3.17.0
70
+ * @proposed
67
71
  */
68
72
  export declare namespace TextDocumentFilter {
69
73
  function is(value: any): value is TextDocumentFilter;
@@ -73,7 +77,8 @@ export declare namespace TextDocumentFilter {
73
77
  * different properties. The properties will be match
74
78
  * against the notebook's URI (same as with documents)
75
79
  *
76
- * @since 3.17.0 - proposed state.
80
+ * @since 3.17.0
81
+ * @proposed
77
82
  */
78
83
  export declare type NotebookDocumentFilter = {
79
84
  /** The type of the enclosing notebook. */
@@ -101,7 +106,8 @@ export declare type NotebookDocumentFilter = {
101
106
  * The NotebookDocumentFilter namespace provides helper functions to work with
102
107
  * [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
103
108
  *
104
- * @since 3.17.0 - proposed state.
109
+ * @since 3.17.0
110
+ * @proposed
105
111
  */
106
112
  export declare namespace NotebookDocumentFilter {
107
113
  function is(value: any): value is NotebookDocumentFilter;
@@ -110,7 +116,8 @@ export declare namespace NotebookDocumentFilter {
110
116
  * A notebook cell text document filter denotes a cell text
111
117
  * document by different properties.
112
118
  *
113
- * @since 3.17.0 - proposed state.
119
+ * @since 3.17.0
120
+ * @proposed
114
121
  */
115
122
  export declare type NotebookCellTextDocumentFilter = {
116
123
  /**
@@ -132,7 +139,8 @@ export declare type NotebookCellTextDocumentFilter = {
132
139
  * The NotebookCellTextDocumentFilter namespace provides helper functions to work with
133
140
  * [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
134
141
  *
135
- * @since 3.17.0 - proposed state.
142
+ * @since 3.17.0
143
+ * @proposed
136
144
  */
137
145
  export declare namespace NotebookCellTextDocumentFilter {
138
146
  function is(value: any): value is NotebookCellTextDocumentFilter;
@@ -347,6 +355,7 @@ export interface WorkspaceClientCapabilities {
347
355
  * workspace.
348
356
  *
349
357
  * @since 3.17.0.
358
+ * @proposed
350
359
  */
351
360
  inlineValue?: InlineValueWorkspaceClientCapabilities;
352
361
  /**
@@ -354,8 +363,17 @@ export interface WorkspaceClientCapabilities {
354
363
  * workspace.
355
364
  *
356
365
  * @since 3.17.0.
366
+ * @proposed
357
367
  */
358
368
  inlayHint?: InlayHintWorkspaceClientCapabilities;
369
+ /**
370
+ * Capabilities specific to the diagnostic requests scoped to the
371
+ * workspace.
372
+ *
373
+ * @since 3.17.0.
374
+ * @proposed
375
+ */
376
+ diagnostics?: DiagnosticWorkspaceClientCapabilities;
359
377
  }
360
378
  /**
361
379
  * Text document specific client capabilities.
@@ -486,21 +504,31 @@ export interface TextDocumentClientCapabilities {
486
504
  /**
487
505
  * Capabilities specific to the various type hierarchy requests.
488
506
  *
489
- * @since 3.17.0 - proposed state
507
+ * @since 3.17.0
508
+ * @proposed
490
509
  */
491
510
  typeHierarchy?: TypeHierarchyClientCapabilities;
492
511
  /**
493
512
  * Capabilities specific to the `textDocument/inlineValue` request.
494
513
  *
495
- * @since 3.17.0 - proposed state
514
+ * @since 3.17.0
515
+ * @proposed
496
516
  */
497
517
  inlineValue?: InlineValueClientCapabilities;
498
518
  /**
499
519
  * Capabilities specific to the `textDocument/inlayHint` request.
500
520
  *
501
- * @since 3.17.0 - proposed state
521
+ * @since 3.17.0
522
+ * @proposed
502
523
  */
503
524
  inlayHint?: InlayHintClientCapabilities;
525
+ /**
526
+ * Capabilities specific to the diagnostic pull model.
527
+ *
528
+ * @since 3.17.0
529
+ * @proposed
530
+ */
531
+ diagnostic?: DiagnosticClientCapabilities;
504
532
  }
505
533
  export interface WindowClientCapabilities {
506
534
  /**
@@ -565,6 +593,41 @@ export interface MarkdownClientCapabilities {
565
593
  */
566
594
  allowedTags?: string[];
567
595
  }
596
+ /**
597
+ * A set of predefined position encoding kinds.
598
+ *
599
+ * @since 3.17.0
600
+ * @proposed
601
+ */
602
+ export declare namespace PositionEncodingKind {
603
+ /**
604
+ * Character offsets count UTF-8 code units.
605
+ */
606
+ const UTF8: PositionEncodingKind;
607
+ /**
608
+ * Character offsets count UTF-16 code units.
609
+ *
610
+ * This is the default and must always be supported
611
+ * by servers
612
+ */
613
+ const UTF16: PositionEncodingKind;
614
+ /**
615
+ * Character offsets count UTF-32 code units.
616
+ *
617
+ * Implementation note: these are the same as Unicode code points,
618
+ * so this `PositionEncodingKind` may also be used for an
619
+ * encoding-agnostic representation of character offsets.
620
+ */
621
+ const UTF32: PositionEncodingKind;
622
+ }
623
+ /**
624
+ * A type indicating how positions are encoded,
625
+ * specifically what column offsets mean.
626
+ *
627
+ * @since 3.17.0
628
+ * @proposed
629
+ */
630
+ export declare type PositionEncodingKind = string;
568
631
  /**
569
632
  * General client capabilities.
570
633
  *
@@ -578,6 +641,7 @@ export interface GeneralClientCapabilities {
578
641
  * anymore since the information is outdated).
579
642
  *
580
643
  * @since 3.17.0
644
+ * @proposed
581
645
  */
582
646
  staleRequestSupport?: {
583
647
  /**
@@ -603,6 +667,43 @@ export interface GeneralClientCapabilities {
603
667
  * @since 3.16.0
604
668
  */
605
669
  markdown?: MarkdownClientCapabilities;
670
+ /**
671
+ * The position encodings supported by the client. Client and server
672
+ * have to agree on the same position encoding to ensure that offsets
673
+ * (e.g. character position in a line) are interpreted the same on both
674
+ * side.
675
+ *
676
+ * To keep the protocol backwards compatible the following applies: if
677
+ * the value 'utf-16' is missing from the array of position encodings
678
+ * servers can assume that the client supports UTF-16. UTF-16 is
679
+ * therefore a mandatory encoding.
680
+ *
681
+ * If omitted it defaults to ['utf-16'].
682
+ *
683
+ * Implementation considerations: since the conversion from one encoding
684
+ * into another requires the content of the file / line the conversion
685
+ * is best done where the file is read which is usually on the server
686
+ * side.
687
+ *
688
+ * @since 3.17.0
689
+ * @proposed
690
+ */
691
+ positionEncodings?: PositionEncodingKind[];
692
+ }
693
+ /**
694
+ * Capabilities specific to the notebook document support.
695
+ *
696
+ * @since 3.17.0
697
+ * @proposed
698
+ */
699
+ export interface NotebookDocumentClientCapabilities {
700
+ /**
701
+ * Capabilities specific to notebook document synchronization
702
+ *
703
+ * @since 3.17.0
704
+ * @proposed
705
+ */
706
+ synchronization: NotebookDocumentSyncClientCapabilities;
606
707
  }
607
708
  /**
608
709
  * Defines the capabilities provided by the client.
@@ -616,6 +717,13 @@ export interface ClientCapabilities {
616
717
  * Text document specific client capabilities.
617
718
  */
618
719
  textDocument?: TextDocumentClientCapabilities;
720
+ /**
721
+ * Capabilities specific to the notebook document support.
722
+ *
723
+ * @since 3.17.0
724
+ * @proposed
725
+ */
726
+ notebookDocument?: NotebookDocumentClientCapabilities;
619
727
  /**
620
728
  * Window specific client capabilities.
621
729
  */
@@ -696,10 +804,33 @@ export declare namespace WorkDoneProgressOptions {
696
804
  */
697
805
  export interface ServerCapabilities<T = any> {
698
806
  /**
699
- * Defines how text documents are synced. Is either a detailed structure defining each notification or
700
- * for backwards compatibility the TextDocumentSyncKind number.
807
+ * The position encoding the server picked from the encodings offered
808
+ * by the client via the client capability `general.positionEncodings`.
809
+ *
810
+ * If the client didn't provide any position encodings the only valid
811
+ * value that a server can return is 'utf-16'.
812
+ *
813
+ * If omitted it defaults to 'utf-16'.
814
+ *
815
+ * If for some reason
816
+ *
817
+ * @since 3.17.0
818
+ * @proposed
819
+ */
820
+ positionEncoding?: PositionEncodingKind;
821
+ /**
822
+ * Defines how text documents are synced. Is either a detailed structure
823
+ * defining each notification or for backwards compatibility the
824
+ * TextDocumentSyncKind number.
701
825
  */
702
826
  textDocumentSync?: TextDocumentSyncOptions | TextDocumentSyncKind;
827
+ /**
828
+ * Defines how notebook documents are synced.
829
+ *
830
+ * @since 3.17.0
831
+ * @proposed
832
+ */
833
+ notebookDocumentSync?: NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions;
703
834
  /**
704
835
  * The server provides completion support.
705
836
  */
@@ -819,21 +950,31 @@ export interface ServerCapabilities<T = any> {
819
950
  /**
820
951
  * The server provides type hierarchy support.
821
952
  *
822
- * @since 3.17.0 - proposed state
953
+ * @since 3.17.0
954
+ * @proposed
823
955
  */
824
956
  typeHierarchyProvider?: boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions;
825
957
  /**
826
958
  * The server provides inline values.
827
959
  *
828
- * @since 3.17.0 - proposed state
960
+ * @since 3.17.0
961
+ * @proposed
829
962
  */
830
963
  inlineValueProvider?: boolean | InlineValueOptions | InlineValueRegistrationOptions;
831
964
  /**
832
965
  * The server provides inlay hints.
833
966
  *
834
- * @since 3.17.0 - proposed state
967
+ * @since 3.17.0
968
+ * @proposed
835
969
  */
836
970
  inlayHintProvider?: boolean | InlayHintOptions | InlayHintRegistrationOptions;
971
+ /**
972
+ * The server has support for pull model diagnostics.
973
+ *
974
+ * @since 3.17.0
975
+ * @proposed
976
+ */
977
+ diagnosticProvider?: DiagnosticOptions | DiagnosticRegistrationOptions;
837
978
  /**
838
979
  * Workspace specific server capabilities.
839
980
  */
@@ -864,7 +1005,7 @@ export interface ServerCapabilities<T = any> {
864
1005
  * resolves to such.
865
1006
  */
866
1007
  export declare namespace InitializeRequest {
867
- const type: ProtocolRequestType<_InitializeParams & WorkspaceFoldersInitializeParams & WorkDoneProgressParams, InitializeResult<any>, never, InitializeError, void>;
1008
+ const type: ProtocolRequestType<InitializeParams, InitializeResult<any>, never, InitializeError, void>;
868
1009
  }
869
1010
  /**
870
1011
  * The initialize parameters
@@ -959,16 +1100,18 @@ export interface InitializeResult<T = any> {
959
1100
  [custom: string]: LSPAny | ServerCapabilities<T> | undefined; /** undefined is needed since serverInfo is optional */
960
1101
  }
961
1102
  /**
962
- * Known error codes for an `InitializeError`;
1103
+ * Known error codes for an `InitializeErrorCodes`;
963
1104
  */
964
- export declare namespace InitializeError {
1105
+ export declare namespace InitializeErrorCodes {
965
1106
  /**
966
1107
  * If the protocol version provided by the client can't be handled by the server.
1108
+ *
967
1109
  * @deprecated This initialize error got replaced by client capabilities. There is
968
1110
  * no version handshake in version 3.0x
969
1111
  */
970
1112
  const unknownProtocolVersion: 1;
971
1113
  }
1114
+ export declare type InitializeErrorCodes = 1;
972
1115
  /**
973
1116
  * The data type of the ResponseError if the
974
1117
  * initialize request fails.
@@ -1150,7 +1293,7 @@ export interface LogMessageParams {
1150
1293
  * the client to log telemetry data.
1151
1294
  */
1152
1295
  export declare namespace TelemetryEventNotification {
1153
- const type: ProtocolNotificationType<any, void>;
1296
+ const type: ProtocolNotificationType<LSPAny, void>;
1154
1297
  }
1155
1298
  export interface TextDocumentSyncClientCapabilities {
1156
1299
  /**
@@ -1245,8 +1388,8 @@ export declare namespace DidOpenTextDocumentNotification {
1245
1388
  const type: ProtocolNotificationType<DidOpenTextDocumentParams, TextDocumentRegistrationOptions>;
1246
1389
  }
1247
1390
  /**
1248
- * An event describing a change to a text document. If range and rangeLength are omitted
1249
- * the new text is considered to be the full content of the document.
1391
+ * An event describing a change to a text document. If only a text is provided
1392
+ * it is considered to be the full content of the document.
1250
1393
  */
1251
1394
  export declare type TextDocumentContentChangeEvent = {
1252
1395
  /**
@@ -1435,6 +1578,13 @@ export interface DidChangeWatchedFilesClientCapabilities {
1435
1578
  * from the server side.
1436
1579
  */
1437
1580
  dynamicRegistration?: boolean;
1581
+ /**
1582
+ * Whether the client has support for {@link RelativePattern relative pattern}
1583
+ * or not.
1584
+ *
1585
+ * @since 3.17.0
1586
+ */
1587
+ relativePatternSupport?: boolean;
1438
1588
  }
1439
1589
  /**
1440
1590
  * The watched files notification is sent from the client to the server when
@@ -1492,17 +1642,52 @@ export interface DidChangeWatchedFilesRegistrationOptions {
1492
1642
  */
1493
1643
  watchers: FileSystemWatcher[];
1494
1644
  }
1645
+ /**
1646
+ * The glob pattern to watch relative to the base path. Glob patterns can have the following syntax:
1647
+ * - `*` to match one or more characters in a path segment
1648
+ * - `?` to match on one character in a path segment
1649
+ * - `**` to match any number of path segments, including none
1650
+ * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1651
+ * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1652
+ * - `[!...]` 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`)
1653
+ *
1654
+ * @since 3.17.0
1655
+ */
1656
+ export declare type Pattern = string;
1657
+ /**
1658
+ * A relative pattern is a helper to construct glob patterns that are matched
1659
+ * relatively to a base URI. The common value for a `baseUri` is a workspace
1660
+ * folder root, but it can be another absolute URI as well.
1661
+ *
1662
+ * @since 3.17.0
1663
+ */
1664
+ export interface RelativePattern {
1665
+ /**
1666
+ * A workspace folder or a base URI to which this pattern will be matched
1667
+ * against relatively.
1668
+ */
1669
+ baseUri: WorkspaceFolder | URI;
1670
+ /**
1671
+ * The actual glob pattern;
1672
+ */
1673
+ pattern: Pattern;
1674
+ }
1675
+ export declare namespace RelativePattern {
1676
+ function is(value: any): value is RelativePattern;
1677
+ }
1678
+ /**
1679
+ * The glob pattern. Either a string pattern or a relative pattern.
1680
+ *
1681
+ * @since 3.17.0
1682
+ */
1683
+ export declare type GlobPattern = Pattern | RelativePattern;
1495
1684
  export interface FileSystemWatcher {
1496
1685
  /**
1497
- * The glob pattern to watch. Glob patterns can have the following syntax:
1498
- * - `*` to match one or more characters in a path segment
1499
- * - `?` to match on one character in a path segment
1500
- * - `**` to match any number of path segments, including none
1501
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1502
- * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1503
- * - `[!...]` 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`)
1686
+ * The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
1687
+ *
1688
+ * @since 3.17.0 support for relative patterns.
1504
1689
  */
1505
- globPattern: string;
1690
+ globPattern: GlobPattern;
1506
1691
  /**
1507
1692
  * The kind of events of interest. If omitted it defaults
1508
1693
  * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
@@ -1679,7 +1864,8 @@ export interface CompletionClientCapabilities {
1679
1864
  * The client has support for completion item label
1680
1865
  * details (see also `CompletionItemLabelDetails`).
1681
1866
  *
1682
- * @since 3.17.0 - proposed state
1867
+ * @since 3.17.0
1868
+ * @proposed
1683
1869
  */
1684
1870
  labelDetailsSupport?: boolean;
1685
1871
  };
@@ -1701,7 +1887,8 @@ export interface CompletionClientCapabilities {
1701
1887
  * when accepting a completion item that uses multi line
1702
1888
  * text in either `insertText` or `textEdit`.
1703
1889
  *
1704
- * @since 3.17.0 - proposed state
1890
+ * @since 3.17.0
1891
+ * @proposed
1705
1892
  */
1706
1893
  insertTextMode?: InsertTextMode;
1707
1894
  /**
@@ -1713,7 +1900,8 @@ export interface CompletionClientCapabilities {
1713
1900
  * The client supports the following `CompletionList` specific
1714
1901
  * capabilities.
1715
1902
  *
1716
- * @since 3.17.0 - proposed state
1903
+ * @since 3.17.0
1904
+ * @proposed
1717
1905
  */
1718
1906
  completionList?: {
1719
1907
  /**
@@ -1724,7 +1912,8 @@ export interface CompletionClientCapabilities {
1724
1912
  * `CompletionList.itemDefaults` object. If omitted
1725
1913
  * no properties are supported.
1726
1914
  *
1727
- * @since 3.17.0 - proposed state
1915
+ * @since 3.17.0
1916
+ * @proposed
1728
1917
  */
1729
1918
  itemDefaults?: string[];
1730
1919
  };
@@ -1808,7 +1997,8 @@ export interface CompletionOptions extends WorkDoneProgressOptions {
1808
1997
  * The server supports the following `CompletionItem` specific
1809
1998
  * capabilities.
1810
1999
  *
1811
- * @since 3.17.0 - proposed state
2000
+ * @since 3.17.0
2001
+ * @proposed
1812
2002
  */
1813
2003
  completionItem?: {
1814
2004
  /**
@@ -1816,7 +2006,8 @@ export interface CompletionOptions extends WorkDoneProgressOptions {
1816
2006
  * details (see also `CompletionItemLabelDetails`) when
1817
2007
  * receiving a completion item in a resolve call.
1818
2008
  *
1819
- * @since 3.17.0 - proposed state
2009
+ * @since 3.17.0
2010
+ * @proposed
1820
2011
  */
1821
2012
  labelDetailsSupport?: boolean;
1822
2013
  };
@@ -2389,7 +2580,8 @@ export interface WorkspaceSymbolClientCapabilities {
2389
2580
  * request `workspaceSymbol/resolve` to the server to resolve additional
2390
2581
  * properties.
2391
2582
  *
2392
- * @since 3.17.0 - proposedState
2583
+ * @since 3.17.0
2584
+ * @proposed
2393
2585
  */
2394
2586
  resolveSupport?: {
2395
2587
  /**
@@ -2417,7 +2609,8 @@ export interface WorkspaceSymbolOptions extends WorkDoneProgressOptions {
2417
2609
  * The server provides support to resolve additional
2418
2610
  * information for a workspace symbol.
2419
2611
  *
2420
- * @since 3.17.0 - proposed state
2612
+ * @since 3.17.0
2613
+ * @proposed
2421
2614
  */
2422
2615
  resolveProvider?: boolean;
2423
2616
  }
@@ -2445,7 +2638,8 @@ export declare namespace WorkspaceSymbolRequest {
2445
2638
  * A request to resolve the range inside the workspace
2446
2639
  * symbol's location.
2447
2640
  *
2448
- * @since 3.17.0 - proposed state
2641
+ * @since 3.17.0
2642
+ * @proposed
2449
2643
  */
2450
2644
  export declare namespace WorkspaceSymbolResolveRequest {
2451
2645
  const method: 'workspaceSymbol/resolve';
@@ -2675,11 +2869,16 @@ export interface DocumentOnTypeFormattingParams {
2675
2869
  */
2676
2870
  textDocument: TextDocumentIdentifier;
2677
2871
  /**
2678
- * The position at which this request was send.
2872
+ * The position around which the on type formatting should happen.
2873
+ * This is not necessarily the exact position where the character denoted
2874
+ * by the property `ch` got typed.
2679
2875
  */
2680
2876
  position: Position;
2681
2877
  /**
2682
- * The character that has been typed.
2878
+ * The character that has been typed that triggered the formatting
2879
+ * on type request. That is not necessarily the last character that
2880
+ * got inserted into the document since the client could auto insert
2881
+ * characters as well (e.g. like automatic brace completion).
2683
2882
  */
2684
2883
  ch: string;
2685
2884
  /**
@@ -2692,7 +2891,7 @@ export interface DocumentOnTypeFormattingParams {
2692
2891
  */
2693
2892
  export interface DocumentOnTypeFormattingOptions {
2694
2893
  /**
2695
- * A character on which formatting should be triggered, like `}`.
2894
+ * A character on which formatting should be triggered, like `{}`.
2696
2895
  */
2697
2896
  firstTriggerCharacter: string;
2698
2897
  /**
@@ -2796,6 +2995,12 @@ export declare namespace RenameRequest {
2796
2995
  }
2797
2996
  export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDoneProgressParams {
2798
2997
  }
2998
+ export declare type PrepareRenameResult = Range | {
2999
+ range: Range;
3000
+ placeholder: string;
3001
+ } | {
3002
+ defaultBehavior: boolean;
3003
+ };
2799
3004
  /**
2800
3005
  * A request to test and perform the setup necessary for a rename.
2801
3006
  *
@@ -2803,12 +3008,7 @@ export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDon
2803
3008
  */
2804
3009
  export declare namespace PrepareRenameRequest {
2805
3010
  const method: 'textDocument/prepareRename';
2806
- const type: ProtocolRequestType<PrepareRenameParams, Range | {
2807
- range: Range;
2808
- placeholder: string;
2809
- } | {
2810
- defaultBehavior: boolean;
2811
- } | null, never, void, void>;
3011
+ const type: ProtocolRequestType<PrepareRenameParams, PrepareRenameResult | null, never, void, void>;
2812
3012
  }
2813
3013
  /**
2814
3014
  * The client capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
@@ -2851,7 +3051,7 @@ export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions
2851
3051
  * a workspace edit which the client will apply to the workspace.
2852
3052
  */
2853
3053
  export declare namespace ExecuteCommandRequest {
2854
- const type: ProtocolRequestType<ExecuteCommandParams, void | LSPAny, never, void, ExecuteCommandRegistrationOptions>;
3054
+ const type: ProtocolRequestType<ExecuteCommandParams, LSPAny, never, void, ExecuteCommandRegistrationOptions>;
2855
3055
  }
2856
3056
  export interface WorkspaceEditClientCapabilities {
2857
3057
  /**
@@ -2945,5 +3145,5 @@ export declare type ApplyWorkspaceEditResponse = ApplyWorkspaceEditResult;
2945
3145
  export declare namespace ApplyWorkspaceEditRequest {
2946
3146
  const type: ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResult, never, void, void>;
2947
3147
  }
2948
- 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, TypeHierarchyClientCapabilities, TypeHierarchyOptions, TypeHierarchyRegistrationOptions, TypeHierarchyPrepareParams, TypeHierarchyPrepareRequest, TypeHierarchySubtypesParams, TypeHierarchySubtypesRequest, TypeHierarchySupertypesParams, TypeHierarchySupertypesRequest, InlineValueClientCapabilities, InlineValueOptions, InlineValueRegistrationOptions, InlineValueWorkspaceClientCapabilities, InlineValueParams, InlineValueRequest, InlineValueRefreshRequest, InlayHintClientCapabilities, InlayHintOptions, InlayHintRegistrationOptions, InlayHintWorkspaceClientCapabilities, InlayHintParams, InlayHintRequest, InlayHintResolveRequest, InlayHintRefreshRequest, };
3148
+ 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, DiagnosticClientCapabilities, DiagnosticOptions, DiagnosticRegistrationOptions, DiagnosticServerCancellationData, DocumentDiagnosticParams, DocumentDiagnosticReportKind, FullDocumentDiagnosticReport, RelatedFullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport, RelatedUnchangedDocumentDiagnosticReport, DocumentDiagnosticReport, DocumentDiagnosticReportPartialResult, DocumentDiagnosticRequest, PreviousResultId, WorkspaceDiagnosticParams, WorkspaceFullDocumentDiagnosticReport, WorkspaceUnchangedDocumentDiagnosticReport, WorkspaceDocumentDiagnosticReport, WorkspaceDiagnosticReport, WorkspaceDiagnosticReportPartialResult, WorkspaceDiagnosticRequest, DiagnosticRefreshRequest, NotebookDocumentSyncClientCapabilities, NotebookCellKind, ExecutionSummary, NotebookCell, NotebookDocument, NotebookDocumentIdentifier, VersionedNotebookDocumentIdentifier, NotebookDocumentSyncOptions, NotebookDocumentSyncRegistrationOptions, NotebookDocumentSyncRegistrationType, DidOpenNotebookDocumentParams, DidOpenNotebookDocumentNotification, NotebookCellArrayChange, NotebookDocumentChangeEvent, DidChangeNotebookDocumentParams, DidChangeNotebookDocumentNotification, DidSaveNotebookDocumentParams, DidSaveNotebookDocumentNotification, DidCloseNotebookDocumentParams, DidCloseNotebookDocumentNotification };
2949
3149
  export { DocumentColorOptions as ColorProviderOptions, DocumentColorOptions as ColorOptions, FoldingRangeOptions as FoldingRangeProviderOptions, SelectionRangeOptions as SelectionRangeProviderOptions, DocumentColorRegistrationOptions as ColorRegistrationOptions };