protocol.lua (193400B)
1 --[[ 2 THIS FILE IS GENERATED by src/gen/gen_lsp.lua 3 DO NOT EDIT MANUALLY 4 5 Based on LSP protocol 3.18 6 7 Regenerate: 8 nvim -l src/gen/gen_lsp.lua --version 3.18 9 --]] 10 11 ---@meta 12 error('Cannot require a meta file') 13 14 ---@alias lsp.null vim.NIL 15 ---@alias uinteger integer 16 ---@alias decimal number 17 ---@alias lsp.DocumentUri string 18 ---@alias lsp.URI string 19 20 ---@class lsp.ImplementationParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 21 22 ---Represents a location inside a resource, such as a line 23 ---inside a text file. 24 ---@class lsp.Location 25 --- 26 ---@field uri lsp.DocumentUri 27 --- 28 ---@field range lsp.Range 29 30 ---@class lsp.ImplementationRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.ImplementationOptions, lsp.StaticRegistrationOptions 31 32 ---@class lsp.TypeDefinitionParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 33 34 ---@class lsp.TypeDefinitionRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.TypeDefinitionOptions, lsp.StaticRegistrationOptions 35 36 ---A workspace folder inside a client. 37 ---@class lsp.WorkspaceFolder 38 --- 39 ---The associated URI for this workspace folder. 40 ---@field uri lsp.URI 41 --- 42 ---The name of the workspace folder. Used to refer to this 43 ---workspace folder in the user interface. 44 ---@field name string 45 46 ---The parameters of a `workspace/didChangeWorkspaceFolders` notification. 47 ---@class lsp.DidChangeWorkspaceFoldersParams 48 --- 49 ---The actual workspace folder change event. 50 ---@field event lsp.WorkspaceFoldersChangeEvent 51 52 ---The parameters of a configuration request. 53 ---@class lsp.ConfigurationParams 54 --- 55 ---@field items lsp.ConfigurationItem[] 56 57 ---Parameters for a {@link DocumentColorRequest}. 58 ---@class lsp.DocumentColorParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 59 --- 60 ---The text document. 61 ---@field textDocument lsp.TextDocumentIdentifier 62 63 ---Represents a color range from a document. 64 ---@class lsp.ColorInformation 65 --- 66 ---The range in the document where this color appears. 67 ---@field range lsp.Range 68 --- 69 ---The actual color value for this color range. 70 ---@field color lsp.Color 71 72 ---@class lsp.DocumentColorRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentColorOptions, lsp.StaticRegistrationOptions 73 74 ---Parameters for a {@link ColorPresentationRequest}. 75 ---@class lsp.ColorPresentationParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 76 --- 77 ---The text document. 78 ---@field textDocument lsp.TextDocumentIdentifier 79 --- 80 ---The color to request presentations for. 81 ---@field color lsp.Color 82 --- 83 ---The range where the color would be inserted. Serves as a context. 84 ---@field range lsp.Range 85 86 ---@class lsp.ColorPresentation 87 --- 88 ---The label of this color presentation. It will be shown on the color 89 ---picker header. By default this is also the text that is inserted when selecting 90 ---this color presentation. 91 ---@field label string 92 --- 93 ---An {@link TextEdit edit} which is applied to a document when selecting 94 ---this presentation for the color. When `falsy` the {@link ColorPresentation.label label} 95 ---is used. 96 ---@field textEdit? lsp.TextEdit 97 --- 98 ---An optional array of additional {@link TextEdit text edits} that are applied when 99 ---selecting this color presentation. Edits must not overlap with the main {@link ColorPresentation.textEdit edit} nor with themselves. 100 ---@field additionalTextEdits? lsp.TextEdit[] 101 102 ---@class lsp.WorkDoneProgressOptions 103 --- 104 ---@field workDoneProgress? boolean 105 106 ---General text document registration options. 107 ---@class lsp.TextDocumentRegistrationOptions 108 --- 109 ---A document selector to identify the scope of the registration. If set to null 110 ---the document selector provided on the client side will be used. 111 ---@field documentSelector lsp.DocumentSelector|lsp.null 112 113 ---Parameters for a {@link FoldingRangeRequest}. 114 ---@class lsp.FoldingRangeParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 115 --- 116 ---The text document. 117 ---@field textDocument lsp.TextDocumentIdentifier 118 119 ---Represents a folding range. To be valid, start and end line must be bigger than zero and smaller 120 ---than the number of lines in the document. Clients are free to ignore invalid ranges. 121 ---@class lsp.FoldingRange 122 --- 123 ---The zero-based start line of the range to fold. The folded area starts after the line's last character. 124 ---To be valid, the end must be zero or larger and smaller than the number of lines in the document. 125 ---@field startLine uinteger 126 --- 127 ---The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line. 128 ---@field startCharacter? uinteger 129 --- 130 ---The zero-based end line of the range to fold. The folded area ends with the line's last character. 131 ---To be valid, the end must be zero or larger and smaller than the number of lines in the document. 132 ---@field endLine uinteger 133 --- 134 ---The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line. 135 ---@field endCharacter? uinteger 136 --- 137 ---Describes the kind of the folding range such as 'comment' or 'region'. The kind 138 ---is used to categorize folding ranges and used by commands like 'Fold all comments'. 139 ---See {@link FoldingRangeKind} for an enumeration of standardized kinds. 140 ---@field kind? lsp.FoldingRangeKind 141 --- 142 ---The text that the client should show when the specified range is 143 ---collapsed. If not defined or not supported by the client, a default 144 ---will be chosen by the client. 145 --- 146 ---@since 3.17.0 147 ---@field collapsedText? string 148 149 ---@class lsp.FoldingRangeRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.FoldingRangeOptions, lsp.StaticRegistrationOptions 150 151 ---@class lsp.DeclarationParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 152 153 ---@class lsp.DeclarationRegistrationOptions: lsp.DeclarationOptions, lsp.TextDocumentRegistrationOptions, lsp.StaticRegistrationOptions 154 155 ---A parameter literal used in selection range requests. 156 ---@class lsp.SelectionRangeParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 157 --- 158 ---The text document. 159 ---@field textDocument lsp.TextDocumentIdentifier 160 --- 161 ---The positions inside the text document. 162 ---@field positions lsp.Position[] 163 164 ---A selection range represents a part of a selection hierarchy. A selection range 165 ---may have a parent selection range that contains it. 166 ---@class lsp.SelectionRange 167 --- 168 ---The {@link Range range} of this selection range. 169 ---@field range lsp.Range 170 --- 171 ---The parent selection range containing this range. Therefore `parent.range` must contain `this.range`. 172 ---@field parent? lsp.SelectionRange 173 174 ---@class lsp.SelectionRangeRegistrationOptions: lsp.SelectionRangeOptions, lsp.TextDocumentRegistrationOptions, lsp.StaticRegistrationOptions 175 176 ---@class lsp.WorkDoneProgressCreateParams 177 --- 178 ---The token to be used to report progress. 179 ---@field token lsp.ProgressToken 180 181 ---@class lsp.WorkDoneProgressCancelParams 182 --- 183 ---The token to be used to report progress. 184 ---@field token lsp.ProgressToken 185 186 ---The parameter of a `textDocument/prepareCallHierarchy` request. 187 --- 188 ---@since 3.16.0 189 ---@class lsp.CallHierarchyPrepareParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 190 191 ---Represents programming constructs like functions or constructors in the context 192 ---of call hierarchy. 193 --- 194 ---@since 3.16.0 195 ---@class lsp.CallHierarchyItem 196 --- 197 ---The name of this item. 198 ---@field name string 199 --- 200 ---The kind of this item. 201 ---@field kind lsp.SymbolKind 202 --- 203 ---Tags for this item. 204 ---@field tags? lsp.SymbolTag[] 205 --- 206 ---More detail for this item, e.g. the signature of a function. 207 ---@field detail? string 208 --- 209 ---The resource identifier of this item. 210 ---@field uri lsp.DocumentUri 211 --- 212 ---The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code. 213 ---@field range lsp.Range 214 --- 215 ---The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. 216 ---Must be contained by the {@link CallHierarchyItem.range `range`}. 217 ---@field selectionRange lsp.Range 218 --- 219 ---A data entry field that is preserved between a call hierarchy prepare and 220 ---incoming calls or outgoing calls requests. 221 ---@field data? lsp.LSPAny 222 223 ---Call hierarchy options used during static or dynamic registration. 224 --- 225 ---@since 3.16.0 226 ---@class lsp.CallHierarchyRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.CallHierarchyOptions, lsp.StaticRegistrationOptions 227 228 ---The parameter of a `callHierarchy/incomingCalls` request. 229 --- 230 ---@since 3.16.0 231 ---@class lsp.CallHierarchyIncomingCallsParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 232 --- 233 ---@field item lsp.CallHierarchyItem 234 235 ---Represents an incoming call, e.g. a caller of a method or constructor. 236 --- 237 ---@since 3.16.0 238 ---@class lsp.CallHierarchyIncomingCall 239 --- 240 ---The item that makes the call. 241 ---@field from lsp.CallHierarchyItem 242 --- 243 ---The ranges at which the calls appear. This is relative to the caller 244 ---denoted by {@link CallHierarchyIncomingCall.from `this.from`}. 245 ---@field fromRanges lsp.Range[] 246 247 ---The parameter of a `callHierarchy/outgoingCalls` request. 248 --- 249 ---@since 3.16.0 250 ---@class lsp.CallHierarchyOutgoingCallsParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 251 --- 252 ---@field item lsp.CallHierarchyItem 253 254 ---Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc. 255 --- 256 ---@since 3.16.0 257 ---@class lsp.CallHierarchyOutgoingCall 258 --- 259 ---The item that is called. 260 ---@field to lsp.CallHierarchyItem 261 --- 262 ---The range at which this item is called. This is the range relative to the caller, e.g the item 263 ---passed to {@link CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls `provideCallHierarchyOutgoingCalls`} 264 ---and not {@link CallHierarchyOutgoingCall.to `this.to`}. 265 ---@field fromRanges lsp.Range[] 266 267 ---@since 3.16.0 268 ---@class lsp.SemanticTokensParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 269 --- 270 ---The text document. 271 ---@field textDocument lsp.TextDocumentIdentifier 272 273 ---@since 3.16.0 274 ---@class lsp.SemanticTokens 275 --- 276 ---An optional result id. If provided and clients support delta updating 277 ---the client will include the result id in the next semantic token request. 278 ---A server can then instead of computing all semantic tokens again simply 279 ---send a delta. 280 ---@field resultId? string 281 --- 282 ---The actual tokens. 283 ---@field data uinteger[] 284 285 ---@since 3.16.0 286 ---@class lsp.SemanticTokensPartialResult 287 --- 288 ---@field data uinteger[] 289 290 ---@since 3.16.0 291 ---@class lsp.SemanticTokensRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.SemanticTokensOptions, lsp.StaticRegistrationOptions 292 293 ---@since 3.16.0 294 ---@class lsp.SemanticTokensDeltaParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 295 --- 296 ---The text document. 297 ---@field textDocument lsp.TextDocumentIdentifier 298 --- 299 ---The result id of a previous response. The result Id can either point to a full response 300 ---or a delta response depending on what was received last. 301 ---@field previousResultId string 302 303 ---@since 3.16.0 304 ---@class lsp.SemanticTokensDelta 305 --- 306 ---@field resultId? string 307 --- 308 ---The semantic token edits to transform a previous result into a new result. 309 ---@field edits lsp.SemanticTokensEdit[] 310 311 ---@since 3.16.0 312 ---@class lsp.SemanticTokensDeltaPartialResult 313 --- 314 ---@field edits lsp.SemanticTokensEdit[] 315 316 ---@since 3.16.0 317 ---@class lsp.SemanticTokensRangeParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 318 --- 319 ---The text document. 320 ---@field textDocument lsp.TextDocumentIdentifier 321 --- 322 ---The range the semantic tokens are requested for. 323 ---@field range lsp.Range 324 325 ---Params to show a resource in the UI. 326 --- 327 ---@since 3.16.0 328 ---@class lsp.ShowDocumentParams 329 --- 330 ---The uri to show. 331 ---@field uri lsp.URI 332 --- 333 ---Indicates to show the resource in an external program. 334 ---To show, for example, `https://code.visualstudio.com/` 335 ---in the default WEB browser set `external` to `true`. 336 ---@field external? boolean 337 --- 338 ---An optional property to indicate whether the editor 339 ---showing the document should take focus or not. 340 ---Clients might ignore this property if an external 341 ---program is started. 342 ---@field takeFocus? boolean 343 --- 344 ---An optional selection range if the document is a text 345 ---document. Clients might ignore the property if an 346 ---external program is started or the file is not a text 347 ---file. 348 ---@field selection? lsp.Range 349 350 ---The result of a showDocument request. 351 --- 352 ---@since 3.16.0 353 ---@class lsp.ShowDocumentResult 354 --- 355 ---A boolean indicating if the show was successful. 356 ---@field success boolean 357 358 ---@class lsp.LinkedEditingRangeParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 359 360 ---The result of a linked editing range request. 361 --- 362 ---@since 3.16.0 363 ---@class lsp.LinkedEditingRanges 364 --- 365 ---A list of ranges that can be edited together. The ranges must have 366 ---identical length and contain identical text content. The ranges cannot overlap. 367 ---@field ranges lsp.Range[] 368 --- 369 ---An optional word pattern (regular expression) that describes valid contents for 370 ---the given ranges. If no pattern is provided, the client configuration's word 371 ---pattern will be used. 372 ---@field wordPattern? string 373 374 ---@class lsp.LinkedEditingRangeRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.LinkedEditingRangeOptions, lsp.StaticRegistrationOptions 375 376 ---The parameters sent in notifications/requests for user-initiated creation of 377 ---files. 378 --- 379 ---@since 3.16.0 380 ---@class lsp.CreateFilesParams 381 --- 382 ---An array of all files/folders created in this operation. 383 ---@field files lsp.FileCreate[] 384 385 ---A workspace edit represents changes to many resources managed in the workspace. The edit 386 ---should either provide `changes` or `documentChanges`. If documentChanges are present 387 ---they are preferred over `changes` if the client can handle versioned document edits. 388 --- 389 ---Since version 3.13.0 a workspace edit can contain resource operations as well. If resource 390 ---operations are present clients need to execute the operations in the order in which they 391 ---are provided. So a workspace edit for example can consist of the following two changes: 392 ---(1) a create file a.txt and (2) a text document edit which insert text into file a.txt. 393 --- 394 ---An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will 395 ---cause failure of the operation. How the client recovers from the failure is described by 396 ---the client capability: `workspace.workspaceEdit.failureHandling` 397 ---@class lsp.WorkspaceEdit 398 --- 399 ---Holds changes to existing resources. 400 ---@field changes? table<lsp.DocumentUri, lsp.TextEdit[]> 401 --- 402 ---Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes 403 ---are either an array of `TextDocumentEdit`s to express changes to n different text documents 404 ---where each text document edit addresses a specific version of a text document. Or it can contain 405 ---above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations. 406 --- 407 ---Whether a client supports versioned document edits is expressed via 408 ---`workspace.workspaceEdit.documentChanges` client capability. 409 --- 410 ---If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then 411 ---only plain `TextEdit`s using the `changes` property are supported. 412 ---@field documentChanges? (lsp.TextDocumentEdit|lsp.CreateFile|lsp.RenameFile|lsp.DeleteFile)[] 413 --- 414 ---A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and 415 ---delete file / folder operations. 416 --- 417 ---Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`. 418 --- 419 ---@since 3.16.0 420 ---@field changeAnnotations? table<lsp.ChangeAnnotationIdentifier, lsp.ChangeAnnotation> 421 422 ---The options to register for file operations. 423 --- 424 ---@since 3.16.0 425 ---@class lsp.FileOperationRegistrationOptions 426 --- 427 ---The actual filters. 428 ---@field filters lsp.FileOperationFilter[] 429 430 ---The parameters sent in notifications/requests for user-initiated renames of 431 ---files. 432 --- 433 ---@since 3.16.0 434 ---@class lsp.RenameFilesParams 435 --- 436 ---An array of all files/folders renamed in this operation. When a folder is renamed, only 437 ---the folder will be included, and not its children. 438 ---@field files lsp.FileRename[] 439 440 ---The parameters sent in notifications/requests for user-initiated deletes of 441 ---files. 442 --- 443 ---@since 3.16.0 444 ---@class lsp.DeleteFilesParams 445 --- 446 ---An array of all files/folders deleted in this operation. 447 ---@field files lsp.FileDelete[] 448 449 ---@class lsp.MonikerParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 450 451 ---Moniker definition to match LSIF 0.5 moniker definition. 452 --- 453 ---@since 3.16.0 454 ---@class lsp.Moniker 455 --- 456 ---The scheme of the moniker. For example tsc or .Net 457 ---@field scheme string 458 --- 459 ---The identifier of the moniker. The value is opaque in LSIF however 460 ---schema owners are allowed to define the structure if they want. 461 ---@field identifier string 462 --- 463 ---The scope in which the moniker is unique 464 ---@field unique lsp.UniquenessLevel 465 --- 466 ---The moniker kind if known. 467 ---@field kind? lsp.MonikerKind 468 469 ---@class lsp.MonikerRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.MonikerOptions 470 471 ---The parameter of a `textDocument/prepareTypeHierarchy` request. 472 --- 473 ---@since 3.17.0 474 ---@class lsp.TypeHierarchyPrepareParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 475 476 ---@since 3.17.0 477 ---@class lsp.TypeHierarchyItem 478 --- 479 ---The name of this item. 480 ---@field name string 481 --- 482 ---The kind of this item. 483 ---@field kind lsp.SymbolKind 484 --- 485 ---Tags for this item. 486 ---@field tags? lsp.SymbolTag[] 487 --- 488 ---More detail for this item, e.g. the signature of a function. 489 ---@field detail? string 490 --- 491 ---The resource identifier of this item. 492 ---@field uri lsp.DocumentUri 493 --- 494 ---The range enclosing this symbol not including leading/trailing whitespace 495 ---but everything else, e.g. comments and code. 496 ---@field range lsp.Range 497 --- 498 ---The range that should be selected and revealed when this symbol is being 499 ---picked, e.g. the name of a function. Must be contained by the 500 ---{@link TypeHierarchyItem.range `range`}. 501 ---@field selectionRange lsp.Range 502 --- 503 ---A data entry field that is preserved between a type hierarchy prepare and 504 ---supertypes or subtypes requests. It could also be used to identify the 505 ---type hierarchy in the server, helping improve the performance on 506 ---resolving supertypes and subtypes. 507 ---@field data? lsp.LSPAny 508 509 ---Type hierarchy options used during static or dynamic registration. 510 --- 511 ---@since 3.17.0 512 ---@class lsp.TypeHierarchyRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.TypeHierarchyOptions, lsp.StaticRegistrationOptions 513 514 ---The parameter of a `typeHierarchy/supertypes` request. 515 --- 516 ---@since 3.17.0 517 ---@class lsp.TypeHierarchySupertypesParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 518 --- 519 ---@field item lsp.TypeHierarchyItem 520 521 ---The parameter of a `typeHierarchy/subtypes` request. 522 --- 523 ---@since 3.17.0 524 ---@class lsp.TypeHierarchySubtypesParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 525 --- 526 ---@field item lsp.TypeHierarchyItem 527 528 ---A parameter literal used in inline value requests. 529 --- 530 ---@since 3.17.0 531 ---@class lsp.InlineValueParams: lsp.WorkDoneProgressParams 532 --- 533 ---The text document. 534 ---@field textDocument lsp.TextDocumentIdentifier 535 --- 536 ---The document range for which inline values should be computed. 537 ---@field range lsp.Range 538 --- 539 ---Additional information about the context in which inline values were 540 ---requested. 541 ---@field context lsp.InlineValueContext 542 543 ---Inline value options used during static or dynamic registration. 544 --- 545 ---@since 3.17.0 546 ---@class lsp.InlineValueRegistrationOptions: lsp.InlineValueOptions, lsp.TextDocumentRegistrationOptions, lsp.StaticRegistrationOptions 547 548 ---A parameter literal used in inlay hint requests. 549 --- 550 ---@since 3.17.0 551 ---@class lsp.InlayHintParams: lsp.WorkDoneProgressParams 552 --- 553 ---The text document. 554 ---@field textDocument lsp.TextDocumentIdentifier 555 --- 556 ---The document range for which inlay hints should be computed. 557 ---@field range lsp.Range 558 559 ---Inlay hint information. 560 --- 561 ---@since 3.17.0 562 ---@class lsp.InlayHint 563 --- 564 ---The position of this hint. 565 --- 566 ---If multiple hints have the same position, they will be shown in the order 567 ---they appear in the response. 568 ---@field position lsp.Position 569 --- 570 ---The label of this hint. A human readable string or an array of 571 ---InlayHintLabelPart label parts. 572 --- 573 ---*Note* that neither the string nor the label part can be empty. 574 ---@field label string|lsp.InlayHintLabelPart[] 575 --- 576 ---The kind of this hint. Can be omitted in which case the client 577 ---should fall back to a reasonable default. 578 ---@field kind? lsp.InlayHintKind 579 --- 580 ---Optional text edits that are performed when accepting this inlay hint. 581 --- 582 ---*Note* that edits are expected to change the document so that the inlay 583 ---hint (or its nearest variant) is now part of the document and the inlay 584 ---hint itself is now obsolete. 585 ---@field textEdits? lsp.TextEdit[] 586 --- 587 ---The tooltip text when you hover over this item. 588 ---@field tooltip? string|lsp.MarkupContent 589 --- 590 ---Render padding before the hint. 591 --- 592 ---Note: Padding should use the editor's background color, not the 593 ---background color of the hint itself. That means padding can be used 594 ---to visually align/separate an inlay hint. 595 ---@field paddingLeft? boolean 596 --- 597 ---Render padding after the hint. 598 --- 599 ---Note: Padding should use the editor's background color, not the 600 ---background color of the hint itself. That means padding can be used 601 ---to visually align/separate an inlay hint. 602 ---@field paddingRight? boolean 603 --- 604 ---A data entry field that is preserved on an inlay hint between 605 ---a `textDocument/inlayHint` and a `inlayHint/resolve` request. 606 ---@field data? lsp.LSPAny 607 608 ---Inlay hint options used during static or dynamic registration. 609 --- 610 ---@since 3.17.0 611 ---@class lsp.InlayHintRegistrationOptions: lsp.InlayHintOptions, lsp.TextDocumentRegistrationOptions, lsp.StaticRegistrationOptions 612 613 ---Parameters of the document diagnostic request. 614 --- 615 ---@since 3.17.0 616 ---@class lsp.DocumentDiagnosticParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 617 --- 618 ---The text document. 619 ---@field textDocument lsp.TextDocumentIdentifier 620 --- 621 ---The additional identifier provided during registration. 622 ---@field identifier? string 623 --- 624 ---The result id of a previous response if provided. 625 ---@field previousResultId? string 626 627 ---A partial result for a document diagnostic report. 628 --- 629 ---@since 3.17.0 630 ---@class lsp.DocumentDiagnosticReportPartialResult 631 --- 632 ---@field relatedDocuments table<lsp.DocumentUri, lsp.FullDocumentDiagnosticReport|lsp.UnchangedDocumentDiagnosticReport> 633 634 ---Cancellation data returned from a diagnostic request. 635 --- 636 ---@since 3.17.0 637 ---@class lsp.DiagnosticServerCancellationData 638 --- 639 ---@field retriggerRequest boolean 640 641 ---Diagnostic registration options. 642 --- 643 ---@since 3.17.0 644 ---@class lsp.DiagnosticRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DiagnosticOptions, lsp.StaticRegistrationOptions 645 646 ---Parameters of the workspace diagnostic request. 647 --- 648 ---@since 3.17.0 649 ---@class lsp.WorkspaceDiagnosticParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 650 --- 651 ---The additional identifier provided during registration. 652 ---@field identifier? string 653 --- 654 ---The currently known diagnostic reports with their 655 ---previous result ids. 656 ---@field previousResultIds lsp.PreviousResultId[] 657 658 ---A workspace diagnostic report. 659 --- 660 ---@since 3.17.0 661 ---@class lsp.WorkspaceDiagnosticReport 662 --- 663 ---@field items lsp.WorkspaceDocumentDiagnosticReport[] 664 665 ---A partial result for a workspace diagnostic report. 666 --- 667 ---@since 3.17.0 668 ---@class lsp.WorkspaceDiagnosticReportPartialResult 669 --- 670 ---@field items lsp.WorkspaceDocumentDiagnosticReport[] 671 672 ---The params sent in an open notebook document notification. 673 --- 674 ---@since 3.17.0 675 ---@class lsp.DidOpenNotebookDocumentParams 676 --- 677 ---The notebook document that got opened. 678 ---@field notebookDocument lsp.NotebookDocument 679 --- 680 ---The text documents that represent the content 681 ---of a notebook cell. 682 ---@field cellTextDocuments lsp.TextDocumentItem[] 683 684 ---Registration options specific to a notebook. 685 --- 686 ---@since 3.17.0 687 ---@class lsp.NotebookDocumentSyncRegistrationOptions: lsp.NotebookDocumentSyncOptions, lsp.StaticRegistrationOptions 688 689 ---The params sent in a change notebook document notification. 690 --- 691 ---@since 3.17.0 692 ---@class lsp.DidChangeNotebookDocumentParams 693 --- 694 ---The notebook document that did change. The version number points 695 ---to the version after all provided changes have been applied. If 696 ---only the text document content of a cell changes the notebook version 697 ---doesn't necessarily have to change. 698 ---@field notebookDocument lsp.VersionedNotebookDocumentIdentifier 699 --- 700 ---The actual changes to the notebook document. 701 --- 702 ---The changes describe single state changes to the notebook document. 703 ---So if there are two changes c1 (at array index 0) and c2 (at array 704 ---index 1) for a notebook in state S then c1 moves the notebook from 705 ---S to S' and c2 from S' to S''. So c1 is computed on the state S and 706 ---c2 is computed on the state S'. 707 --- 708 ---To mirror the content of a notebook using change events use the following approach: 709 ---- start with the same initial content 710 ---- apply the 'notebookDocument/didChange' notifications in the order you receive them. 711 ---- apply the `NotebookChangeEvent`s in a single notification in the order 712 --- you receive them. 713 ---@field change lsp.NotebookDocumentChangeEvent 714 715 ---The params sent in a save notebook document notification. 716 --- 717 ---@since 3.17.0 718 ---@class lsp.DidSaveNotebookDocumentParams 719 --- 720 ---The notebook document that got saved. 721 ---@field notebookDocument lsp.NotebookDocumentIdentifier 722 723 ---The params sent in a close notebook document notification. 724 --- 725 ---@since 3.17.0 726 ---@class lsp.DidCloseNotebookDocumentParams 727 --- 728 ---The notebook document that got closed. 729 ---@field notebookDocument lsp.NotebookDocumentIdentifier 730 --- 731 ---The text documents that represent the content 732 ---of a notebook cell that got closed. 733 ---@field cellTextDocuments lsp.TextDocumentIdentifier[] 734 735 ---A parameter literal used in inline completion requests. 736 --- 737 ---@since 3.18.0 738 ---@proposed 739 ---@class lsp.InlineCompletionParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 740 --- 741 ---Additional information about the context in which inline completions were 742 ---requested. 743 ---@field context lsp.InlineCompletionContext 744 745 ---Represents a collection of {@link InlineCompletionItem inline completion items} to be presented in the editor. 746 --- 747 ---@since 3.18.0 748 ---@proposed 749 ---@class lsp.InlineCompletionList 750 --- 751 ---The inline completion items 752 ---@field items lsp.InlineCompletionItem[] 753 754 ---An inline completion item represents a text snippet that is proposed inline to complete text that is being typed. 755 --- 756 ---@since 3.18.0 757 ---@proposed 758 ---@class lsp.InlineCompletionItem 759 --- 760 ---The text to replace the range with. Must be set. 761 ---@field insertText string|lsp.StringValue 762 --- 763 ---A text that is used to decide if this inline completion should be shown. When `falsy` the {@link InlineCompletionItem.insertText} is used. 764 ---@field filterText? string 765 --- 766 ---The range to replace. Must begin and end on the same line. 767 ---@field range? lsp.Range 768 --- 769 ---An optional {@link Command} that is executed *after* inserting this completion. 770 ---@field command? lsp.Command 771 772 ---Inline completion options used during static or dynamic registration. 773 --- 774 ---@since 3.18.0 775 ---@proposed 776 ---@class lsp.InlineCompletionRegistrationOptions: lsp.InlineCompletionOptions, lsp.TextDocumentRegistrationOptions, lsp.StaticRegistrationOptions 777 778 ---Parameters for the `workspace/textDocumentContent` request. 779 --- 780 ---@since 3.18.0 781 ---@proposed 782 ---@class lsp.TextDocumentContentParams 783 --- 784 ---The uri of the text document. 785 ---@field uri lsp.DocumentUri 786 787 ---Result of the `workspace/textDocumentContent` request. 788 --- 789 ---@since 3.18.0 790 ---@proposed 791 ---@class lsp.TextDocumentContentResult 792 --- 793 ---The text content of the text document. Please note, that the content of 794 ---any subsequent open notifications for the text document might differ 795 ---from the returned content due to whitespace and line ending 796 ---normalizations done on the client 797 ---@field text string 798 799 ---Text document content provider registration options. 800 --- 801 ---@since 3.18.0 802 ---@proposed 803 ---@class lsp.TextDocumentContentRegistrationOptions: lsp.TextDocumentContentOptions, lsp.StaticRegistrationOptions 804 805 ---Parameters for the `workspace/textDocumentContent/refresh` request. 806 --- 807 ---@since 3.18.0 808 ---@proposed 809 ---@class lsp.TextDocumentContentRefreshParams 810 --- 811 ---The uri of the text document to refresh. 812 ---@field uri lsp.DocumentUri 813 814 ---@class lsp.RegistrationParams 815 --- 816 ---@field registrations lsp.Registration[] 817 818 ---@class lsp.UnregistrationParams 819 --- 820 ---@field unregisterations lsp.Unregistration[] 821 822 ---@class lsp.InitializeParams: lsp._InitializeParams, lsp.WorkspaceFoldersInitializeParams 823 824 ---The result returned from an initialize request. 825 ---@class lsp.InitializeResult 826 --- 827 ---The capabilities the language server provides. 828 ---@field capabilities lsp.ServerCapabilities 829 --- 830 ---Information about the server. 831 --- 832 ---@since 3.15.0 833 ---@field serverInfo? lsp.ServerInfo 834 835 ---The data type of the ResponseError if the 836 ---initialize request fails. 837 ---@class lsp.InitializeError 838 --- 839 ---Indicates whether the client execute the following retry logic: 840 ---(1) show the message provided by the ResponseError to the user 841 ---(2) user selects retry or cancel 842 ---(3) if user selected retry the initialize method is sent again. 843 ---@field retry boolean 844 845 ---@class lsp.InitializedParams 846 847 ---The parameters of a change configuration notification. 848 ---@class lsp.DidChangeConfigurationParams 849 --- 850 ---The actual changed settings 851 ---@field settings lsp.LSPAny 852 853 ---@class lsp.DidChangeConfigurationRegistrationOptions 854 --- 855 ---@field section? string|string[] 856 857 ---The parameters of a notification message. 858 ---@class lsp.ShowMessageParams 859 --- 860 ---The message type. See {@link MessageType} 861 ---@field type lsp.MessageType 862 --- 863 ---The actual message. 864 ---@field message string 865 866 ---@class lsp.ShowMessageRequestParams 867 --- 868 ---The message type. See {@link MessageType} 869 ---@field type lsp.MessageType 870 --- 871 ---The actual message. 872 ---@field message string 873 --- 874 ---The message action items to present. 875 ---@field actions? lsp.MessageActionItem[] 876 877 ---@class lsp.MessageActionItem 878 --- 879 ---A short title like 'Retry', 'Open Log' etc. 880 ---@field title string 881 882 ---The log message parameters. 883 ---@class lsp.LogMessageParams 884 --- 885 ---The message type. See {@link MessageType} 886 ---@field type lsp.MessageType 887 --- 888 ---The actual message. 889 ---@field message string 890 891 ---The parameters sent in an open text document notification 892 ---@class lsp.DidOpenTextDocumentParams 893 --- 894 ---The document that was opened. 895 ---@field textDocument lsp.TextDocumentItem 896 897 ---The change text document notification's parameters. 898 ---@class lsp.DidChangeTextDocumentParams 899 --- 900 ---The document that did change. The version number points 901 ---to the version after all provided content changes have 902 ---been applied. 903 ---@field textDocument lsp.VersionedTextDocumentIdentifier 904 --- 905 ---The actual content changes. The content changes describe single state changes 906 ---to the document. So if there are two content changes c1 (at array index 0) and 907 ---c2 (at array index 1) for a document in state S then c1 moves the document from 908 ---S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed 909 ---on the state S'. 910 --- 911 ---To mirror the content of a document using change events use the following approach: 912 ---- start with the same initial content 913 ---- apply the 'textDocument/didChange' notifications in the order you receive them. 914 ---- apply the `TextDocumentContentChangeEvent`s in a single notification in the order 915 --- you receive them. 916 ---@field contentChanges lsp.TextDocumentContentChangeEvent[] 917 918 ---Describe options to be used when registered for text document change events. 919 ---@class lsp.TextDocumentChangeRegistrationOptions: lsp.TextDocumentRegistrationOptions 920 --- 921 ---How documents are synced to the server. 922 ---@field syncKind lsp.TextDocumentSyncKind 923 924 ---The parameters sent in a close text document notification 925 ---@class lsp.DidCloseTextDocumentParams 926 --- 927 ---The document that was closed. 928 ---@field textDocument lsp.TextDocumentIdentifier 929 930 ---The parameters sent in a save text document notification 931 ---@class lsp.DidSaveTextDocumentParams 932 --- 933 ---The document that was saved. 934 ---@field textDocument lsp.TextDocumentIdentifier 935 --- 936 ---Optional the content when saved. Depends on the includeText value 937 ---when the save notification was requested. 938 ---@field text? string 939 940 ---Save registration options. 941 ---@class lsp.TextDocumentSaveRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.SaveOptions 942 943 ---The parameters sent in a will save text document notification. 944 ---@class lsp.WillSaveTextDocumentParams 945 --- 946 ---The document that will be saved. 947 ---@field textDocument lsp.TextDocumentIdentifier 948 --- 949 ---The 'TextDocumentSaveReason'. 950 ---@field reason lsp.TextDocumentSaveReason 951 952 ---A text edit applicable to a text document. 953 ---@class lsp.TextEdit 954 --- 955 ---The range of the text document to be manipulated. To insert 956 ---text into a document create a range where start === end. 957 ---@field range lsp.Range 958 --- 959 ---The string to be inserted. For delete operations use an 960 ---empty string. 961 ---@field newText string 962 963 ---The watched files change notification's parameters. 964 ---@class lsp.DidChangeWatchedFilesParams 965 --- 966 ---The actual file events. 967 ---@field changes lsp.FileEvent[] 968 969 ---Describe options to be used when registered for text document change events. 970 ---@class lsp.DidChangeWatchedFilesRegistrationOptions 971 --- 972 ---The watchers to register. 973 ---@field watchers lsp.FileSystemWatcher[] 974 975 ---The publish diagnostic notification's parameters. 976 ---@class lsp.PublishDiagnosticsParams 977 --- 978 ---The URI for which diagnostic information is reported. 979 ---@field uri lsp.DocumentUri 980 --- 981 ---Optional the version number of the document the diagnostics are published for. 982 --- 983 ---@since 3.15.0 984 ---@field version? integer 985 --- 986 ---An array of diagnostic information items. 987 ---@field diagnostics lsp.Diagnostic[] 988 989 ---Completion parameters 990 ---@class lsp.CompletionParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 991 --- 992 ---The completion context. This is only available it the client specifies 993 ---to send this using the client capability `textDocument.completion.contextSupport === true` 994 ---@field context? lsp.CompletionContext 995 996 ---A completion item represents a text snippet that is 997 ---proposed to complete text that is being typed. 998 ---@class lsp.CompletionItem 999 --- 1000 ---The label of this completion item. 1001 --- 1002 ---The label property is also by default the text that 1003 ---is inserted when selecting this completion. 1004 --- 1005 ---If label details are provided the label itself should 1006 ---be an unqualified name of the completion item. 1007 ---@field label string 1008 --- 1009 ---Additional details for the label 1010 --- 1011 ---@since 3.17.0 1012 ---@field labelDetails? lsp.CompletionItemLabelDetails 1013 --- 1014 ---The kind of this completion item. Based of the kind 1015 ---an icon is chosen by the editor. 1016 ---@field kind? lsp.CompletionItemKind 1017 --- 1018 ---Tags for this completion item. 1019 --- 1020 ---@since 3.15.0 1021 ---@field tags? lsp.CompletionItemTag[] 1022 --- 1023 ---A human-readable string with additional information 1024 ---about this item, like type or symbol information. 1025 ---@field detail? string 1026 --- 1027 ---A human-readable string that represents a doc-comment. 1028 ---@field documentation? string|lsp.MarkupContent 1029 --- 1030 ---Indicates if this item is deprecated. 1031 ---@deprecated Use `tags` instead. 1032 ---@field deprecated? boolean 1033 --- 1034 ---Select this item when showing. 1035 --- 1036 ---*Note* that only one completion item can be selected and that the 1037 ---tool / client decides which item that is. The rule is that the *first* 1038 ---item of those that match best is selected. 1039 ---@field preselect? boolean 1040 --- 1041 ---A string that should be used when comparing this item 1042 ---with other items. When `falsy` the {@link CompletionItem.label label} 1043 ---is used. 1044 ---@field sortText? string 1045 --- 1046 ---A string that should be used when filtering a set of 1047 ---completion items. When `falsy` the {@link CompletionItem.label label} 1048 ---is used. 1049 ---@field filterText? string 1050 --- 1051 ---A string that should be inserted into a document when selecting 1052 ---this completion. When `falsy` the {@link CompletionItem.label label} 1053 ---is used. 1054 --- 1055 ---The `insertText` is subject to interpretation by the client side. 1056 ---Some tools might not take the string literally. For example 1057 ---VS Code when code complete is requested in this example 1058 ---`con<cursor position>` and a completion item with an `insertText` of 1059 ---`console` is provided it will only insert `sole`. Therefore it is 1060 ---recommended to use `textEdit` instead since it avoids additional client 1061 ---side interpretation. 1062 ---@field insertText? string 1063 --- 1064 ---The format of the insert text. The format applies to both the 1065 ---`insertText` property and the `newText` property of a provided 1066 ---`textEdit`. If omitted defaults to `InsertTextFormat.PlainText`. 1067 --- 1068 ---Please note that the insertTextFormat doesn't apply to 1069 ---`additionalTextEdits`. 1070 ---@field insertTextFormat? lsp.InsertTextFormat 1071 --- 1072 ---How whitespace and indentation is handled during completion 1073 ---item insertion. If not provided the clients default value depends on 1074 ---the `textDocument.completion.insertTextMode` client capability. 1075 --- 1076 ---@since 3.16.0 1077 ---@field insertTextMode? lsp.InsertTextMode 1078 --- 1079 ---An {@link TextEdit edit} which is applied to a document when selecting 1080 ---this completion. When an edit is provided the value of 1081 ---{@link CompletionItem.insertText insertText} is ignored. 1082 --- 1083 ---Most editors support two different operations when accepting a completion 1084 ---item. One is to insert a completion text and the other is to replace an 1085 ---existing text with a completion text. Since this can usually not be 1086 ---predetermined by a server it can report both ranges. Clients need to 1087 ---signal support for `InsertReplaceEdits` via the 1088 ---`textDocument.completion.insertReplaceSupport` client capability 1089 ---property. 1090 --- 1091 ---*Note 1:* The text edit's range as well as both ranges from an insert 1092 ---replace edit must be a [single line] and they must contain the position 1093 ---at which completion has been requested. 1094 ---*Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range 1095 ---must be a prefix of the edit's replace range, that means it must be 1096 ---contained and starting at the same position. 1097 --- 1098 ---@since 3.16.0 additional type `InsertReplaceEdit` 1099 ---@field textEdit? lsp.TextEdit|lsp.InsertReplaceEdit 1100 --- 1101 ---The edit text used if the completion item is part of a CompletionList and 1102 ---CompletionList defines an item default for the text edit range. 1103 --- 1104 ---Clients will only honor this property if they opt into completion list 1105 ---item defaults using the capability `completionList.itemDefaults`. 1106 --- 1107 ---If not provided and a list's default range is provided the label 1108 ---property is used as a text. 1109 --- 1110 ---@since 3.17.0 1111 ---@field textEditText? string 1112 --- 1113 ---An optional array of additional {@link TextEdit text edits} that are applied when 1114 ---selecting this completion. Edits must not overlap (including the same insert position) 1115 ---with the main {@link CompletionItem.textEdit edit} nor with themselves. 1116 --- 1117 ---Additional text edits should be used to change text unrelated to the current cursor position 1118 ---(for example adding an import statement at the top of the file if the completion item will 1119 ---insert an unqualified type). 1120 ---@field additionalTextEdits? lsp.TextEdit[] 1121 --- 1122 ---An optional set of characters that when pressed while this completion is active will accept it first and 1123 ---then type that character. *Note* that all commit characters should have `length=1` and that superfluous 1124 ---characters will be ignored. 1125 ---@field commitCharacters? string[] 1126 --- 1127 ---An optional {@link Command command} that is executed *after* inserting this completion. *Note* that 1128 ---additional modifications to the current document should be described with the 1129 ---{@link CompletionItem.additionalTextEdits additionalTextEdits}-property. 1130 ---@field command? lsp.Command 1131 --- 1132 ---A data entry field that is preserved on a completion item between a 1133 ---{@link CompletionRequest} and a {@link CompletionResolveRequest}. 1134 ---@field data? lsp.LSPAny 1135 1136 ---Represents a collection of {@link CompletionItem completion items} to be presented 1137 ---in the editor. 1138 ---@class lsp.CompletionList 1139 --- 1140 ---This list it not complete. Further typing results in recomputing this list. 1141 --- 1142 ---Recomputed lists have all their items replaced (not appended) in the 1143 ---incomplete completion sessions. 1144 ---@field isIncomplete boolean 1145 --- 1146 ---In many cases the items of an actual completion result share the same 1147 ---value for properties like `commitCharacters` or the range of a text 1148 ---edit. A completion list can therefore define item defaults which will 1149 ---be used if a completion item itself doesn't specify the value. 1150 --- 1151 ---If a completion list specifies a default value and a completion item 1152 ---also specifies a corresponding value, the rules for combining these are 1153 ---defined by `applyKinds` (if the client supports it), defaulting to 1154 ---ApplyKind.Replace. 1155 --- 1156 ---Servers are only allowed to return default values if the client 1157 ---signals support for this via the `completionList.itemDefaults` 1158 ---capability. 1159 --- 1160 ---@since 3.17.0 1161 ---@field itemDefaults? lsp.CompletionItemDefaults 1162 --- 1163 ---Specifies how fields from a completion item should be combined with those 1164 ---from `completionList.itemDefaults`. 1165 --- 1166 ---If unspecified, all fields will be treated as ApplyKind.Replace. 1167 --- 1168 ---If a field's value is ApplyKind.Replace, the value from a completion item 1169 ---(if provided and not `null`) will always be used instead of the value 1170 ---from `completionItem.itemDefaults`. 1171 --- 1172 ---If a field's value is ApplyKind.Merge, the values will be merged using 1173 ---the rules defined against each field below. 1174 --- 1175 ---Servers are only allowed to return `applyKind` if the client 1176 ---signals support for this via the `completionList.applyKindSupport` 1177 ---capability. 1178 --- 1179 ---@since 3.18.0 1180 ---@field applyKind? lsp.CompletionItemApplyKinds 1181 --- 1182 ---The completion items. 1183 ---@field items lsp.CompletionItem[] 1184 1185 ---Registration options for a {@link CompletionRequest}. 1186 ---@class lsp.CompletionRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.CompletionOptions 1187 1188 ---Parameters for a {@link HoverRequest}. 1189 ---@class lsp.HoverParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 1190 1191 ---The result of a hover request. 1192 ---@class lsp.Hover 1193 --- 1194 ---The hover's content 1195 ---@field contents lsp.MarkupContent|lsp.MarkedString|lsp.MarkedString[] 1196 --- 1197 ---An optional range inside the text document that is used to 1198 ---visualize the hover, e.g. by changing the background color. 1199 ---@field range? lsp.Range 1200 1201 ---Registration options for a {@link HoverRequest}. 1202 ---@class lsp.HoverRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.HoverOptions 1203 1204 ---Parameters for a {@link SignatureHelpRequest}. 1205 ---@class lsp.SignatureHelpParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 1206 --- 1207 ---The signature help context. This is only available if the client specifies 1208 ---to send this using the client capability `textDocument.signatureHelp.contextSupport === true` 1209 --- 1210 ---@since 3.15.0 1211 ---@field context? lsp.SignatureHelpContext 1212 1213 ---Signature help represents the signature of something 1214 ---callable. There can be multiple signature but only one 1215 ---active and only one active parameter. 1216 ---@class lsp.SignatureHelp 1217 --- 1218 ---One or more signatures. 1219 ---@field signatures lsp.SignatureInformation[] 1220 --- 1221 ---The active signature. If omitted or the value lies outside the 1222 ---range of `signatures` the value defaults to zero or is ignored if 1223 ---the `SignatureHelp` has no signatures. 1224 --- 1225 ---Whenever possible implementors should make an active decision about 1226 ---the active signature and shouldn't rely on a default value. 1227 --- 1228 ---In future version of the protocol this property might become 1229 ---mandatory to better express this. 1230 ---@field activeSignature? uinteger 1231 --- 1232 ---The active parameter of the active signature. 1233 --- 1234 ---If `null`, no parameter of the signature is active (for example a named 1235 ---argument that does not match any declared parameters). This is only valid 1236 ---if the client specifies the client capability 1237 ---`textDocument.signatureHelp.noActiveParameterSupport === true` 1238 --- 1239 ---If omitted or the value lies outside the range of 1240 ---`signatures[activeSignature].parameters` defaults to 0 if the active 1241 ---signature has parameters. 1242 --- 1243 ---If the active signature has no parameters it is ignored. 1244 --- 1245 ---In future version of the protocol this property might become 1246 ---mandatory (but still nullable) to better express the active parameter if 1247 ---the active signature does have any. 1248 ---@field activeParameter? uinteger|lsp.null 1249 1250 ---Registration options for a {@link SignatureHelpRequest}. 1251 ---@class lsp.SignatureHelpRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.SignatureHelpOptions 1252 1253 ---Parameters for a {@link DefinitionRequest}. 1254 ---@class lsp.DefinitionParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 1255 1256 ---Registration options for a {@link DefinitionRequest}. 1257 ---@class lsp.DefinitionRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DefinitionOptions 1258 1259 ---Parameters for a {@link ReferencesRequest}. 1260 ---@class lsp.ReferenceParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 1261 --- 1262 ---@field context lsp.ReferenceContext 1263 1264 ---Registration options for a {@link ReferencesRequest}. 1265 ---@class lsp.ReferenceRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.ReferenceOptions 1266 1267 ---Parameters for a {@link DocumentHighlightRequest}. 1268 ---@class lsp.DocumentHighlightParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams, lsp.PartialResultParams 1269 1270 ---A document highlight is a range inside a text document which deserves 1271 ---special attention. Usually a document highlight is visualized by changing 1272 ---the background color of its range. 1273 ---@class lsp.DocumentHighlight 1274 --- 1275 ---The range this highlight applies to. 1276 ---@field range lsp.Range 1277 --- 1278 ---The highlight kind, default is {@link DocumentHighlightKind.Text text}. 1279 ---@field kind? lsp.DocumentHighlightKind 1280 1281 ---Registration options for a {@link DocumentHighlightRequest}. 1282 ---@class lsp.DocumentHighlightRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentHighlightOptions 1283 1284 ---Parameters for a {@link DocumentSymbolRequest}. 1285 ---@class lsp.DocumentSymbolParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 1286 --- 1287 ---The text document. 1288 ---@field textDocument lsp.TextDocumentIdentifier 1289 1290 ---Represents information about programming constructs like variables, classes, 1291 ---interfaces etc. 1292 ---@class lsp.SymbolInformation: lsp.BaseSymbolInformation 1293 --- 1294 ---Indicates if this symbol is deprecated. 1295 --- 1296 ---@deprecated Use tags instead 1297 ---@field deprecated? boolean 1298 --- 1299 ---The location of this symbol. The location's range is used by a tool 1300 ---to reveal the location in the editor. If the symbol is selected in the 1301 ---tool the range's start information is used to position the cursor. So 1302 ---the range usually spans more than the actual symbol's name and does 1303 ---normally include things like visibility modifiers. 1304 --- 1305 ---The range doesn't have to denote a node range in the sense of an abstract 1306 ---syntax tree. It can therefore not be used to re-construct a hierarchy of 1307 ---the symbols. 1308 ---@field location lsp.Location 1309 1310 ---Represents programming constructs like variables, classes, interfaces etc. 1311 ---that appear in a document. Document symbols can be hierarchical and they 1312 ---have two ranges: one that encloses its definition and one that points to 1313 ---its most interesting range, e.g. the range of an identifier. 1314 ---@class lsp.DocumentSymbol 1315 --- 1316 ---The name of this symbol. Will be displayed in the user interface and therefore must not be 1317 ---an empty string or a string only consisting of white spaces. 1318 ---@field name string 1319 --- 1320 ---More detail for this symbol, e.g the signature of a function. 1321 ---@field detail? string 1322 --- 1323 ---The kind of this symbol. 1324 ---@field kind lsp.SymbolKind 1325 --- 1326 ---Tags for this document symbol. 1327 --- 1328 ---@since 3.16.0 1329 ---@field tags? lsp.SymbolTag[] 1330 --- 1331 ---Indicates if this symbol is deprecated. 1332 --- 1333 ---@deprecated Use tags instead 1334 ---@field deprecated? boolean 1335 --- 1336 ---The range enclosing this symbol not including leading/trailing whitespace but everything else 1337 ---like comments. This information is typically used to determine if the clients cursor is 1338 ---inside the symbol to reveal in the symbol in the UI. 1339 ---@field range lsp.Range 1340 --- 1341 ---The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. 1342 ---Must be contained by the `range`. 1343 ---@field selectionRange lsp.Range 1344 --- 1345 ---Children of this symbol, e.g. properties of a class. 1346 ---@field children? lsp.DocumentSymbol[] 1347 1348 ---Registration options for a {@link DocumentSymbolRequest}. 1349 ---@class lsp.DocumentSymbolRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentSymbolOptions 1350 1351 ---The parameters of a {@link CodeActionRequest}. 1352 ---@class lsp.CodeActionParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 1353 --- 1354 ---The document in which the command was invoked. 1355 ---@field textDocument lsp.TextDocumentIdentifier 1356 --- 1357 ---The range for which the command was invoked. 1358 ---@field range lsp.Range 1359 --- 1360 ---Context carrying additional information. 1361 ---@field context lsp.CodeActionContext 1362 1363 ---Represents a reference to a command. Provides a title which 1364 ---will be used to represent a command in the UI and, optionally, 1365 ---an array of arguments which will be passed to the command handler 1366 ---function when invoked. 1367 ---@class lsp.Command 1368 --- 1369 ---Title of the command, like `save`. 1370 ---@field title string 1371 --- 1372 ---An optional tooltip. 1373 --- 1374 ---@since 3.18.0 1375 ---@proposed 1376 ---@field tooltip? string 1377 --- 1378 ---The identifier of the actual command handler. 1379 ---@field command string 1380 --- 1381 ---Arguments that the command handler should be 1382 ---invoked with. 1383 ---@field arguments? lsp.LSPAny[] 1384 1385 ---A code action represents a change that can be performed in code, e.g. to fix a problem or 1386 ---to refactor code. 1387 --- 1388 ---A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed. 1389 ---@class lsp.CodeAction 1390 --- 1391 ---A short, human-readable, title for this code action. 1392 ---@field title string 1393 --- 1394 ---The kind of the code action. 1395 --- 1396 ---Used to filter code actions. 1397 ---@field kind? lsp.CodeActionKind 1398 --- 1399 ---The diagnostics that this code action resolves. 1400 ---@field diagnostics? lsp.Diagnostic[] 1401 --- 1402 ---Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted 1403 ---by keybindings. 1404 --- 1405 ---A quick fix should be marked preferred if it properly addresses the underlying error. 1406 ---A refactoring should be marked preferred if it is the most reasonable choice of actions to take. 1407 --- 1408 ---@since 3.15.0 1409 ---@field isPreferred? boolean 1410 --- 1411 ---Marks that the code action cannot currently be applied. 1412 --- 1413 ---Clients should follow the following guidelines regarding disabled code actions: 1414 --- 1415 --- - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) 1416 --- code action menus. 1417 --- 1418 --- - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type 1419 --- of code action, such as refactorings. 1420 --- 1421 --- - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions) 1422 --- that auto applies a code action and only disabled code actions are returned, the client should show the user an 1423 --- error message with `reason` in the editor. 1424 --- 1425 ---@since 3.16.0 1426 ---@field disabled? lsp.CodeActionDisabled 1427 --- 1428 ---The workspace edit this code action performs. 1429 ---@field edit? lsp.WorkspaceEdit 1430 --- 1431 ---A command this code action executes. If a code action 1432 ---provides an edit and a command, first the edit is 1433 ---executed and then the command. 1434 ---@field command? lsp.Command 1435 --- 1436 ---A data entry field that is preserved on a code action between 1437 ---a `textDocument/codeAction` and a `codeAction/resolve` request. 1438 --- 1439 ---@since 3.16.0 1440 ---@field data? lsp.LSPAny 1441 --- 1442 ---Tags for this code action. 1443 --- 1444 ---@since 3.18.0 - proposed 1445 ---@field tags? lsp.CodeActionTag[] 1446 1447 ---Registration options for a {@link CodeActionRequest}. 1448 ---@class lsp.CodeActionRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.CodeActionOptions 1449 1450 ---The parameters of a {@link WorkspaceSymbolRequest}. 1451 ---@class lsp.WorkspaceSymbolParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 1452 --- 1453 ---A query string to filter symbols by. Clients may send an empty 1454 ---string here to request all symbols. 1455 --- 1456 ---The `query`-parameter should be interpreted in a *relaxed way* as editors 1457 ---will apply their own highlighting and scoring on the results. A good rule 1458 ---of thumb is to match case-insensitive and to simply check that the 1459 ---characters of *query* appear in their order in a candidate symbol. 1460 ---Servers shouldn't use prefix, substring, or similar strict matching. 1461 ---@field query string 1462 1463 ---A special workspace symbol that supports locations without a range. 1464 --- 1465 ---See also SymbolInformation. 1466 --- 1467 ---@since 3.17.0 1468 ---@class lsp.WorkspaceSymbol: lsp.BaseSymbolInformation 1469 --- 1470 ---The location of the symbol. Whether a server is allowed to 1471 ---return a location without a range depends on the client 1472 ---capability `workspace.symbol.resolveSupport`. 1473 --- 1474 ---See SymbolInformation#location for more details. 1475 ---@field location lsp.Location|lsp.LocationUriOnly 1476 --- 1477 ---A data entry field that is preserved on a workspace symbol between a 1478 ---workspace symbol request and a workspace symbol resolve request. 1479 ---@field data? lsp.LSPAny 1480 1481 ---Registration options for a {@link WorkspaceSymbolRequest}. 1482 ---@class lsp.WorkspaceSymbolRegistrationOptions: lsp.WorkspaceSymbolOptions 1483 1484 ---The parameters of a {@link CodeLensRequest}. 1485 ---@class lsp.CodeLensParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 1486 --- 1487 ---The document to request code lens for. 1488 ---@field textDocument lsp.TextDocumentIdentifier 1489 1490 ---A code lens represents a {@link Command command} that should be shown along with 1491 ---source text, like the number of references, a way to run tests, etc. 1492 --- 1493 ---A code lens is _unresolved_ when no command is associated to it. For performance 1494 ---reasons the creation of a code lens and resolving should be done in two stages. 1495 ---@class lsp.CodeLens 1496 --- 1497 ---The range in which this code lens is valid. Should only span a single line. 1498 ---@field range lsp.Range 1499 --- 1500 ---The command this code lens represents. 1501 ---@field command? lsp.Command 1502 --- 1503 ---A data entry field that is preserved on a code lens item between 1504 ---a {@link CodeLensRequest} and a {@link CodeLensResolveRequest} 1505 ---@field data? lsp.LSPAny 1506 1507 ---Registration options for a {@link CodeLensRequest}. 1508 ---@class lsp.CodeLensRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.CodeLensOptions 1509 1510 ---The parameters of a {@link DocumentLinkRequest}. 1511 ---@class lsp.DocumentLinkParams: lsp.WorkDoneProgressParams, lsp.PartialResultParams 1512 --- 1513 ---The document to provide document links for. 1514 ---@field textDocument lsp.TextDocumentIdentifier 1515 1516 ---A document link is a range in a text document that links to an internal or external resource, like another 1517 ---text document or a web site. 1518 ---@class lsp.DocumentLink 1519 --- 1520 ---The range this link applies to. 1521 ---@field range lsp.Range 1522 --- 1523 ---The uri this link points to. If missing a resolve request is sent later. 1524 ---@field target? lsp.URI 1525 --- 1526 ---The tooltip text when you hover over this link. 1527 --- 1528 ---If a tooltip is provided, is will be displayed in a string that includes instructions on how to 1529 ---trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS, 1530 ---user settings, and localization. 1531 --- 1532 ---@since 3.15.0 1533 ---@field tooltip? string 1534 --- 1535 ---A data entry field that is preserved on a document link between a 1536 ---DocumentLinkRequest and a DocumentLinkResolveRequest. 1537 ---@field data? lsp.LSPAny 1538 1539 ---Registration options for a {@link DocumentLinkRequest}. 1540 ---@class lsp.DocumentLinkRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentLinkOptions 1541 1542 ---The parameters of a {@link DocumentFormattingRequest}. 1543 ---@class lsp.DocumentFormattingParams: lsp.WorkDoneProgressParams 1544 --- 1545 ---The document to format. 1546 ---@field textDocument lsp.TextDocumentIdentifier 1547 --- 1548 ---The format options. 1549 ---@field options lsp.FormattingOptions 1550 1551 ---Registration options for a {@link DocumentFormattingRequest}. 1552 ---@class lsp.DocumentFormattingRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentFormattingOptions 1553 1554 ---The parameters of a {@link DocumentRangeFormattingRequest}. 1555 ---@class lsp.DocumentRangeFormattingParams: lsp.WorkDoneProgressParams 1556 --- 1557 ---The document to format. 1558 ---@field textDocument lsp.TextDocumentIdentifier 1559 --- 1560 ---The range to format 1561 ---@field range lsp.Range 1562 --- 1563 ---The format options 1564 ---@field options lsp.FormattingOptions 1565 1566 ---Registration options for a {@link DocumentRangeFormattingRequest}. 1567 ---@class lsp.DocumentRangeFormattingRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentRangeFormattingOptions 1568 1569 ---The parameters of a {@link DocumentRangesFormattingRequest}. 1570 --- 1571 ---@since 3.18.0 1572 ---@proposed 1573 ---@class lsp.DocumentRangesFormattingParams: lsp.WorkDoneProgressParams 1574 --- 1575 ---The document to format. 1576 ---@field textDocument lsp.TextDocumentIdentifier 1577 --- 1578 ---The ranges to format 1579 ---@field ranges lsp.Range[] 1580 --- 1581 ---The format options 1582 ---@field options lsp.FormattingOptions 1583 1584 ---The parameters of a {@link DocumentOnTypeFormattingRequest}. 1585 ---@class lsp.DocumentOnTypeFormattingParams 1586 --- 1587 ---The document to format. 1588 ---@field textDocument lsp.TextDocumentIdentifier 1589 --- 1590 ---The position around which the on type formatting should happen. 1591 ---This is not necessarily the exact position where the character denoted 1592 ---by the property `ch` got typed. 1593 ---@field position lsp.Position 1594 --- 1595 ---The character that has been typed that triggered the formatting 1596 ---on type request. That is not necessarily the last character that 1597 ---got inserted into the document since the client could auto insert 1598 ---characters as well (e.g. like automatic brace completion). 1599 ---@field ch string 1600 --- 1601 ---The formatting options. 1602 ---@field options lsp.FormattingOptions 1603 1604 ---Registration options for a {@link DocumentOnTypeFormattingRequest}. 1605 ---@class lsp.DocumentOnTypeFormattingRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.DocumentOnTypeFormattingOptions 1606 1607 ---The parameters of a {@link RenameRequest}. 1608 ---@class lsp.RenameParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 1609 --- 1610 ---The new name of the symbol. If the given name is not valid the 1611 ---request must return a {@link ResponseError} with an 1612 ---appropriate message set. 1613 ---@field newName string 1614 1615 ---Registration options for a {@link RenameRequest}. 1616 ---@class lsp.RenameRegistrationOptions: lsp.TextDocumentRegistrationOptions, lsp.RenameOptions 1617 1618 ---@class lsp.PrepareRenameParams: lsp.TextDocumentPositionParams, lsp.WorkDoneProgressParams 1619 1620 ---The parameters of a {@link ExecuteCommandRequest}. 1621 ---@class lsp.ExecuteCommandParams: lsp.WorkDoneProgressParams 1622 --- 1623 ---The identifier of the actual command handler. 1624 ---@field command string 1625 --- 1626 ---Arguments that the command should be invoked with. 1627 ---@field arguments? lsp.LSPAny[] 1628 1629 ---Registration options for a {@link ExecuteCommandRequest}. 1630 ---@class lsp.ExecuteCommandRegistrationOptions: lsp.ExecuteCommandOptions 1631 1632 ---The parameters passed via an apply workspace edit request. 1633 ---@class lsp.ApplyWorkspaceEditParams 1634 --- 1635 ---An optional label of the workspace edit. This label is 1636 ---presented in the user interface for example on an undo 1637 ---stack to undo the workspace edit. 1638 ---@field label? string 1639 --- 1640 ---The edits to apply. 1641 ---@field edit lsp.WorkspaceEdit 1642 --- 1643 ---Additional data about the edit. 1644 --- 1645 ---@since 3.18.0 1646 ---@proposed 1647 ---@field metadata? lsp.WorkspaceEditMetadata 1648 1649 ---The result returned from the apply workspace edit request. 1650 --- 1651 ---@since 3.17 renamed from ApplyWorkspaceEditResponse 1652 ---@class lsp.ApplyWorkspaceEditResult 1653 --- 1654 ---Indicates whether the edit was applied or not. 1655 ---@field applied boolean 1656 --- 1657 ---An optional textual description for why the edit was not applied. 1658 ---This may be used by the server for diagnostic logging or to provide 1659 ---a suitable error for a request that triggered the edit. 1660 ---@field failureReason? string 1661 --- 1662 ---Depending on the client's failure handling strategy `failedChange` might 1663 ---contain the index of the change that failed. This property is only available 1664 ---if the client signals a `failureHandlingStrategy` in its client capabilities. 1665 ---@field failedChange? uinteger 1666 1667 ---@class lsp.WorkDoneProgressBegin 1668 --- 1669 ---@field kind "begin" 1670 --- 1671 ---Mandatory title of the progress operation. Used to briefly inform about 1672 ---the kind of operation being performed. 1673 --- 1674 ---Examples: "Indexing" or "Linking dependencies". 1675 ---@field title string 1676 --- 1677 ---Controls if a cancel button should show to allow the user to cancel the 1678 ---long running operation. Clients that don't support cancellation are allowed 1679 ---to ignore the setting. 1680 ---@field cancellable? boolean 1681 --- 1682 ---Optional, more detailed associated progress message. Contains 1683 ---complementary information to the `title`. 1684 --- 1685 ---Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". 1686 ---If unset, the previous progress message (if any) is still valid. 1687 ---@field message? string 1688 --- 1689 ---Optional progress percentage to display (value 100 is considered 100%). 1690 ---If not provided infinite progress is assumed and clients are allowed 1691 ---to ignore the `percentage` value in subsequent in report notifications. 1692 --- 1693 ---The value should be steadily rising. Clients are free to ignore values 1694 ---that are not following this rule. The value range is [0, 100]. 1695 ---@field percentage? uinteger 1696 1697 ---@class lsp.WorkDoneProgressReport 1698 --- 1699 ---@field kind "report" 1700 --- 1701 ---Controls enablement state of a cancel button. 1702 --- 1703 ---Clients that don't support cancellation or don't support controlling the button's 1704 ---enablement state are allowed to ignore the property. 1705 ---@field cancellable? boolean 1706 --- 1707 ---Optional, more detailed associated progress message. Contains 1708 ---complementary information to the `title`. 1709 --- 1710 ---Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". 1711 ---If unset, the previous progress message (if any) is still valid. 1712 ---@field message? string 1713 --- 1714 ---Optional progress percentage to display (value 100 is considered 100%). 1715 ---If not provided infinite progress is assumed and clients are allowed 1716 ---to ignore the `percentage` value in subsequent in report notifications. 1717 --- 1718 ---The value should be steadily rising. Clients are free to ignore values 1719 ---that are not following this rule. The value range is [0, 100] 1720 ---@field percentage? uinteger 1721 1722 ---@class lsp.WorkDoneProgressEnd 1723 --- 1724 ---@field kind "end" 1725 --- 1726 ---Optional, a final message indicating to for example indicate the outcome 1727 ---of the operation. 1728 ---@field message? string 1729 1730 ---@class lsp.SetTraceParams 1731 --- 1732 ---@field value lsp.TraceValue 1733 1734 ---@class lsp.LogTraceParams 1735 --- 1736 ---@field message string 1737 --- 1738 ---@field verbose? string 1739 1740 ---@class lsp.CancelParams 1741 --- 1742 ---The request id to cancel. 1743 ---@field id integer|string 1744 1745 ---@class lsp.ProgressParams 1746 --- 1747 ---The progress token provided by the client or server. 1748 ---@field token lsp.ProgressToken 1749 --- 1750 ---The progress data. 1751 ---@field value lsp.LSPAny 1752 1753 ---A parameter literal used in requests to pass a text document and a position inside that 1754 ---document. 1755 ---@class lsp.TextDocumentPositionParams 1756 --- 1757 ---The text document. 1758 ---@field textDocument lsp.TextDocumentIdentifier 1759 --- 1760 ---The position inside the text document. 1761 ---@field position lsp.Position 1762 1763 ---@class lsp.WorkDoneProgressParams 1764 --- 1765 ---An optional token that a server can use to report work done progress. 1766 ---@field workDoneToken? lsp.ProgressToken 1767 1768 ---@class lsp.PartialResultParams 1769 --- 1770 ---An optional token that a server can use to report partial results (e.g. streaming) to 1771 ---the client. 1772 ---@field partialResultToken? lsp.ProgressToken 1773 1774 ---Represents the connection of two locations. Provides additional metadata over normal {@link Location locations}, 1775 ---including an origin range. 1776 ---@class lsp.LocationLink 1777 --- 1778 ---Span of the origin of this link. 1779 --- 1780 ---Used as the underlined span for mouse interaction. Defaults to the word range at 1781 ---the definition position. 1782 ---@field originSelectionRange? lsp.Range 1783 --- 1784 ---The target resource identifier of this link. 1785 ---@field targetUri lsp.DocumentUri 1786 --- 1787 ---The full target range of this link. If the target for example is a symbol then target range is the 1788 ---range enclosing this symbol not including leading/trailing whitespace but everything else 1789 ---like comments. This information is typically used to highlight the range in the editor. 1790 ---@field targetRange lsp.Range 1791 --- 1792 ---The range that should be selected and revealed when this link is being followed, e.g the name of a function. 1793 ---Must be contained by the `targetRange`. See also `DocumentSymbol#range` 1794 ---@field targetSelectionRange lsp.Range 1795 1796 ---A range in a text document expressed as (zero-based) start and end positions. 1797 --- 1798 ---If you want to specify a range that contains a line including the line ending 1799 ---character(s) then use an end position denoting the start of the next line. 1800 ---For example: 1801 ---```ts 1802 ---{ 1803 --- start: { line: 5, character: 23 } 1804 --- end : { line 6, character : 0 } 1805 ---} 1806 ---``` 1807 ---@class lsp.Range 1808 --- 1809 ---The range's start position. 1810 ---@field start lsp.Position 1811 --- 1812 ---The range's end position. 1813 ---@field end lsp.Position 1814 1815 ---@class lsp.ImplementationOptions: lsp.WorkDoneProgressOptions 1816 1817 ---Static registration options to be returned in the initialize 1818 ---request. 1819 ---@class lsp.StaticRegistrationOptions 1820 --- 1821 ---The id used to register the request. The id can be used to deregister 1822 ---the request again. See also Registration#id. 1823 ---@field id? string 1824 1825 ---@class lsp.TypeDefinitionOptions: lsp.WorkDoneProgressOptions 1826 1827 ---The workspace folder change event. 1828 ---@class lsp.WorkspaceFoldersChangeEvent 1829 --- 1830 ---The array of added workspace folders 1831 ---@field added lsp.WorkspaceFolder[] 1832 --- 1833 ---The array of the removed workspace folders 1834 ---@field removed lsp.WorkspaceFolder[] 1835 1836 ---@class lsp.ConfigurationItem 1837 --- 1838 ---The scope to get the configuration section for. 1839 ---@field scopeUri? lsp.URI 1840 --- 1841 ---The configuration section asked for. 1842 ---@field section? string 1843 1844 ---A literal to identify a text document in the client. 1845 ---@class lsp.TextDocumentIdentifier 1846 --- 1847 ---The text document's uri. 1848 ---@field uri lsp.DocumentUri 1849 1850 ---Represents a color in RGBA space. 1851 ---@class lsp.Color 1852 --- 1853 ---The red component of this color in the range [0-1]. 1854 ---@field red decimal 1855 --- 1856 ---The green component of this color in the range [0-1]. 1857 ---@field green decimal 1858 --- 1859 ---The blue component of this color in the range [0-1]. 1860 ---@field blue decimal 1861 --- 1862 ---The alpha component of this color in the range [0-1]. 1863 ---@field alpha decimal 1864 1865 ---@class lsp.DocumentColorOptions: lsp.WorkDoneProgressOptions 1866 1867 ---@class lsp.FoldingRangeOptions: lsp.WorkDoneProgressOptions 1868 1869 ---@class lsp.DeclarationOptions: lsp.WorkDoneProgressOptions 1870 1871 ---Position in a text document expressed as zero-based line and character 1872 ---offset. Prior to 3.17 the offsets were always based on a UTF-16 string 1873 ---representation. So a string of the form `a𐐀b` the character offset of the 1874 ---character `a` is 0, the character offset of `𐐀` is 1 and the character 1875 ---offset of b is 3 since `𐐀` is represented using two code units in UTF-16. 1876 ---Since 3.17 clients and servers can agree on a different string encoding 1877 ---representation (e.g. UTF-8). The client announces it's supported encoding 1878 ---via the client capability [`general.positionEncodings`](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#clientCapabilities). 1879 ---The value is an array of position encodings the client supports, with 1880 ---decreasing preference (e.g. the encoding at index `0` is the most preferred 1881 ---one). To stay backwards compatible the only mandatory encoding is UTF-16 1882 ---represented via the string `utf-16`. The server can pick one of the 1883 ---encodings offered by the client and signals that encoding back to the 1884 ---client via the initialize result's property 1885 ---[`capabilities.positionEncoding`](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#serverCapabilities). If the string value 1886 ---`utf-16` is missing from the client's capability `general.positionEncodings` 1887 ---servers can safely assume that the client supports UTF-16. If the server 1888 ---omits the position encoding in its initialize result the encoding defaults 1889 ---to the string value `utf-16`. Implementation considerations: since the 1890 ---conversion from one encoding into another requires the content of the 1891 ---file / line the conversion is best done where the file is read which is 1892 ---usually on the server side. 1893 --- 1894 ---Positions are line end character agnostic. So you can not specify a position 1895 ---that denotes `\r|\n` or `\n|` where `|` represents the character offset. 1896 --- 1897 ---@since 3.17.0 - support for negotiated position encoding. 1898 ---@class lsp.Position 1899 --- 1900 ---Line position in a document (zero-based). 1901 ---@field line uinteger 1902 --- 1903 ---Character offset on a line in a document (zero-based). 1904 --- 1905 ---The meaning of this offset is determined by the negotiated 1906 ---`PositionEncodingKind`. 1907 ---@field character uinteger 1908 1909 ---@class lsp.SelectionRangeOptions: lsp.WorkDoneProgressOptions 1910 1911 ---Call hierarchy options used during static registration. 1912 --- 1913 ---@since 3.16.0 1914 ---@class lsp.CallHierarchyOptions: lsp.WorkDoneProgressOptions 1915 1916 ---@since 3.16.0 1917 ---@class lsp.SemanticTokensOptions: lsp.WorkDoneProgressOptions 1918 --- 1919 ---The legend used by the server 1920 ---@field legend lsp.SemanticTokensLegend 1921 --- 1922 ---Server supports providing semantic tokens for a specific range 1923 ---of a document. 1924 ---@field range? boolean|lsp._anonym1.range 1925 --- 1926 ---Server supports providing semantic tokens for a full document. 1927 ---@field full? boolean|lsp.SemanticTokensFullDelta 1928 1929 ---@since 3.16.0 1930 ---@class lsp.SemanticTokensEdit 1931 --- 1932 ---The start offset of the edit. 1933 ---@field start uinteger 1934 --- 1935 ---The count of elements to remove. 1936 ---@field deleteCount uinteger 1937 --- 1938 ---The elements to insert. 1939 ---@field data? uinteger[] 1940 1941 ---@class lsp.LinkedEditingRangeOptions: lsp.WorkDoneProgressOptions 1942 1943 ---Represents information on a file/folder create. 1944 --- 1945 ---@since 3.16.0 1946 ---@class lsp.FileCreate 1947 --- 1948 ---A file:// URI for the location of the file/folder being created. 1949 ---@field uri string 1950 1951 ---Describes textual changes on a text document. A TextDocumentEdit describes all changes 1952 ---on a document version Si and after they are applied move the document to version Si+1. 1953 ---So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any 1954 ---kind of ordering. However the edits must be non overlapping. 1955 ---@class lsp.TextDocumentEdit 1956 --- 1957 ---The text document to change. 1958 ---@field textDocument lsp.OptionalVersionedTextDocumentIdentifier 1959 --- 1960 ---The edits to be applied. 1961 --- 1962 ---@since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a 1963 ---client capability. 1964 --- 1965 ---@since 3.18.0 - support for SnippetTextEdit. This is guarded using a 1966 ---client capability. 1967 ---@field edits (lsp.TextEdit|lsp.AnnotatedTextEdit|lsp.SnippetTextEdit)[] 1968 1969 ---Create file operation. 1970 ---@class lsp.CreateFile: lsp.ResourceOperation 1971 --- 1972 ---A create 1973 ---@field kind "create" 1974 --- 1975 ---The resource to create. 1976 ---@field uri lsp.DocumentUri 1977 --- 1978 ---Additional options 1979 ---@field options? lsp.CreateFileOptions 1980 1981 ---Rename file operation 1982 ---@class lsp.RenameFile: lsp.ResourceOperation 1983 --- 1984 ---A rename 1985 ---@field kind "rename" 1986 --- 1987 ---The old (existing) location. 1988 ---@field oldUri lsp.DocumentUri 1989 --- 1990 ---The new location. 1991 ---@field newUri lsp.DocumentUri 1992 --- 1993 ---Rename options. 1994 ---@field options? lsp.RenameFileOptions 1995 1996 ---Delete file operation 1997 ---@class lsp.DeleteFile: lsp.ResourceOperation 1998 --- 1999 ---A delete 2000 ---@field kind "delete" 2001 --- 2002 ---The file to delete. 2003 ---@field uri lsp.DocumentUri 2004 --- 2005 ---Delete options. 2006 ---@field options? lsp.DeleteFileOptions 2007 2008 ---Additional information that describes document changes. 2009 --- 2010 ---@since 3.16.0 2011 ---@class lsp.ChangeAnnotation 2012 --- 2013 ---A human-readable string describing the actual change. The string 2014 ---is rendered prominent in the user interface. 2015 ---@field label string 2016 --- 2017 ---A flag which indicates that user confirmation is needed 2018 ---before applying the change. 2019 ---@field needsConfirmation? boolean 2020 --- 2021 ---A human-readable string which is rendered less prominent in 2022 ---the user interface. 2023 ---@field description? string 2024 2025 ---A filter to describe in which file operation requests or notifications 2026 ---the server is interested in receiving. 2027 --- 2028 ---@since 3.16.0 2029 ---@class lsp.FileOperationFilter 2030 --- 2031 ---A Uri scheme like `file` or `untitled`. 2032 ---@field scheme? string 2033 --- 2034 ---The actual file operation pattern. 2035 ---@field pattern lsp.FileOperationPattern 2036 2037 ---Represents information on a file/folder rename. 2038 --- 2039 ---@since 3.16.0 2040 ---@class lsp.FileRename 2041 --- 2042 ---A file:// URI for the original location of the file/folder being renamed. 2043 ---@field oldUri string 2044 --- 2045 ---A file:// URI for the new location of the file/folder being renamed. 2046 ---@field newUri string 2047 2048 ---Represents information on a file/folder delete. 2049 --- 2050 ---@since 3.16.0 2051 ---@class lsp.FileDelete 2052 --- 2053 ---A file:// URI for the location of the file/folder being deleted. 2054 ---@field uri string 2055 2056 ---@class lsp.MonikerOptions: lsp.WorkDoneProgressOptions 2057 2058 ---Type hierarchy options used during static registration. 2059 --- 2060 ---@since 3.17.0 2061 ---@class lsp.TypeHierarchyOptions: lsp.WorkDoneProgressOptions 2062 2063 ---@since 3.17.0 2064 ---@class lsp.InlineValueContext 2065 --- 2066 ---The stack frame (as a DAP Id) where the execution has stopped. 2067 ---@field frameId integer 2068 --- 2069 ---The document range where execution has stopped. 2070 ---Typically the end position of the range denotes the line where the inline values are shown. 2071 ---@field stoppedLocation lsp.Range 2072 2073 ---Provide inline value as text. 2074 --- 2075 ---@since 3.17.0 2076 ---@class lsp.InlineValueText 2077 --- 2078 ---The document range for which the inline value applies. 2079 ---@field range lsp.Range 2080 --- 2081 ---The text of the inline value. 2082 ---@field text string 2083 2084 ---Provide inline value through a variable lookup. 2085 ---If only a range is specified, the variable name will be extracted from the underlying document. 2086 ---An optional variable name can be used to override the extracted name. 2087 --- 2088 ---@since 3.17.0 2089 ---@class lsp.InlineValueVariableLookup 2090 --- 2091 ---The document range for which the inline value applies. 2092 ---The range is used to extract the variable name from the underlying document. 2093 ---@field range lsp.Range 2094 --- 2095 ---If specified the name of the variable to look up. 2096 ---@field variableName? string 2097 --- 2098 ---How to perform the lookup. 2099 ---@field caseSensitiveLookup boolean 2100 2101 ---Provide an inline value through an expression evaluation. 2102 ---If only a range is specified, the expression will be extracted from the underlying document. 2103 ---An optional expression can be used to override the extracted expression. 2104 --- 2105 ---@since 3.17.0 2106 ---@class lsp.InlineValueEvaluatableExpression 2107 --- 2108 ---The document range for which the inline value applies. 2109 ---The range is used to extract the evaluatable expression from the underlying document. 2110 ---@field range lsp.Range 2111 --- 2112 ---If specified the expression overrides the extracted expression. 2113 ---@field expression? string 2114 2115 ---Inline value options used during static registration. 2116 --- 2117 ---@since 3.17.0 2118 ---@class lsp.InlineValueOptions: lsp.WorkDoneProgressOptions 2119 2120 ---An inlay hint label part allows for interactive and composite labels 2121 ---of inlay hints. 2122 --- 2123 ---@since 3.17.0 2124 ---@class lsp.InlayHintLabelPart 2125 --- 2126 ---The value of this label part. 2127 ---@field value string 2128 --- 2129 ---The tooltip text when you hover over this label part. Depending on 2130 ---the client capability `inlayHint.resolveSupport` clients might resolve 2131 ---this property late using the resolve request. 2132 ---@field tooltip? string|lsp.MarkupContent 2133 --- 2134 ---An optional source code location that represents this 2135 ---label part. 2136 --- 2137 ---The editor will use this location for the hover and for code navigation 2138 ---features: This part will become a clickable link that resolves to the 2139 ---definition of the symbol at the given location (not necessarily the 2140 ---location itself), it shows the hover that shows at the given location, 2141 ---and it shows a context menu with further code navigation commands. 2142 --- 2143 ---Depending on the client capability `inlayHint.resolveSupport` clients 2144 ---might resolve this property late using the resolve request. 2145 ---@field location? lsp.Location 2146 --- 2147 ---An optional command for this label part. 2148 --- 2149 ---Depending on the client capability `inlayHint.resolveSupport` clients 2150 ---might resolve this property late using the resolve request. 2151 ---@field command? lsp.Command 2152 2153 ---A `MarkupContent` literal represents a string value which content is interpreted base on its 2154 ---kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds. 2155 --- 2156 ---If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues. 2157 ---See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting 2158 --- 2159 ---Here is an example how such a string can be constructed using JavaScript / TypeScript: 2160 ---```ts 2161 ---let markdown: MarkdownContent = { 2162 --- kind: MarkupKind.Markdown, 2163 --- value: [ 2164 --- '# Header', 2165 --- 'Some text', 2166 --- '```typescript', 2167 --- 'someCode();', 2168 --- '```' 2169 --- ].join('\n') 2170 ---}; 2171 ---``` 2172 --- 2173 ---*Please Note* that clients might sanitize the return markdown. A client could decide to 2174 ---remove HTML from the markdown to avoid script execution. 2175 ---@class lsp.MarkupContent 2176 --- 2177 ---The type of the Markup 2178 ---@field kind lsp.MarkupKind 2179 --- 2180 ---The content itself 2181 ---@field value string 2182 2183 ---Inlay hint options used during static registration. 2184 --- 2185 ---@since 3.17.0 2186 ---@class lsp.InlayHintOptions: lsp.WorkDoneProgressOptions 2187 --- 2188 ---The server provides support to resolve additional 2189 ---information for an inlay hint item. 2190 ---@field resolveProvider? boolean 2191 2192 ---A full diagnostic report with a set of related documents. 2193 --- 2194 ---@since 3.17.0 2195 ---@class lsp.RelatedFullDocumentDiagnosticReport: lsp.FullDocumentDiagnosticReport 2196 --- 2197 ---Diagnostics of related documents. This information is useful 2198 ---in programming languages where code in a file A can generate 2199 ---diagnostics in a file B which A depends on. An example of 2200 ---such a language is C/C++ where marco definitions in a file 2201 ---a.cpp and result in errors in a header file b.hpp. 2202 --- 2203 ---@since 3.17.0 2204 ---@field relatedDocuments? table<lsp.DocumentUri, lsp.FullDocumentDiagnosticReport|lsp.UnchangedDocumentDiagnosticReport> 2205 2206 ---An unchanged diagnostic report with a set of related documents. 2207 --- 2208 ---@since 3.17.0 2209 ---@class lsp.RelatedUnchangedDocumentDiagnosticReport: lsp.UnchangedDocumentDiagnosticReport 2210 --- 2211 ---Diagnostics of related documents. This information is useful 2212 ---in programming languages where code in a file A can generate 2213 ---diagnostics in a file B which A depends on. An example of 2214 ---such a language is C/C++ where marco definitions in a file 2215 ---a.cpp and result in errors in a header file b.hpp. 2216 --- 2217 ---@since 3.17.0 2218 ---@field relatedDocuments? table<lsp.DocumentUri, lsp.FullDocumentDiagnosticReport|lsp.UnchangedDocumentDiagnosticReport> 2219 2220 ---A diagnostic report with a full set of problems. 2221 --- 2222 ---@since 3.17.0 2223 ---@class lsp.FullDocumentDiagnosticReport 2224 --- 2225 ---A full document diagnostic report. 2226 ---@field kind "full" 2227 --- 2228 ---An optional result id. If provided it will 2229 ---be sent on the next diagnostic request for the 2230 ---same document. 2231 ---@field resultId? string 2232 --- 2233 ---The actual items. 2234 ---@field items lsp.Diagnostic[] 2235 2236 ---A diagnostic report indicating that the last returned 2237 ---report is still accurate. 2238 --- 2239 ---@since 3.17.0 2240 ---@class lsp.UnchangedDocumentDiagnosticReport 2241 --- 2242 ---A document diagnostic report indicating 2243 ---no changes to the last result. A server can 2244 ---only return `unchanged` if result ids are 2245 ---provided. 2246 ---@field kind "unchanged" 2247 --- 2248 ---A result id which will be sent on the next 2249 ---diagnostic request for the same document. 2250 ---@field resultId string 2251 2252 ---Diagnostic options. 2253 --- 2254 ---@since 3.17.0 2255 ---@class lsp.DiagnosticOptions: lsp.WorkDoneProgressOptions 2256 --- 2257 ---An optional identifier under which the diagnostics are 2258 ---managed by the client. 2259 ---@field identifier? string 2260 --- 2261 ---Whether the language has inter file dependencies meaning that 2262 ---editing code in one file can result in a different diagnostic 2263 ---set in another file. Inter file dependencies are common for 2264 ---most programming languages and typically uncommon for linters. 2265 ---@field interFileDependencies boolean 2266 --- 2267 ---The server provides support for workspace diagnostics as well. 2268 ---@field workspaceDiagnostics boolean 2269 2270 ---A previous result id in a workspace pull request. 2271 --- 2272 ---@since 3.17.0 2273 ---@class lsp.PreviousResultId 2274 --- 2275 ---The URI for which the client knowns a 2276 ---result id. 2277 ---@field uri lsp.DocumentUri 2278 --- 2279 ---The value of the previous result id. 2280 ---@field value string 2281 2282 ---A notebook document. 2283 --- 2284 ---@since 3.17.0 2285 ---@class lsp.NotebookDocument 2286 --- 2287 ---The notebook document's uri. 2288 ---@field uri lsp.URI 2289 --- 2290 ---The type of the notebook. 2291 ---@field notebookType string 2292 --- 2293 ---The version number of this document (it will increase after each 2294 ---change, including undo/redo). 2295 ---@field version integer 2296 --- 2297 ---Additional metadata stored with the notebook 2298 ---document. 2299 --- 2300 ---Note: should always be an object literal (e.g. LSPObject) 2301 ---@field metadata? lsp.LSPObject 2302 --- 2303 ---The cells of a notebook. 2304 ---@field cells lsp.NotebookCell[] 2305 2306 ---An item to transfer a text document from the client to the 2307 ---server. 2308 ---@class lsp.TextDocumentItem 2309 --- 2310 ---The text document's uri. 2311 ---@field uri lsp.DocumentUri 2312 --- 2313 ---The text document's language identifier. 2314 ---@field languageId lsp.LanguageKind 2315 --- 2316 ---The version number of this document (it will increase after each 2317 ---change, including undo/redo). 2318 ---@field version integer 2319 --- 2320 ---The content of the opened text document. 2321 ---@field text string 2322 2323 ---Options specific to a notebook plus its cells 2324 ---to be synced to the server. 2325 --- 2326 ---If a selector provides a notebook document 2327 ---filter but no cell selector all cells of a 2328 ---matching notebook document will be synced. 2329 --- 2330 ---If a selector provides no notebook document 2331 ---filter but only a cell selector all notebook 2332 ---document that contain at least one matching 2333 ---cell will be synced. 2334 --- 2335 ---@since 3.17.0 2336 ---@class lsp.NotebookDocumentSyncOptions 2337 --- 2338 ---The notebooks to be synced 2339 ---@field notebookSelector (lsp.NotebookDocumentFilterWithNotebook|lsp.NotebookDocumentFilterWithCells)[] 2340 --- 2341 ---Whether save notification should be forwarded to 2342 ---the server. Will only be honored if mode === `notebook`. 2343 ---@field save? boolean 2344 2345 ---A versioned notebook document identifier. 2346 --- 2347 ---@since 3.17.0 2348 ---@class lsp.VersionedNotebookDocumentIdentifier 2349 --- 2350 ---The version number of this notebook document. 2351 ---@field version integer 2352 --- 2353 ---The notebook document's uri. 2354 ---@field uri lsp.URI 2355 2356 ---A change event for a notebook document. 2357 --- 2358 ---@since 3.17.0 2359 ---@class lsp.NotebookDocumentChangeEvent 2360 --- 2361 ---The changed meta data if any. 2362 --- 2363 ---Note: should always be an object literal (e.g. LSPObject) 2364 ---@field metadata? lsp.LSPObject 2365 --- 2366 ---Changes to cells 2367 ---@field cells? lsp.NotebookDocumentCellChanges 2368 2369 ---A literal to identify a notebook document in the client. 2370 --- 2371 ---@since 3.17.0 2372 ---@class lsp.NotebookDocumentIdentifier 2373 --- 2374 ---The notebook document's uri. 2375 ---@field uri lsp.URI 2376 2377 ---Provides information about the context in which an inline completion was requested. 2378 --- 2379 ---@since 3.18.0 2380 ---@proposed 2381 ---@class lsp.InlineCompletionContext 2382 --- 2383 ---Describes how the inline completion was triggered. 2384 ---@field triggerKind lsp.InlineCompletionTriggerKind 2385 --- 2386 ---Provides information about the currently selected item in the autocomplete widget if it is visible. 2387 ---@field selectedCompletionInfo? lsp.SelectedCompletionInfo 2388 2389 ---A string value used as a snippet is a template which allows to insert text 2390 ---and to control the editor cursor when insertion happens. 2391 --- 2392 ---A snippet can define tab stops and placeholders with `$1`, `$2` 2393 ---and `${3:foo}`. `$0` defines the final tab stop, it defaults to 2394 ---the end of the snippet. Variables are defined with `$name` and 2395 ---`${name:default value}`. 2396 --- 2397 ---@since 3.18.0 2398 ---@proposed 2399 ---@class lsp.StringValue 2400 --- 2401 ---The kind of string value. 2402 ---@field kind "snippet" 2403 --- 2404 ---The snippet string. 2405 ---@field value string 2406 2407 ---Inline completion options used during static registration. 2408 --- 2409 ---@since 3.18.0 2410 ---@proposed 2411 ---@class lsp.InlineCompletionOptions: lsp.WorkDoneProgressOptions 2412 2413 ---Text document content provider options. 2414 --- 2415 ---@since 3.18.0 2416 ---@proposed 2417 ---@class lsp.TextDocumentContentOptions 2418 --- 2419 ---The schemes for which the server provides content. 2420 ---@field schemes string[] 2421 2422 ---General parameters to register for a notification or to register a provider. 2423 ---@class lsp.Registration 2424 --- 2425 ---The id used to register the request. The id can be used to deregister 2426 ---the request again. 2427 ---@field id string 2428 --- 2429 ---The method / capability to register for. 2430 ---@field method vim.lsp.protocol.Method 2431 --- 2432 ---Options necessary for the registration. 2433 ---@field registerOptions? lsp.LSPAny 2434 2435 ---General parameters to unregister a request or notification. 2436 ---@class lsp.Unregistration 2437 --- 2438 ---The id used to unregister the request or notification. Usually an id 2439 ---provided during the register request. 2440 ---@field id string 2441 --- 2442 ---The method to unregister for. 2443 ---@field method vim.lsp.protocol.Method 2444 2445 ---The initialize parameters 2446 ---@class lsp._InitializeParams: lsp.WorkDoneProgressParams 2447 --- 2448 ---The process Id of the parent process that started 2449 ---the server. 2450 --- 2451 ---Is `null` if the process has not been started by another process. 2452 ---If the parent process is not alive then the server should exit. 2453 ---@field processId integer|lsp.null 2454 --- 2455 ---Information about the client 2456 --- 2457 ---@since 3.15.0 2458 ---@field clientInfo? lsp.ClientInfo 2459 --- 2460 ---The locale the client is currently showing the user interface 2461 ---in. This must not necessarily be the locale of the operating 2462 ---system. 2463 --- 2464 ---Uses IETF language tags as the value's syntax 2465 ---(See https://en.wikipedia.org/wiki/IETF_language_tag) 2466 --- 2467 ---@since 3.16.0 2468 ---@field locale? string 2469 --- 2470 ---The rootPath of the workspace. Is null 2471 ---if no folder is open. 2472 --- 2473 ---@deprecated in favour of rootUri. 2474 ---@field rootPath? string|lsp.null 2475 --- 2476 ---The rootUri of the workspace. Is null if no 2477 ---folder is open. If both `rootPath` and `rootUri` are set 2478 ---`rootUri` wins. 2479 --- 2480 ---@deprecated in favour of workspaceFolders. 2481 ---@field rootUri lsp.DocumentUri|lsp.null 2482 --- 2483 ---The capabilities provided by the client (editor or tool) 2484 ---@field capabilities lsp.ClientCapabilities 2485 --- 2486 ---User provided initialization options. 2487 ---@field initializationOptions? lsp.LSPAny 2488 --- 2489 ---The initial trace setting. If omitted trace is disabled ('off'). 2490 ---@field trace? lsp.TraceValue 2491 2492 ---@class lsp.WorkspaceFoldersInitializeParams 2493 --- 2494 ---The workspace folders configured in the client when the server starts. 2495 --- 2496 ---This property is only available if the client supports workspace folders. 2497 ---It can be `null` if the client supports workspace folders but none are 2498 ---configured. 2499 --- 2500 ---@since 3.6.0 2501 ---@field workspaceFolders? lsp.WorkspaceFolder[]|lsp.null 2502 2503 ---Defines the capabilities provided by a language 2504 ---server. 2505 ---@class lsp.ServerCapabilities 2506 --- 2507 ---The position encoding the server picked from the encodings offered 2508 ---by the client via the client capability `general.positionEncodings`. 2509 --- 2510 ---If the client didn't provide any position encodings the only valid 2511 ---value that a server can return is 'utf-16'. 2512 --- 2513 ---If omitted it defaults to 'utf-16'. 2514 --- 2515 ---@since 3.17.0 2516 ---@field positionEncoding? lsp.PositionEncodingKind 2517 --- 2518 ---Defines how text documents are synced. Is either a detailed structure 2519 ---defining each notification or for backwards compatibility the 2520 ---TextDocumentSyncKind number. 2521 ---@field textDocumentSync? lsp.TextDocumentSyncOptions|lsp.TextDocumentSyncKind 2522 --- 2523 ---Defines how notebook documents are synced. 2524 --- 2525 ---@since 3.17.0 2526 ---@field notebookDocumentSync? lsp.NotebookDocumentSyncOptions|lsp.NotebookDocumentSyncRegistrationOptions 2527 --- 2528 ---The server provides completion support. 2529 ---@field completionProvider? lsp.CompletionOptions 2530 --- 2531 ---The server provides hover support. 2532 ---@field hoverProvider? boolean|lsp.HoverOptions 2533 --- 2534 ---The server provides signature help support. 2535 ---@field signatureHelpProvider? lsp.SignatureHelpOptions 2536 --- 2537 ---The server provides Goto Declaration support. 2538 ---@field declarationProvider? boolean|lsp.DeclarationOptions|lsp.DeclarationRegistrationOptions 2539 --- 2540 ---The server provides goto definition support. 2541 ---@field definitionProvider? boolean|lsp.DefinitionOptions 2542 --- 2543 ---The server provides Goto Type Definition support. 2544 ---@field typeDefinitionProvider? boolean|lsp.TypeDefinitionOptions|lsp.TypeDefinitionRegistrationOptions 2545 --- 2546 ---The server provides Goto Implementation support. 2547 ---@field implementationProvider? boolean|lsp.ImplementationOptions|lsp.ImplementationRegistrationOptions 2548 --- 2549 ---The server provides find references support. 2550 ---@field referencesProvider? boolean|lsp.ReferenceOptions 2551 --- 2552 ---The server provides document highlight support. 2553 ---@field documentHighlightProvider? boolean|lsp.DocumentHighlightOptions 2554 --- 2555 ---The server provides document symbol support. 2556 ---@field documentSymbolProvider? boolean|lsp.DocumentSymbolOptions 2557 --- 2558 ---The server provides code actions. CodeActionOptions may only be 2559 ---specified if the client states that it supports 2560 ---`codeActionLiteralSupport` in its initial `initialize` request. 2561 ---@field codeActionProvider? boolean|lsp.CodeActionOptions 2562 --- 2563 ---The server provides code lens. 2564 ---@field codeLensProvider? lsp.CodeLensOptions 2565 --- 2566 ---The server provides document link support. 2567 ---@field documentLinkProvider? lsp.DocumentLinkOptions 2568 --- 2569 ---The server provides color provider support. 2570 ---@field colorProvider? boolean|lsp.DocumentColorOptions|lsp.DocumentColorRegistrationOptions 2571 --- 2572 ---The server provides workspace symbol support. 2573 ---@field workspaceSymbolProvider? boolean|lsp.WorkspaceSymbolOptions 2574 --- 2575 ---The server provides document formatting. 2576 ---@field documentFormattingProvider? boolean|lsp.DocumentFormattingOptions 2577 --- 2578 ---The server provides document range formatting. 2579 ---@field documentRangeFormattingProvider? boolean|lsp.DocumentRangeFormattingOptions 2580 --- 2581 ---The server provides document formatting on typing. 2582 ---@field documentOnTypeFormattingProvider? lsp.DocumentOnTypeFormattingOptions 2583 --- 2584 ---The server provides rename support. RenameOptions may only be 2585 ---specified if the client states that it supports 2586 ---`prepareSupport` in its initial `initialize` request. 2587 ---@field renameProvider? boolean|lsp.RenameOptions 2588 --- 2589 ---The server provides folding provider support. 2590 ---@field foldingRangeProvider? boolean|lsp.FoldingRangeOptions|lsp.FoldingRangeRegistrationOptions 2591 --- 2592 ---The server provides selection range support. 2593 ---@field selectionRangeProvider? boolean|lsp.SelectionRangeOptions|lsp.SelectionRangeRegistrationOptions 2594 --- 2595 ---The server provides execute command support. 2596 ---@field executeCommandProvider? lsp.ExecuteCommandOptions 2597 --- 2598 ---The server provides call hierarchy support. 2599 --- 2600 ---@since 3.16.0 2601 ---@field callHierarchyProvider? boolean|lsp.CallHierarchyOptions|lsp.CallHierarchyRegistrationOptions 2602 --- 2603 ---The server provides linked editing range support. 2604 --- 2605 ---@since 3.16.0 2606 ---@field linkedEditingRangeProvider? boolean|lsp.LinkedEditingRangeOptions|lsp.LinkedEditingRangeRegistrationOptions 2607 --- 2608 ---The server provides semantic tokens support. 2609 --- 2610 ---@since 3.16.0 2611 ---@field semanticTokensProvider? lsp.SemanticTokensOptions|lsp.SemanticTokensRegistrationOptions 2612 --- 2613 ---The server provides moniker support. 2614 --- 2615 ---@since 3.16.0 2616 ---@field monikerProvider? boolean|lsp.MonikerOptions|lsp.MonikerRegistrationOptions 2617 --- 2618 ---The server provides type hierarchy support. 2619 --- 2620 ---@since 3.17.0 2621 ---@field typeHierarchyProvider? boolean|lsp.TypeHierarchyOptions|lsp.TypeHierarchyRegistrationOptions 2622 --- 2623 ---The server provides inline values. 2624 --- 2625 ---@since 3.17.0 2626 ---@field inlineValueProvider? boolean|lsp.InlineValueOptions|lsp.InlineValueRegistrationOptions 2627 --- 2628 ---The server provides inlay hints. 2629 --- 2630 ---@since 3.17.0 2631 ---@field inlayHintProvider? boolean|lsp.InlayHintOptions|lsp.InlayHintRegistrationOptions 2632 --- 2633 ---The server has support for pull model diagnostics. 2634 --- 2635 ---@since 3.17.0 2636 ---@field diagnosticProvider? lsp.DiagnosticOptions|lsp.DiagnosticRegistrationOptions 2637 --- 2638 ---Inline completion options used during static registration. 2639 --- 2640 ---@since 3.18.0 2641 ---@proposed 2642 ---@field inlineCompletionProvider? boolean|lsp.InlineCompletionOptions 2643 --- 2644 ---Workspace specific server capabilities. 2645 ---@field workspace? lsp.WorkspaceOptions 2646 --- 2647 ---Experimental server capabilities. 2648 ---@field experimental? lsp.LSPAny 2649 2650 ---Information about the server 2651 --- 2652 ---@since 3.15.0 2653 ---@since 3.18.0 ServerInfo type name added. 2654 ---@class lsp.ServerInfo 2655 --- 2656 ---The name of the server as defined by the server. 2657 ---@field name string 2658 --- 2659 ---The server's version as defined by the server. 2660 ---@field version? string 2661 2662 ---A text document identifier to denote a specific version of a text document. 2663 ---@class lsp.VersionedTextDocumentIdentifier: lsp.TextDocumentIdentifier 2664 --- 2665 ---The version number of this document. 2666 ---@field version integer 2667 2668 ---Save options. 2669 ---@class lsp.SaveOptions 2670 --- 2671 ---The client is supposed to include the content on save. 2672 ---@field includeText? boolean 2673 2674 ---An event describing a file change. 2675 ---@class lsp.FileEvent 2676 --- 2677 ---The file's uri. 2678 ---@field uri lsp.DocumentUri 2679 --- 2680 ---The change type. 2681 ---@field type lsp.FileChangeType 2682 2683 ---@class lsp.FileSystemWatcher 2684 --- 2685 ---The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail. 2686 --- 2687 ---@since 3.17.0 support for relative patterns. 2688 ---@field globPattern lsp.GlobPattern 2689 --- 2690 ---The kind of events of interest. If omitted it defaults 2691 ---to WatchKind.Create | WatchKind.Change | WatchKind.Delete 2692 ---which is 7. 2693 ---@field kind? lsp.WatchKind 2694 2695 ---Represents a diagnostic, such as a compiler error or warning. Diagnostic objects 2696 ---are only valid in the scope of a resource. 2697 ---@class lsp.Diagnostic 2698 --- 2699 ---The range at which the message applies 2700 ---@field range lsp.Range 2701 --- 2702 ---The diagnostic's severity. To avoid interpretation mismatches when a 2703 ---server is used with different clients it is highly recommended that servers 2704 ---always provide a severity value. 2705 ---@field severity? lsp.DiagnosticSeverity 2706 --- 2707 ---The diagnostic's code, which usually appear in the user interface. 2708 ---@field code? integer|string 2709 --- 2710 ---An optional property to describe the error code. 2711 ---Requires the code field (above) to be present/not null. 2712 --- 2713 ---@since 3.16.0 2714 ---@field codeDescription? lsp.CodeDescription 2715 --- 2716 ---A human-readable string describing the source of this 2717 ---diagnostic, e.g. 'typescript' or 'super lint'. It usually 2718 ---appears in the user interface. 2719 ---@field source? string 2720 --- 2721 ---The diagnostic's message. It usually appears in the user interface 2722 ---@field message string 2723 --- 2724 ---Additional metadata about the diagnostic. 2725 --- 2726 ---@since 3.15.0 2727 ---@field tags? lsp.DiagnosticTag[] 2728 --- 2729 ---An array of related diagnostic information, e.g. when symbol-names within 2730 ---a scope collide all definitions can be marked via this property. 2731 ---@field relatedInformation? lsp.DiagnosticRelatedInformation[] 2732 --- 2733 ---A data entry field that is preserved between a `textDocument/publishDiagnostics` 2734 ---notification and `textDocument/codeAction` request. 2735 --- 2736 ---@since 3.16.0 2737 ---@field data? lsp.LSPAny 2738 2739 ---Contains additional information about the context in which a completion request is triggered. 2740 ---@class lsp.CompletionContext 2741 --- 2742 ---How the completion was triggered. 2743 ---@field triggerKind lsp.CompletionTriggerKind 2744 --- 2745 ---The trigger character (a single character) that has trigger code complete. 2746 ---Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter` 2747 ---@field triggerCharacter? string 2748 2749 ---Additional details for a completion item label. 2750 --- 2751 ---@since 3.17.0 2752 ---@class lsp.CompletionItemLabelDetails 2753 --- 2754 ---An optional string which is rendered less prominently directly after {@link CompletionItem.label label}, 2755 ---without any spacing. Should be used for function signatures and type annotations. 2756 ---@field detail? string 2757 --- 2758 ---An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used 2759 ---for fully qualified names and file paths. 2760 ---@field description? string 2761 2762 ---A special text edit to provide an insert and a replace operation. 2763 --- 2764 ---@since 3.16.0 2765 ---@class lsp.InsertReplaceEdit 2766 --- 2767 ---The string to be inserted. 2768 ---@field newText string 2769 --- 2770 ---The range if the insert is requested 2771 ---@field insert lsp.Range 2772 --- 2773 ---The range if the replace is requested. 2774 ---@field replace lsp.Range 2775 2776 ---In many cases the items of an actual completion result share the same 2777 ---value for properties like `commitCharacters` or the range of a text 2778 ---edit. A completion list can therefore define item defaults which will 2779 ---be used if a completion item itself doesn't specify the value. 2780 --- 2781 ---If a completion list specifies a default value and a completion item 2782 ---also specifies a corresponding value, the rules for combining these are 2783 ---defined by `applyKinds` (if the client supports it), defaulting to 2784 ---ApplyKind.Replace. 2785 --- 2786 ---Servers are only allowed to return default values if the client 2787 ---signals support for this via the `completionList.itemDefaults` 2788 ---capability. 2789 --- 2790 ---@since 3.17.0 2791 ---@class lsp.CompletionItemDefaults 2792 --- 2793 ---A default commit character set. 2794 --- 2795 ---@since 3.17.0 2796 ---@field commitCharacters? string[] 2797 --- 2798 ---A default edit range. 2799 --- 2800 ---@since 3.17.0 2801 ---@field editRange? lsp.Range|lsp.EditRangeWithInsertReplace 2802 --- 2803 ---A default insert text format. 2804 --- 2805 ---@since 3.17.0 2806 ---@field insertTextFormat? lsp.InsertTextFormat 2807 --- 2808 ---A default insert text mode. 2809 --- 2810 ---@since 3.17.0 2811 ---@field insertTextMode? lsp.InsertTextMode 2812 --- 2813 ---A default data value. 2814 --- 2815 ---@since 3.17.0 2816 ---@field data? lsp.LSPAny 2817 2818 ---Specifies how fields from a completion item should be combined with those 2819 ---from `completionList.itemDefaults`. 2820 --- 2821 ---If unspecified, all fields will be treated as ApplyKind.Replace. 2822 --- 2823 ---If a field's value is ApplyKind.Replace, the value from a completion item (if 2824 ---provided and not `null`) will always be used instead of the value from 2825 ---`completionItem.itemDefaults`. 2826 --- 2827 ---If a field's value is ApplyKind.Merge, the values will be merged using the rules 2828 ---defined against each field below. 2829 --- 2830 ---Servers are only allowed to return `applyKind` if the client 2831 ---signals support for this via the `completionList.applyKindSupport` 2832 ---capability. 2833 --- 2834 ---@since 3.18.0 2835 ---@class lsp.CompletionItemApplyKinds 2836 --- 2837 ---Specifies whether commitCharacters on a completion will replace or be 2838 ---merged with those in `completionList.itemDefaults.commitCharacters`. 2839 --- 2840 ---If ApplyKind.Replace, the commit characters from the completion item will 2841 ---always be used unless not provided, in which case those from 2842 ---`completionList.itemDefaults.commitCharacters` will be used. An 2843 ---empty list can be used if a completion item does not have any commit 2844 ---characters and also should not use those from 2845 ---`completionList.itemDefaults.commitCharacters`. 2846 --- 2847 ---If ApplyKind.Merge the commitCharacters for the completion will be the 2848 ---union of all values in both `completionList.itemDefaults.commitCharacters` 2849 ---and the completion's own `commitCharacters`. 2850 --- 2851 ---@since 3.18.0 2852 ---@field commitCharacters? lsp.ApplyKind 2853 --- 2854 ---Specifies whether the `data` field on a completion will replace or 2855 ---be merged with data from `completionList.itemDefaults.data`. 2856 --- 2857 ---If ApplyKind.Replace, the data from the completion item will be used if 2858 ---provided (and not `null`), otherwise 2859 ---`completionList.itemDefaults.data` will be used. An empty object can 2860 ---be used if a completion item does not have any data but also should 2861 ---not use the value from `completionList.itemDefaults.data`. 2862 --- 2863 ---If ApplyKind.Merge, a shallow merge will be performed between 2864 ---`completionList.itemDefaults.data` and the completion's own data 2865 ---using the following rules: 2866 --- 2867 ---- If a completion's `data` field is not provided (or `null`), the 2868 --- entire `data` field from `completionList.itemDefaults.data` will be 2869 --- used as-is. 2870 ---- If a completion's `data` field is provided, each field will 2871 --- overwrite the field of the same name in 2872 --- `completionList.itemDefaults.data` but no merging of nested fields 2873 --- within that value will occur. 2874 --- 2875 ---@since 3.18.0 2876 ---@field data? lsp.ApplyKind 2877 2878 ---Completion options. 2879 ---@class lsp.CompletionOptions: lsp.WorkDoneProgressOptions 2880 --- 2881 ---Most tools trigger completion request automatically without explicitly requesting 2882 ---it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user 2883 ---starts to type an identifier. For example if the user types `c` in a JavaScript file 2884 ---code complete will automatically pop up present `console` besides others as a 2885 ---completion item. Characters that make up identifiers don't need to be listed here. 2886 --- 2887 ---If code complete should automatically be trigger on characters not being valid inside 2888 ---an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. 2889 ---@field triggerCharacters? string[] 2890 --- 2891 ---The list of all possible characters that commit a completion. This field can be used 2892 ---if clients don't support individual commit characters per completion item. See 2893 ---`ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport` 2894 --- 2895 ---If a server provides both `allCommitCharacters` and commit characters on an individual 2896 ---completion item the ones on the completion item win. 2897 --- 2898 ---@since 3.2.0 2899 ---@field allCommitCharacters? string[] 2900 --- 2901 ---The server provides support to resolve additional 2902 ---information for a completion item. 2903 ---@field resolveProvider? boolean 2904 --- 2905 ---The server supports the following `CompletionItem` specific 2906 ---capabilities. 2907 --- 2908 ---@since 3.17.0 2909 ---@field completionItem? lsp.ServerCompletionItemOptions 2910 2911 ---Hover options. 2912 ---@class lsp.HoverOptions: lsp.WorkDoneProgressOptions 2913 2914 ---Additional information about the context in which a signature help request was triggered. 2915 --- 2916 ---@since 3.15.0 2917 ---@class lsp.SignatureHelpContext 2918 --- 2919 ---Action that caused signature help to be triggered. 2920 ---@field triggerKind lsp.SignatureHelpTriggerKind 2921 --- 2922 ---Character that caused signature help to be triggered. 2923 --- 2924 ---This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter` 2925 ---@field triggerCharacter? string 2926 --- 2927 ---`true` if signature help was already showing when it was triggered. 2928 --- 2929 ---Retriggers occurs when the signature help is already active and can be caused by actions such as 2930 ---typing a trigger character, a cursor move, or document content changes. 2931 ---@field isRetrigger boolean 2932 --- 2933 ---The currently active `SignatureHelp`. 2934 --- 2935 ---The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on 2936 ---the user navigating through available signatures. 2937 ---@field activeSignatureHelp? lsp.SignatureHelp 2938 2939 ---Represents the signature of something callable. A signature 2940 ---can have a label, like a function-name, a doc-comment, and 2941 ---a set of parameters. 2942 ---@class lsp.SignatureInformation 2943 --- 2944 ---The label of this signature. Will be shown in 2945 ---the UI. 2946 ---@field label string 2947 --- 2948 ---The human-readable doc-comment of this signature. Will be shown 2949 ---in the UI but can be omitted. 2950 ---@field documentation? string|lsp.MarkupContent 2951 --- 2952 ---The parameters of this signature. 2953 ---@field parameters? lsp.ParameterInformation[] 2954 --- 2955 ---The index of the active parameter. 2956 --- 2957 ---If `null`, no parameter of the signature is active (for example a named 2958 ---argument that does not match any declared parameters). This is only valid 2959 ---if the client specifies the client capability 2960 ---`textDocument.signatureHelp.noActiveParameterSupport === true` 2961 --- 2962 ---If provided (or `null`), this is used in place of 2963 ---`SignatureHelp.activeParameter`. 2964 --- 2965 ---@since 3.16.0 2966 ---@field activeParameter? uinteger|lsp.null 2967 2968 ---Server Capabilities for a {@link SignatureHelpRequest}. 2969 ---@class lsp.SignatureHelpOptions: lsp.WorkDoneProgressOptions 2970 --- 2971 ---List of characters that trigger signature help automatically. 2972 ---@field triggerCharacters? string[] 2973 --- 2974 ---List of characters that re-trigger signature help. 2975 --- 2976 ---These trigger characters are only active when signature help is already showing. All trigger characters 2977 ---are also counted as re-trigger characters. 2978 --- 2979 ---@since 3.15.0 2980 ---@field retriggerCharacters? string[] 2981 2982 ---Server Capabilities for a {@link DefinitionRequest}. 2983 ---@class lsp.DefinitionOptions: lsp.WorkDoneProgressOptions 2984 2985 ---Value-object that contains additional information when 2986 ---requesting references. 2987 ---@class lsp.ReferenceContext 2988 --- 2989 ---Include the declaration of the current symbol. 2990 ---@field includeDeclaration boolean 2991 2992 ---Reference options. 2993 ---@class lsp.ReferenceOptions: lsp.WorkDoneProgressOptions 2994 2995 ---Provider options for a {@link DocumentHighlightRequest}. 2996 ---@class lsp.DocumentHighlightOptions: lsp.WorkDoneProgressOptions 2997 2998 ---A base for all symbol information. 2999 ---@class lsp.BaseSymbolInformation 3000 --- 3001 ---The name of this symbol. 3002 ---@field name string 3003 --- 3004 ---The kind of this symbol. 3005 ---@field kind lsp.SymbolKind 3006 --- 3007 ---Tags for this symbol. 3008 --- 3009 ---@since 3.16.0 3010 ---@field tags? lsp.SymbolTag[] 3011 --- 3012 ---The name of the symbol containing this symbol. This information is for 3013 ---user interface purposes (e.g. to render a qualifier in the user interface 3014 ---if necessary). It can't be used to re-infer a hierarchy for the document 3015 ---symbols. 3016 ---@field containerName? string 3017 3018 ---Provider options for a {@link DocumentSymbolRequest}. 3019 ---@class lsp.DocumentSymbolOptions: lsp.WorkDoneProgressOptions 3020 --- 3021 ---A human-readable string that is shown when multiple outlines trees 3022 ---are shown for the same document. 3023 --- 3024 ---@since 3.16.0 3025 ---@field label? string 3026 3027 ---Contains additional diagnostic information about the context in which 3028 ---a {@link CodeActionProvider.provideCodeActions code action} is run. 3029 ---@class lsp.CodeActionContext 3030 --- 3031 ---An array of diagnostics known on the client side overlapping the range provided to the 3032 ---`textDocument/codeAction` request. They are provided so that the server knows which 3033 ---errors are currently presented to the user for the given range. There is no guarantee 3034 ---that these accurately reflect the error state of the resource. The primary parameter 3035 ---to compute code actions is the provided range. 3036 ---@field diagnostics lsp.Diagnostic[] 3037 --- 3038 ---Requested kind of actions to return. 3039 --- 3040 ---Actions not of this kind are filtered out by the client before being shown. So servers 3041 ---can omit computing them. 3042 ---@field only? lsp.CodeActionKind[] 3043 --- 3044 ---The reason why code actions were requested. 3045 --- 3046 ---@since 3.17.0 3047 ---@field triggerKind? lsp.CodeActionTriggerKind 3048 3049 ---Captures why the code action is currently disabled. 3050 --- 3051 ---@since 3.18.0 3052 ---@class lsp.CodeActionDisabled 3053 --- 3054 ---Human readable description of why the code action is currently disabled. 3055 --- 3056 ---This is displayed in the code actions UI. 3057 ---@field reason string 3058 3059 ---Provider options for a {@link CodeActionRequest}. 3060 ---@class lsp.CodeActionOptions: lsp.WorkDoneProgressOptions 3061 --- 3062 ---CodeActionKinds that this server may return. 3063 --- 3064 ---The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server 3065 ---may list out every specific kind they provide. 3066 ---@field codeActionKinds? lsp.CodeActionKind[] 3067 --- 3068 ---Static documentation for a class of code actions. 3069 --- 3070 ---Documentation from the provider should be shown in the code actions menu if either: 3071 --- 3072 ---- Code actions of `kind` are requested by the editor. In this case, the editor will show the documentation that 3073 --- most closely matches the requested code action kind. For example, if a provider has documentation for 3074 --- both `Refactor` and `RefactorExtract`, when the user requests code actions for `RefactorExtract`, 3075 --- the editor will use the documentation for `RefactorExtract` instead of the documentation for `Refactor`. 3076 --- 3077 ---- Any code actions of `kind` are returned by the provider. 3078 --- 3079 ---At most one documentation entry should be shown per provider. 3080 --- 3081 ---@since 3.18.0 3082 ---@proposed 3083 ---@field documentation? lsp.CodeActionKindDocumentation[] 3084 --- 3085 ---The server provides support to resolve additional 3086 ---information for a code action. 3087 --- 3088 ---@since 3.16.0 3089 ---@field resolveProvider? boolean 3090 3091 ---Location with only uri and does not include range. 3092 --- 3093 ---@since 3.18.0 3094 ---@class lsp.LocationUriOnly 3095 --- 3096 ---@field uri lsp.DocumentUri 3097 3098 ---Server capabilities for a {@link WorkspaceSymbolRequest}. 3099 ---@class lsp.WorkspaceSymbolOptions: lsp.WorkDoneProgressOptions 3100 --- 3101 ---The server provides support to resolve additional 3102 ---information for a workspace symbol. 3103 --- 3104 ---@since 3.17.0 3105 ---@field resolveProvider? boolean 3106 3107 ---Code Lens provider options of a {@link CodeLensRequest}. 3108 ---@class lsp.CodeLensOptions: lsp.WorkDoneProgressOptions 3109 --- 3110 ---Code lens has a resolve provider as well. 3111 ---@field resolveProvider? boolean 3112 3113 ---Provider options for a {@link DocumentLinkRequest}. 3114 ---@class lsp.DocumentLinkOptions: lsp.WorkDoneProgressOptions 3115 --- 3116 ---Document links have a resolve provider as well. 3117 ---@field resolveProvider? boolean 3118 3119 ---Value-object describing what options formatting should use. 3120 ---@class lsp.FormattingOptions 3121 --- 3122 ---Size of a tab in spaces. 3123 ---@field tabSize uinteger 3124 --- 3125 ---Prefer spaces over tabs. 3126 ---@field insertSpaces boolean 3127 --- 3128 ---Trim trailing whitespace on a line. 3129 --- 3130 ---@since 3.15.0 3131 ---@field trimTrailingWhitespace? boolean 3132 --- 3133 ---Insert a newline character at the end of the file if one does not exist. 3134 --- 3135 ---@since 3.15.0 3136 ---@field insertFinalNewline? boolean 3137 --- 3138 ---Trim all newlines after the final newline at the end of the file. 3139 --- 3140 ---@since 3.15.0 3141 ---@field trimFinalNewlines? boolean 3142 3143 ---Provider options for a {@link DocumentFormattingRequest}. 3144 ---@class lsp.DocumentFormattingOptions: lsp.WorkDoneProgressOptions 3145 3146 ---Provider options for a {@link DocumentRangeFormattingRequest}. 3147 ---@class lsp.DocumentRangeFormattingOptions: lsp.WorkDoneProgressOptions 3148 --- 3149 ---Whether the server supports formatting multiple ranges at once. 3150 --- 3151 ---@since 3.18.0 3152 ---@proposed 3153 ---@field rangesSupport? boolean 3154 3155 ---Provider options for a {@link DocumentOnTypeFormattingRequest}. 3156 ---@class lsp.DocumentOnTypeFormattingOptions 3157 --- 3158 ---A character on which formatting should be triggered, like `{`. 3159 ---@field firstTriggerCharacter string 3160 --- 3161 ---More trigger characters. 3162 ---@field moreTriggerCharacter? string[] 3163 3164 ---Provider options for a {@link RenameRequest}. 3165 ---@class lsp.RenameOptions: lsp.WorkDoneProgressOptions 3166 --- 3167 ---Renames should be checked and tested before being executed. 3168 --- 3169 ---@since version 3.12.0 3170 ---@field prepareProvider? boolean 3171 3172 ---@since 3.18.0 3173 ---@class lsp.PrepareRenamePlaceholder 3174 --- 3175 ---@field range lsp.Range 3176 --- 3177 ---@field placeholder string 3178 3179 ---@since 3.18.0 3180 ---@class lsp.PrepareRenameDefaultBehavior 3181 --- 3182 ---@field defaultBehavior boolean 3183 3184 ---The server capabilities of a {@link ExecuteCommandRequest}. 3185 ---@class lsp.ExecuteCommandOptions: lsp.WorkDoneProgressOptions 3186 --- 3187 ---The commands to be executed on the server 3188 ---@field commands string[] 3189 3190 ---Additional data about a workspace edit. 3191 --- 3192 ---@since 3.18.0 3193 ---@proposed 3194 ---@class lsp.WorkspaceEditMetadata 3195 --- 3196 ---Signal to the editor that this edit is a refactoring. 3197 ---@field isRefactoring? boolean 3198 3199 ---@since 3.16.0 3200 ---@class lsp.SemanticTokensLegend 3201 --- 3202 ---The token types a server uses. 3203 ---@field tokenTypes string[] 3204 --- 3205 ---The token modifiers a server uses. 3206 ---@field tokenModifiers string[] 3207 3208 ---Semantic tokens options to support deltas for full documents 3209 --- 3210 ---@since 3.18.0 3211 ---@class lsp.SemanticTokensFullDelta 3212 --- 3213 ---The server supports deltas for full documents. 3214 ---@field delta? boolean 3215 3216 ---A text document identifier to optionally denote a specific version of a text document. 3217 ---@class lsp.OptionalVersionedTextDocumentIdentifier: lsp.TextDocumentIdentifier 3218 --- 3219 ---The version number of this document. If a versioned text document identifier 3220 ---is sent from the server to the client and the file is not open in the editor 3221 ---(the server has not received an open notification before) the server can send 3222 ---`null` to indicate that the version is unknown and the content on disk is the 3223 ---truth (as specified with document content ownership). 3224 ---@field version integer|lsp.null 3225 3226 ---A special text edit with an additional change annotation. 3227 --- 3228 ---@since 3.16.0. 3229 ---@class lsp.AnnotatedTextEdit: lsp.TextEdit 3230 --- 3231 ---The actual identifier of the change annotation 3232 ---@field annotationId lsp.ChangeAnnotationIdentifier 3233 3234 ---An interactive text edit. 3235 --- 3236 ---@since 3.18.0 3237 ---@proposed 3238 ---@class lsp.SnippetTextEdit 3239 --- 3240 ---The range of the text document to be manipulated. 3241 ---@field range lsp.Range 3242 --- 3243 ---The snippet to be inserted. 3244 ---@field snippet lsp.StringValue 3245 --- 3246 ---The actual identifier of the snippet edit. 3247 ---@field annotationId? lsp.ChangeAnnotationIdentifier 3248 3249 ---A generic resource operation. 3250 ---@class lsp.ResourceOperation 3251 --- 3252 ---The resource operation kind. 3253 ---@field kind string 3254 --- 3255 ---An optional annotation identifier describing the operation. 3256 --- 3257 ---@since 3.16.0 3258 ---@field annotationId? lsp.ChangeAnnotationIdentifier 3259 3260 ---Options to create a file. 3261 ---@class lsp.CreateFileOptions 3262 --- 3263 ---Overwrite existing file. Overwrite wins over `ignoreIfExists` 3264 ---@field overwrite? boolean 3265 --- 3266 ---Ignore if exists. 3267 ---@field ignoreIfExists? boolean 3268 3269 ---Rename file options 3270 ---@class lsp.RenameFileOptions 3271 --- 3272 ---Overwrite target if existing. Overwrite wins over `ignoreIfExists` 3273 ---@field overwrite? boolean 3274 --- 3275 ---Ignores if target exists. 3276 ---@field ignoreIfExists? boolean 3277 3278 ---Delete file options 3279 ---@class lsp.DeleteFileOptions 3280 --- 3281 ---Delete the content recursively if a folder is denoted. 3282 ---@field recursive? boolean 3283 --- 3284 ---Ignore the operation if the file doesn't exist. 3285 ---@field ignoreIfNotExists? boolean 3286 3287 ---A pattern to describe in which file operation requests or notifications 3288 ---the server is interested in receiving. 3289 --- 3290 ---@since 3.16.0 3291 ---@class lsp.FileOperationPattern 3292 --- 3293 ---The glob pattern to match. Glob patterns can have the following syntax: 3294 ---- `*` to match one or more characters in a path segment 3295 ---- `?` to match on one character in a path segment 3296 ---- `**` to match any number of path segments, including none 3297 ---- `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files) 3298 ---- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 3299 ---- `[!...]` 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`) 3300 ---@field glob string 3301 --- 3302 ---Whether to match files or folders with this pattern. 3303 --- 3304 ---Matches both if undefined. 3305 ---@field matches? lsp.FileOperationPatternKind 3306 --- 3307 ---Additional options used during matching. 3308 ---@field options? lsp.FileOperationPatternOptions 3309 3310 ---A full document diagnostic report for a workspace diagnostic result. 3311 --- 3312 ---@since 3.17.0 3313 ---@class lsp.WorkspaceFullDocumentDiagnosticReport: lsp.FullDocumentDiagnosticReport 3314 --- 3315 ---The URI for which diagnostic information is reported. 3316 ---@field uri lsp.DocumentUri 3317 --- 3318 ---The version number for which the diagnostics are reported. 3319 ---If the document is not marked as open `null` can be provided. 3320 ---@field version integer|lsp.null 3321 3322 ---An unchanged document diagnostic report for a workspace diagnostic result. 3323 --- 3324 ---@since 3.17.0 3325 ---@class lsp.WorkspaceUnchangedDocumentDiagnosticReport: lsp.UnchangedDocumentDiagnosticReport 3326 --- 3327 ---The URI for which diagnostic information is reported. 3328 ---@field uri lsp.DocumentUri 3329 --- 3330 ---The version number for which the diagnostics are reported. 3331 ---If the document is not marked as open `null` can be provided. 3332 ---@field version integer|lsp.null 3333 3334 ---A notebook cell. 3335 --- 3336 ---A cell's document URI must be unique across ALL notebook 3337 ---cells and can therefore be used to uniquely identify a 3338 ---notebook cell or the cell's text document. 3339 --- 3340 ---@since 3.17.0 3341 ---@class lsp.NotebookCell 3342 --- 3343 ---The cell's kind 3344 ---@field kind lsp.NotebookCellKind 3345 --- 3346 ---The URI of the cell's text document 3347 ---content. 3348 ---@field document lsp.DocumentUri 3349 --- 3350 ---Additional metadata stored with the cell. 3351 --- 3352 ---Note: should always be an object literal (e.g. LSPObject) 3353 ---@field metadata? lsp.LSPObject 3354 --- 3355 ---Additional execution summary information 3356 ---if supported by the client. 3357 ---@field executionSummary? lsp.ExecutionSummary 3358 3359 ---@since 3.18.0 3360 ---@class lsp.NotebookDocumentFilterWithNotebook 3361 --- 3362 ---The notebook to be synced If a string 3363 ---value is provided it matches against the 3364 ---notebook type. '*' matches every notebook. 3365 ---@field notebook string|lsp.NotebookDocumentFilter 3366 --- 3367 ---The cells of the matching notebook to be synced. 3368 ---@field cells? lsp.NotebookCellLanguage[] 3369 3370 ---@since 3.18.0 3371 ---@class lsp.NotebookDocumentFilterWithCells 3372 --- 3373 ---The notebook to be synced If a string 3374 ---value is provided it matches against the 3375 ---notebook type. '*' matches every notebook. 3376 ---@field notebook? string|lsp.NotebookDocumentFilter 3377 --- 3378 ---The cells of the matching notebook to be synced. 3379 ---@field cells lsp.NotebookCellLanguage[] 3380 3381 ---Cell changes to a notebook document. 3382 --- 3383 ---@since 3.18.0 3384 ---@class lsp.NotebookDocumentCellChanges 3385 --- 3386 ---Changes to the cell structure to add or 3387 ---remove cells. 3388 ---@field structure? lsp.NotebookDocumentCellChangeStructure 3389 --- 3390 ---Changes to notebook cells properties like its 3391 ---kind, execution summary or metadata. 3392 ---@field data? lsp.NotebookCell[] 3393 --- 3394 ---Changes to the text content of notebook cells. 3395 ---@field textContent? lsp.NotebookDocumentCellContentChanges[] 3396 3397 ---Describes the currently selected completion item. 3398 --- 3399 ---@since 3.18.0 3400 ---@proposed 3401 ---@class lsp.SelectedCompletionInfo 3402 --- 3403 ---The range that will be replaced if this completion item is accepted. 3404 ---@field range lsp.Range 3405 --- 3406 ---The text the range will be replaced with if this completion is accepted. 3407 ---@field text string 3408 3409 ---Information about the client 3410 --- 3411 ---@since 3.15.0 3412 ---@since 3.18.0 ClientInfo type name added. 3413 ---@class lsp.ClientInfo 3414 --- 3415 ---The name of the client as defined by the client. 3416 ---@field name string 3417 --- 3418 ---The client's version as defined by the client. 3419 ---@field version? string 3420 3421 ---Defines the capabilities provided by the client. 3422 ---@class lsp.ClientCapabilities 3423 --- 3424 ---Workspace specific client capabilities. 3425 ---@field workspace? lsp.WorkspaceClientCapabilities 3426 --- 3427 ---Text document specific client capabilities. 3428 ---@field textDocument? lsp.TextDocumentClientCapabilities 3429 --- 3430 ---Capabilities specific to the notebook document support. 3431 --- 3432 ---@since 3.17.0 3433 ---@field notebookDocument? lsp.NotebookDocumentClientCapabilities 3434 --- 3435 ---Window specific client capabilities. 3436 ---@field window? lsp.WindowClientCapabilities 3437 --- 3438 ---General client capabilities. 3439 --- 3440 ---@since 3.16.0 3441 ---@field general? lsp.GeneralClientCapabilities 3442 --- 3443 ---Experimental client capabilities. 3444 ---@field experimental? lsp.LSPAny 3445 3446 ---@class lsp.TextDocumentSyncOptions 3447 --- 3448 ---Open and close notifications are sent to the server. If omitted open close notification should not 3449 ---be sent. 3450 ---@field openClose? boolean 3451 --- 3452 ---Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full 3453 ---and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None. 3454 ---@field change? lsp.TextDocumentSyncKind 3455 --- 3456 ---If present will save notifications are sent to the server. If omitted the notification should not be 3457 ---sent. 3458 ---@field willSave? boolean 3459 --- 3460 ---If present will save wait until requests are sent to the server. If omitted the request should not be 3461 ---sent. 3462 ---@field willSaveWaitUntil? boolean 3463 --- 3464 ---If present save notifications are sent to the server. If omitted the notification should not be 3465 ---sent. 3466 ---@field save? boolean|lsp.SaveOptions 3467 3468 ---Defines workspace specific capabilities of the server. 3469 --- 3470 ---@since 3.18.0 3471 ---@class lsp.WorkspaceOptions 3472 --- 3473 ---The server supports workspace folder. 3474 --- 3475 ---@since 3.6.0 3476 ---@field workspaceFolders? lsp.WorkspaceFoldersServerCapabilities 3477 --- 3478 ---The server is interested in notifications/requests for operations on files. 3479 --- 3480 ---@since 3.16.0 3481 ---@field fileOperations? lsp.FileOperationOptions 3482 --- 3483 ---The server supports the `workspace/textDocumentContent` request. 3484 --- 3485 ---@since 3.18.0 3486 ---@proposed 3487 ---@field textDocumentContent? lsp.TextDocumentContentOptions|lsp.TextDocumentContentRegistrationOptions 3488 3489 ---@since 3.18.0 3490 ---@class lsp.TextDocumentContentChangePartial 3491 --- 3492 ---The range of the document that changed. 3493 ---@field range lsp.Range 3494 --- 3495 ---The optional length of the range that got replaced. 3496 --- 3497 ---@deprecated use range instead. 3498 ---@field rangeLength? uinteger 3499 --- 3500 ---The new text for the provided range. 3501 ---@field text string 3502 3503 ---@since 3.18.0 3504 ---@class lsp.TextDocumentContentChangeWholeDocument 3505 --- 3506 ---The new text of the whole document. 3507 ---@field text string 3508 3509 ---Structure to capture a description for an error code. 3510 --- 3511 ---@since 3.16.0 3512 ---@class lsp.CodeDescription 3513 --- 3514 ---An URI to open with more information about the diagnostic error. 3515 ---@field href lsp.URI 3516 3517 ---Represents a related message and source code location for a diagnostic. This should be 3518 ---used to point to code locations that cause or related to a diagnostics, e.g when duplicating 3519 ---a symbol in a scope. 3520 ---@class lsp.DiagnosticRelatedInformation 3521 --- 3522 ---The location of this related diagnostic information. 3523 ---@field location lsp.Location 3524 --- 3525 ---The message of this related diagnostic information. 3526 ---@field message string 3527 3528 ---Edit range variant that includes ranges for insert and replace operations. 3529 --- 3530 ---@since 3.18.0 3531 ---@class lsp.EditRangeWithInsertReplace 3532 --- 3533 ---@field insert lsp.Range 3534 --- 3535 ---@field replace lsp.Range 3536 3537 ---@since 3.18.0 3538 ---@class lsp.ServerCompletionItemOptions 3539 --- 3540 ---The server has support for completion item label 3541 ---details (see also `CompletionItemLabelDetails`) when 3542 ---receiving a completion item in a resolve call. 3543 --- 3544 ---@since 3.17.0 3545 ---@field labelDetailsSupport? boolean 3546 3547 ---@since 3.18.0 3548 ---@deprecated use MarkupContent instead. 3549 ---@class lsp.MarkedStringWithLanguage 3550 --- 3551 ---@field language string 3552 --- 3553 ---@field value string 3554 3555 ---Represents a parameter of a callable-signature. A parameter can 3556 ---have a label and a doc-comment. 3557 ---@class lsp.ParameterInformation 3558 --- 3559 ---The label of this parameter information. 3560 --- 3561 ---Either a string or an inclusive start and exclusive end offsets within its containing 3562 ---signature label. (see SignatureInformation.label). The offsets are based on a UTF-16 3563 ---string representation as `Position` and `Range` does. 3564 --- 3565 ---To avoid ambiguities a server should use the [start, end] offset value instead of using 3566 ---a substring. Whether a client support this is controlled via `labelOffsetSupport` client 3567 ---capability. 3568 --- 3569 ---*Note*: a label of type string should be a substring of its containing signature label. 3570 ---Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`. 3571 ---@field label string|[uinteger, uinteger] 3572 --- 3573 ---The human-readable doc-comment of this parameter. Will be shown 3574 ---in the UI but can be omitted. 3575 ---@field documentation? string|lsp.MarkupContent 3576 3577 ---Documentation for a class of code actions. 3578 --- 3579 ---@since 3.18.0 3580 ---@proposed 3581 ---@class lsp.CodeActionKindDocumentation 3582 --- 3583 ---The kind of the code action being documented. 3584 --- 3585 ---If the kind is generic, such as `CodeActionKind.Refactor`, the documentation will be shown whenever any 3586 ---refactorings are returned. If the kind if more specific, such as `CodeActionKind.RefactorExtract`, the 3587 ---documentation will only be shown when extract refactoring code actions are returned. 3588 ---@field kind lsp.CodeActionKind 3589 --- 3590 ---Command that is ued to display the documentation to the user. 3591 --- 3592 ---The title of this documentation code action is taken from {@linkcode Command.title} 3593 ---@field command lsp.Command 3594 3595 ---A notebook cell text document filter denotes a cell text 3596 ---document by different properties. 3597 --- 3598 ---@since 3.17.0 3599 ---@class lsp.NotebookCellTextDocumentFilter 3600 --- 3601 ---A filter that matches against the notebook 3602 ---containing the notebook cell. If a string 3603 ---value is provided it matches against the 3604 ---notebook type. '*' matches every notebook. 3605 ---@field notebook string|lsp.NotebookDocumentFilter 3606 --- 3607 ---A language id like `python`. 3608 --- 3609 ---Will be matched against the language id of the 3610 ---notebook cell document. '*' matches every language. 3611 ---@field language? string 3612 3613 ---Matching options for the file operation pattern. 3614 --- 3615 ---@since 3.16.0 3616 ---@class lsp.FileOperationPatternOptions 3617 --- 3618 ---The pattern should be matched ignoring casing. 3619 ---@field ignoreCase? boolean 3620 3621 ---@class lsp.ExecutionSummary 3622 --- 3623 ---A strict monotonically increasing value 3624 ---indicating the execution order of a cell 3625 ---inside a notebook. 3626 ---@field executionOrder uinteger 3627 --- 3628 ---Whether the execution was successful or 3629 ---not if known by the client. 3630 ---@field success? boolean 3631 3632 ---@since 3.18.0 3633 ---@class lsp.NotebookCellLanguage 3634 --- 3635 ---@field language string 3636 3637 ---Structural changes to cells in a notebook document. 3638 --- 3639 ---@since 3.18.0 3640 ---@class lsp.NotebookDocumentCellChangeStructure 3641 --- 3642 ---The change to the cell array. 3643 ---@field array lsp.NotebookCellArrayChange 3644 --- 3645 ---Additional opened cell text documents. 3646 ---@field didOpen? lsp.TextDocumentItem[] 3647 --- 3648 ---Additional closed cell text documents. 3649 ---@field didClose? lsp.TextDocumentIdentifier[] 3650 3651 ---Content changes to a cell in a notebook document. 3652 --- 3653 ---@since 3.18.0 3654 ---@class lsp.NotebookDocumentCellContentChanges 3655 --- 3656 ---@field document lsp.VersionedTextDocumentIdentifier 3657 --- 3658 ---@field changes lsp.TextDocumentContentChangeEvent[] 3659 3660 ---Workspace specific client capabilities. 3661 ---@class lsp.WorkspaceClientCapabilities 3662 --- 3663 ---The client supports applying batch edits 3664 ---to the workspace by supporting the request 3665 ---'workspace/applyEdit' 3666 ---@field applyEdit? boolean 3667 --- 3668 ---Capabilities specific to `WorkspaceEdit`s. 3669 ---@field workspaceEdit? lsp.WorkspaceEditClientCapabilities 3670 --- 3671 ---Capabilities specific to the `workspace/didChangeConfiguration` notification. 3672 ---@field didChangeConfiguration? lsp.DidChangeConfigurationClientCapabilities 3673 --- 3674 ---Capabilities specific to the `workspace/didChangeWatchedFiles` notification. 3675 ---@field didChangeWatchedFiles? lsp.DidChangeWatchedFilesClientCapabilities 3676 --- 3677 ---Capabilities specific to the `workspace/symbol` request. 3678 ---@field symbol? lsp.WorkspaceSymbolClientCapabilities 3679 --- 3680 ---Capabilities specific to the `workspace/executeCommand` request. 3681 ---@field executeCommand? lsp.ExecuteCommandClientCapabilities 3682 --- 3683 ---The client has support for workspace folders. 3684 --- 3685 ---@since 3.6.0 3686 ---@field workspaceFolders? boolean 3687 --- 3688 ---The client supports `workspace/configuration` requests. 3689 --- 3690 ---@since 3.6.0 3691 ---@field configuration? boolean 3692 --- 3693 ---Capabilities specific to the semantic token requests scoped to the 3694 ---workspace. 3695 --- 3696 ---@since 3.16.0. 3697 ---@field semanticTokens? lsp.SemanticTokensWorkspaceClientCapabilities 3698 --- 3699 ---Capabilities specific to the code lens requests scoped to the 3700 ---workspace. 3701 --- 3702 ---@since 3.16.0. 3703 ---@field codeLens? lsp.CodeLensWorkspaceClientCapabilities 3704 --- 3705 ---The client has support for file notifications/requests for user operations on files. 3706 --- 3707 ---Since 3.16.0 3708 ---@field fileOperations? lsp.FileOperationClientCapabilities 3709 --- 3710 ---Capabilities specific to the inline values requests scoped to the 3711 ---workspace. 3712 --- 3713 ---@since 3.17.0. 3714 ---@field inlineValue? lsp.InlineValueWorkspaceClientCapabilities 3715 --- 3716 ---Capabilities specific to the inlay hint requests scoped to the 3717 ---workspace. 3718 --- 3719 ---@since 3.17.0. 3720 ---@field inlayHint? lsp.InlayHintWorkspaceClientCapabilities 3721 --- 3722 ---Capabilities specific to the diagnostic requests scoped to the 3723 ---workspace. 3724 --- 3725 ---@since 3.17.0. 3726 ---@field diagnostics? lsp.DiagnosticWorkspaceClientCapabilities 3727 --- 3728 ---Capabilities specific to the folding range requests scoped to the workspace. 3729 --- 3730 ---@since 3.18.0 3731 ---@proposed 3732 ---@field foldingRange? lsp.FoldingRangeWorkspaceClientCapabilities 3733 --- 3734 ---Capabilities specific to the `workspace/textDocumentContent` request. 3735 --- 3736 ---@since 3.18.0 3737 ---@proposed 3738 ---@field textDocumentContent? lsp.TextDocumentContentClientCapabilities 3739 3740 ---Text document specific client capabilities. 3741 ---@class lsp.TextDocumentClientCapabilities 3742 --- 3743 ---Defines which synchronization capabilities the client supports. 3744 ---@field synchronization? lsp.TextDocumentSyncClientCapabilities 3745 --- 3746 ---Defines which filters the client supports. 3747 --- 3748 ---@since 3.18.0 3749 ---@field filters? lsp.TextDocumentFilterClientCapabilities 3750 --- 3751 ---Capabilities specific to the `textDocument/completion` request. 3752 ---@field completion? lsp.CompletionClientCapabilities 3753 --- 3754 ---Capabilities specific to the `textDocument/hover` request. 3755 ---@field hover? lsp.HoverClientCapabilities 3756 --- 3757 ---Capabilities specific to the `textDocument/signatureHelp` request. 3758 ---@field signatureHelp? lsp.SignatureHelpClientCapabilities 3759 --- 3760 ---Capabilities specific to the `textDocument/declaration` request. 3761 --- 3762 ---@since 3.14.0 3763 ---@field declaration? lsp.DeclarationClientCapabilities 3764 --- 3765 ---Capabilities specific to the `textDocument/definition` request. 3766 ---@field definition? lsp.DefinitionClientCapabilities 3767 --- 3768 ---Capabilities specific to the `textDocument/typeDefinition` request. 3769 --- 3770 ---@since 3.6.0 3771 ---@field typeDefinition? lsp.TypeDefinitionClientCapabilities 3772 --- 3773 ---Capabilities specific to the `textDocument/implementation` request. 3774 --- 3775 ---@since 3.6.0 3776 ---@field implementation? lsp.ImplementationClientCapabilities 3777 --- 3778 ---Capabilities specific to the `textDocument/references` request. 3779 ---@field references? lsp.ReferenceClientCapabilities 3780 --- 3781 ---Capabilities specific to the `textDocument/documentHighlight` request. 3782 ---@field documentHighlight? lsp.DocumentHighlightClientCapabilities 3783 --- 3784 ---Capabilities specific to the `textDocument/documentSymbol` request. 3785 ---@field documentSymbol? lsp.DocumentSymbolClientCapabilities 3786 --- 3787 ---Capabilities specific to the `textDocument/codeAction` request. 3788 ---@field codeAction? lsp.CodeActionClientCapabilities 3789 --- 3790 ---Capabilities specific to the `textDocument/codeLens` request. 3791 ---@field codeLens? lsp.CodeLensClientCapabilities 3792 --- 3793 ---Capabilities specific to the `textDocument/documentLink` request. 3794 ---@field documentLink? lsp.DocumentLinkClientCapabilities 3795 --- 3796 ---Capabilities specific to the `textDocument/documentColor` and the 3797 ---`textDocument/colorPresentation` request. 3798 --- 3799 ---@since 3.6.0 3800 ---@field colorProvider? lsp.DocumentColorClientCapabilities 3801 --- 3802 ---Capabilities specific to the `textDocument/formatting` request. 3803 ---@field formatting? lsp.DocumentFormattingClientCapabilities 3804 --- 3805 ---Capabilities specific to the `textDocument/rangeFormatting` request. 3806 ---@field rangeFormatting? lsp.DocumentRangeFormattingClientCapabilities 3807 --- 3808 ---Capabilities specific to the `textDocument/onTypeFormatting` request. 3809 ---@field onTypeFormatting? lsp.DocumentOnTypeFormattingClientCapabilities 3810 --- 3811 ---Capabilities specific to the `textDocument/rename` request. 3812 ---@field rename? lsp.RenameClientCapabilities 3813 --- 3814 ---Capabilities specific to the `textDocument/foldingRange` request. 3815 --- 3816 ---@since 3.10.0 3817 ---@field foldingRange? lsp.FoldingRangeClientCapabilities 3818 --- 3819 ---Capabilities specific to the `textDocument/selectionRange` request. 3820 --- 3821 ---@since 3.15.0 3822 ---@field selectionRange? lsp.SelectionRangeClientCapabilities 3823 --- 3824 ---Capabilities specific to the `textDocument/publishDiagnostics` notification. 3825 ---@field publishDiagnostics? lsp.PublishDiagnosticsClientCapabilities 3826 --- 3827 ---Capabilities specific to the various call hierarchy requests. 3828 --- 3829 ---@since 3.16.0 3830 ---@field callHierarchy? lsp.CallHierarchyClientCapabilities 3831 --- 3832 ---Capabilities specific to the various semantic token request. 3833 --- 3834 ---@since 3.16.0 3835 ---@field semanticTokens? lsp.SemanticTokensClientCapabilities 3836 --- 3837 ---Capabilities specific to the `textDocument/linkedEditingRange` request. 3838 --- 3839 ---@since 3.16.0 3840 ---@field linkedEditingRange? lsp.LinkedEditingRangeClientCapabilities 3841 --- 3842 ---Client capabilities specific to the `textDocument/moniker` request. 3843 --- 3844 ---@since 3.16.0 3845 ---@field moniker? lsp.MonikerClientCapabilities 3846 --- 3847 ---Capabilities specific to the various type hierarchy requests. 3848 --- 3849 ---@since 3.17.0 3850 ---@field typeHierarchy? lsp.TypeHierarchyClientCapabilities 3851 --- 3852 ---Capabilities specific to the `textDocument/inlineValue` request. 3853 --- 3854 ---@since 3.17.0 3855 ---@field inlineValue? lsp.InlineValueClientCapabilities 3856 --- 3857 ---Capabilities specific to the `textDocument/inlayHint` request. 3858 --- 3859 ---@since 3.17.0 3860 ---@field inlayHint? lsp.InlayHintClientCapabilities 3861 --- 3862 ---Capabilities specific to the diagnostic pull model. 3863 --- 3864 ---@since 3.17.0 3865 ---@field diagnostic? lsp.DiagnosticClientCapabilities 3866 --- 3867 ---Client capabilities specific to inline completions. 3868 --- 3869 ---@since 3.18.0 3870 ---@proposed 3871 ---@field inlineCompletion? lsp.InlineCompletionClientCapabilities 3872 3873 ---Capabilities specific to the notebook document support. 3874 --- 3875 ---@since 3.17.0 3876 ---@class lsp.NotebookDocumentClientCapabilities 3877 --- 3878 ---Capabilities specific to notebook document synchronization 3879 --- 3880 ---@since 3.17.0 3881 ---@field synchronization lsp.NotebookDocumentSyncClientCapabilities 3882 3883 ---@class lsp.WindowClientCapabilities 3884 --- 3885 ---It indicates whether the client supports server initiated 3886 ---progress using the `window/workDoneProgress/create` request. 3887 --- 3888 ---The capability also controls Whether client supports handling 3889 ---of progress notifications. If set servers are allowed to report a 3890 ---`workDoneProgress` property in the request specific server 3891 ---capabilities. 3892 --- 3893 ---@since 3.15.0 3894 ---@field workDoneProgress? boolean 3895 --- 3896 ---Capabilities specific to the showMessage request. 3897 --- 3898 ---@since 3.16.0 3899 ---@field showMessage? lsp.ShowMessageRequestClientCapabilities 3900 --- 3901 ---Capabilities specific to the showDocument request. 3902 --- 3903 ---@since 3.16.0 3904 ---@field showDocument? lsp.ShowDocumentClientCapabilities 3905 3906 ---General client capabilities. 3907 --- 3908 ---@since 3.16.0 3909 ---@class lsp.GeneralClientCapabilities 3910 --- 3911 ---Client capability that signals how the client 3912 ---handles stale requests (e.g. a request 3913 ---for which the client will not process the response 3914 ---anymore since the information is outdated). 3915 --- 3916 ---@since 3.17.0 3917 ---@field staleRequestSupport? lsp.StaleRequestSupportOptions 3918 --- 3919 ---Client capabilities specific to regular expressions. 3920 --- 3921 ---@since 3.16.0 3922 ---@field regularExpressions? lsp.RegularExpressionsClientCapabilities 3923 --- 3924 ---Client capabilities specific to the client's markdown parser. 3925 --- 3926 ---@since 3.16.0 3927 ---@field markdown? lsp.MarkdownClientCapabilities 3928 --- 3929 ---The position encodings supported by the client. Client and server 3930 ---have to agree on the same position encoding to ensure that offsets 3931 ---(e.g. character position in a line) are interpreted the same on both 3932 ---sides. 3933 --- 3934 ---To keep the protocol backwards compatible the following applies: if 3935 ---the value 'utf-16' is missing from the array of position encodings 3936 ---servers can assume that the client supports UTF-16. UTF-16 is 3937 ---therefore a mandatory encoding. 3938 --- 3939 ---If omitted it defaults to ['utf-16']. 3940 --- 3941 ---Implementation considerations: since the conversion from one encoding 3942 ---into another requires the content of the file / line the conversion 3943 ---is best done where the file is read which is usually on the server 3944 ---side. 3945 --- 3946 ---@since 3.17.0 3947 ---@field positionEncodings? lsp.PositionEncodingKind[] 3948 3949 ---@class lsp.WorkspaceFoldersServerCapabilities 3950 --- 3951 ---The server has support for workspace folders 3952 ---@field supported? boolean 3953 --- 3954 ---Whether the server wants to receive workspace folder 3955 ---change notifications. 3956 --- 3957 ---If a string is provided the string is treated as an ID 3958 ---under which the notification is registered on the client 3959 ---side. The ID can be used to unregister for these events 3960 ---using the `client/unregisterCapability` request. 3961 ---@field changeNotifications? string|boolean 3962 3963 ---Options for notifications/requests for user operations on files. 3964 --- 3965 ---@since 3.16.0 3966 ---@class lsp.FileOperationOptions 3967 --- 3968 ---The server is interested in receiving didCreateFiles notifications. 3969 ---@field didCreate? lsp.FileOperationRegistrationOptions 3970 --- 3971 ---The server is interested in receiving willCreateFiles requests. 3972 ---@field willCreate? lsp.FileOperationRegistrationOptions 3973 --- 3974 ---The server is interested in receiving didRenameFiles notifications. 3975 ---@field didRename? lsp.FileOperationRegistrationOptions 3976 --- 3977 ---The server is interested in receiving willRenameFiles requests. 3978 ---@field willRename? lsp.FileOperationRegistrationOptions 3979 --- 3980 ---The server is interested in receiving didDeleteFiles file notifications. 3981 ---@field didDelete? lsp.FileOperationRegistrationOptions 3982 --- 3983 ---The server is interested in receiving willDeleteFiles file requests. 3984 ---@field willDelete? lsp.FileOperationRegistrationOptions 3985 3986 ---A relative pattern is a helper to construct glob patterns that are matched 3987 ---relatively to a base URI. The common value for a `baseUri` is a workspace 3988 ---folder root, but it can be another absolute URI as well. 3989 --- 3990 ---@since 3.17.0 3991 ---@class lsp.RelativePattern 3992 --- 3993 ---A workspace folder or a base URI to which this pattern will be matched 3994 ---against relatively. 3995 ---@field baseUri lsp.WorkspaceFolder|lsp.URI 3996 --- 3997 ---The actual glob pattern; 3998 ---@field pattern lsp.Pattern 3999 4000 ---A document filter where `language` is required field. 4001 --- 4002 ---@since 3.18.0 4003 ---@class lsp.TextDocumentFilterLanguage 4004 --- 4005 ---A language id, like `typescript`. 4006 ---@field language string 4007 --- 4008 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4009 ---@field scheme? string 4010 --- 4011 ---A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples. 4012 --- 4013 ---@since 3.18.0 - support for relative patterns. Whether clients support 4014 ---relative patterns depends on the client capability 4015 ---`textDocuments.filters.relativePatternSupport`. 4016 ---@field pattern? lsp.GlobPattern 4017 4018 ---A document filter where `scheme` is required field. 4019 --- 4020 ---@since 3.18.0 4021 ---@class lsp.TextDocumentFilterScheme 4022 --- 4023 ---A language id, like `typescript`. 4024 ---@field language? string 4025 --- 4026 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4027 ---@field scheme string 4028 --- 4029 ---A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples. 4030 --- 4031 ---@since 3.18.0 - support for relative patterns. Whether clients support 4032 ---relative patterns depends on the client capability 4033 ---`textDocuments.filters.relativePatternSupport`. 4034 ---@field pattern? lsp.GlobPattern 4035 4036 ---A document filter where `pattern` is required field. 4037 --- 4038 ---@since 3.18.0 4039 ---@class lsp.TextDocumentFilterPattern 4040 --- 4041 ---A language id, like `typescript`. 4042 ---@field language? string 4043 --- 4044 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4045 ---@field scheme? string 4046 --- 4047 ---A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples. 4048 --- 4049 ---@since 3.18.0 - support for relative patterns. Whether clients support 4050 ---relative patterns depends on the client capability 4051 ---`textDocuments.filters.relativePatternSupport`. 4052 ---@field pattern lsp.GlobPattern 4053 4054 ---A notebook document filter where `notebookType` is required field. 4055 --- 4056 ---@since 3.18.0 4057 ---@class lsp.NotebookDocumentFilterNotebookType 4058 --- 4059 ---The type of the enclosing notebook. 4060 ---@field notebookType string 4061 --- 4062 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4063 ---@field scheme? string 4064 --- 4065 ---A glob pattern. 4066 ---@field pattern? lsp.GlobPattern 4067 4068 ---A notebook document filter where `scheme` is required field. 4069 --- 4070 ---@since 3.18.0 4071 ---@class lsp.NotebookDocumentFilterScheme 4072 --- 4073 ---The type of the enclosing notebook. 4074 ---@field notebookType? string 4075 --- 4076 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4077 ---@field scheme string 4078 --- 4079 ---A glob pattern. 4080 ---@field pattern? lsp.GlobPattern 4081 4082 ---A notebook document filter where `pattern` is required field. 4083 --- 4084 ---@since 3.18.0 4085 ---@class lsp.NotebookDocumentFilterPattern 4086 --- 4087 ---The type of the enclosing notebook. 4088 ---@field notebookType? string 4089 --- 4090 ---A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. 4091 ---@field scheme? string 4092 --- 4093 ---A glob pattern. 4094 ---@field pattern lsp.GlobPattern 4095 4096 ---A change describing how to move a `NotebookCell` 4097 ---array from state S to S'. 4098 --- 4099 ---@since 3.17.0 4100 ---@class lsp.NotebookCellArrayChange 4101 --- 4102 ---The start oftest of the cell that changed. 4103 ---@field start uinteger 4104 --- 4105 ---The deleted cells 4106 ---@field deleteCount uinteger 4107 --- 4108 ---The new cells, if any 4109 ---@field cells? lsp.NotebookCell[] 4110 4111 ---@class lsp.WorkspaceEditClientCapabilities 4112 --- 4113 ---The client supports versioned document changes in `WorkspaceEdit`s 4114 ---@field documentChanges? boolean 4115 --- 4116 ---The resource operations the client supports. Clients should at least 4117 ---support 'create', 'rename' and 'delete' files and folders. 4118 --- 4119 ---@since 3.13.0 4120 ---@field resourceOperations? lsp.ResourceOperationKind[] 4121 --- 4122 ---The failure handling strategy of a client if applying the workspace edit 4123 ---fails. 4124 --- 4125 ---@since 3.13.0 4126 ---@field failureHandling? lsp.FailureHandlingKind 4127 --- 4128 ---Whether the client normalizes line endings to the client specific 4129 ---setting. 4130 ---If set to `true` the client will normalize line ending characters 4131 ---in a workspace edit to the client-specified new line 4132 ---character. 4133 --- 4134 ---@since 3.16.0 4135 ---@field normalizesLineEndings? boolean 4136 --- 4137 ---Whether the client in general supports change annotations on text edits, 4138 ---create file, rename file and delete file changes. 4139 --- 4140 ---@since 3.16.0 4141 ---@field changeAnnotationSupport? lsp.ChangeAnnotationsSupportOptions 4142 --- 4143 ---Whether the client supports `WorkspaceEditMetadata` in `WorkspaceEdit`s. 4144 --- 4145 ---@since 3.18.0 4146 ---@proposed 4147 ---@field metadataSupport? boolean 4148 --- 4149 ---Whether the client supports snippets as text edits. 4150 --- 4151 ---@since 3.18.0 4152 ---@proposed 4153 ---@field snippetEditSupport? boolean 4154 4155 ---@class lsp.DidChangeConfigurationClientCapabilities 4156 --- 4157 ---Did change configuration notification supports dynamic registration. 4158 ---@field dynamicRegistration? boolean 4159 4160 ---@class lsp.DidChangeWatchedFilesClientCapabilities 4161 --- 4162 ---Did change watched files notification supports dynamic registration. Please note 4163 ---that the current protocol doesn't support static configuration for file changes 4164 ---from the server side. 4165 ---@field dynamicRegistration? boolean 4166 --- 4167 ---Whether the client has support for {@link RelativePattern relative pattern} 4168 ---or not. 4169 --- 4170 ---@since 3.17.0 4171 ---@field relativePatternSupport? boolean 4172 4173 ---Client capabilities for a {@link WorkspaceSymbolRequest}. 4174 ---@class lsp.WorkspaceSymbolClientCapabilities 4175 --- 4176 ---Symbol request supports dynamic registration. 4177 ---@field dynamicRegistration? boolean 4178 --- 4179 ---Specific capabilities for the `SymbolKind` in the `workspace/symbol` request. 4180 ---@field symbolKind? lsp.ClientSymbolKindOptions 4181 --- 4182 ---The client supports tags on `SymbolInformation`. 4183 ---Clients supporting tags have to handle unknown tags gracefully. 4184 --- 4185 ---@since 3.16.0 4186 ---@field tagSupport? lsp.ClientSymbolTagOptions 4187 --- 4188 ---The client support partial workspace symbols. The client will send the 4189 ---request `workspaceSymbol/resolve` to the server to resolve additional 4190 ---properties. 4191 --- 4192 ---@since 3.17.0 4193 ---@field resolveSupport? lsp.ClientSymbolResolveOptions 4194 4195 ---The client capabilities of a {@link ExecuteCommandRequest}. 4196 ---@class lsp.ExecuteCommandClientCapabilities 4197 --- 4198 ---Execute command supports dynamic registration. 4199 ---@field dynamicRegistration? boolean 4200 4201 ---@since 3.16.0 4202 ---@class lsp.SemanticTokensWorkspaceClientCapabilities 4203 --- 4204 ---Whether the client implementation supports a refresh request sent from 4205 ---the server to the client. 4206 --- 4207 ---Note that this event is global and will force the client to refresh all 4208 ---semantic tokens currently shown. It should be used with absolute care 4209 ---and is useful for situation where a server for example detects a project 4210 ---wide change that requires such a calculation. 4211 ---@field refreshSupport? boolean 4212 4213 ---@since 3.16.0 4214 ---@class lsp.CodeLensWorkspaceClientCapabilities 4215 --- 4216 ---Whether the client implementation supports a refresh request sent from the 4217 ---server to the client. 4218 --- 4219 ---Note that this event is global and will force the client to refresh all 4220 ---code lenses currently shown. It should be used with absolute care and is 4221 ---useful for situation where a server for example detect a project wide 4222 ---change that requires such a calculation. 4223 ---@field refreshSupport? boolean 4224 4225 ---Capabilities relating to events from file operations by the user in the client. 4226 --- 4227 ---These events do not come from the file system, they come from user operations 4228 ---like renaming a file in the UI. 4229 --- 4230 ---@since 3.16.0 4231 ---@class lsp.FileOperationClientCapabilities 4232 --- 4233 ---Whether the client supports dynamic registration for file requests/notifications. 4234 ---@field dynamicRegistration? boolean 4235 --- 4236 ---The client has support for sending didCreateFiles notifications. 4237 ---@field didCreate? boolean 4238 --- 4239 ---The client has support for sending willCreateFiles requests. 4240 ---@field willCreate? boolean 4241 --- 4242 ---The client has support for sending didRenameFiles notifications. 4243 ---@field didRename? boolean 4244 --- 4245 ---The client has support for sending willRenameFiles requests. 4246 ---@field willRename? boolean 4247 --- 4248 ---The client has support for sending didDeleteFiles notifications. 4249 ---@field didDelete? boolean 4250 --- 4251 ---The client has support for sending willDeleteFiles requests. 4252 ---@field willDelete? boolean 4253 4254 ---Client workspace capabilities specific to inline values. 4255 --- 4256 ---@since 3.17.0 4257 ---@class lsp.InlineValueWorkspaceClientCapabilities 4258 --- 4259 ---Whether the client implementation supports a refresh request sent from the 4260 ---server to the client. 4261 --- 4262 ---Note that this event is global and will force the client to refresh all 4263 ---inline values currently shown. It should be used with absolute care and is 4264 ---useful for situation where a server for example detects a project wide 4265 ---change that requires such a calculation. 4266 ---@field refreshSupport? boolean 4267 4268 ---Client workspace capabilities specific to inlay hints. 4269 --- 4270 ---@since 3.17.0 4271 ---@class lsp.InlayHintWorkspaceClientCapabilities 4272 --- 4273 ---Whether the client implementation supports a refresh request sent from 4274 ---the server to the client. 4275 --- 4276 ---Note that this event is global and will force the client to refresh all 4277 ---inlay hints currently shown. It should be used with absolute care and 4278 ---is useful for situation where a server for example detects a project wide 4279 ---change that requires such a calculation. 4280 ---@field refreshSupport? boolean 4281 4282 ---Workspace client capabilities specific to diagnostic pull requests. 4283 --- 4284 ---@since 3.17.0 4285 ---@class lsp.DiagnosticWorkspaceClientCapabilities 4286 --- 4287 ---Whether the client implementation supports a refresh request sent from 4288 ---the server to the client. 4289 --- 4290 ---Note that this event is global and will force the client to refresh all 4291 ---pulled diagnostics currently shown. It should be used with absolute care and 4292 ---is useful for situation where a server for example detects a project wide 4293 ---change that requires such a calculation. 4294 ---@field refreshSupport? boolean 4295 4296 ---Client workspace capabilities specific to folding ranges 4297 --- 4298 ---@since 3.18.0 4299 ---@proposed 4300 ---@class lsp.FoldingRangeWorkspaceClientCapabilities 4301 --- 4302 ---Whether the client implementation supports a refresh request sent from the 4303 ---server to the client. 4304 --- 4305 ---Note that this event is global and will force the client to refresh all 4306 ---folding ranges currently shown. It should be used with absolute care and is 4307 ---useful for situation where a server for example detects a project wide 4308 ---change that requires such a calculation. 4309 --- 4310 ---@since 3.18.0 4311 ---@proposed 4312 ---@field refreshSupport? boolean 4313 4314 ---Client capabilities for a text document content provider. 4315 --- 4316 ---@since 3.18.0 4317 ---@proposed 4318 ---@class lsp.TextDocumentContentClientCapabilities 4319 --- 4320 ---Text document content provider supports dynamic registration. 4321 ---@field dynamicRegistration? boolean 4322 4323 ---@class lsp.TextDocumentSyncClientCapabilities 4324 --- 4325 ---Whether text document synchronization supports dynamic registration. 4326 ---@field dynamicRegistration? boolean 4327 --- 4328 ---The client supports sending will save notifications. 4329 ---@field willSave? boolean 4330 --- 4331 ---The client supports sending a will save request and 4332 ---waits for a response providing text edits which will 4333 ---be applied to the document before it is saved. 4334 ---@field willSaveWaitUntil? boolean 4335 --- 4336 ---The client supports did save notifications. 4337 ---@field didSave? boolean 4338 4339 ---@class lsp.TextDocumentFilterClientCapabilities 4340 --- 4341 ---The client supports Relative Patterns. 4342 --- 4343 ---@since 3.18.0 4344 ---@field relativePatternSupport? boolean 4345 4346 ---Completion client capabilities 4347 ---@class lsp.CompletionClientCapabilities 4348 --- 4349 ---Whether completion supports dynamic registration. 4350 ---@field dynamicRegistration? boolean 4351 --- 4352 ---The client supports the following `CompletionItem` specific 4353 ---capabilities. 4354 ---@field completionItem? lsp.ClientCompletionItemOptions 4355 --- 4356 ---@field completionItemKind? lsp.ClientCompletionItemOptionsKind 4357 --- 4358 ---Defines how the client handles whitespace and indentation 4359 ---when accepting a completion item that uses multi line 4360 ---text in either `insertText` or `textEdit`. 4361 --- 4362 ---@since 3.17.0 4363 ---@field insertTextMode? lsp.InsertTextMode 4364 --- 4365 ---The client supports to send additional context information for a 4366 ---`textDocument/completion` request. 4367 ---@field contextSupport? boolean 4368 --- 4369 ---The client supports the following `CompletionList` specific 4370 ---capabilities. 4371 --- 4372 ---@since 3.17.0 4373 ---@field completionList? lsp.CompletionListCapabilities 4374 4375 ---@class lsp.HoverClientCapabilities 4376 --- 4377 ---Whether hover supports dynamic registration. 4378 ---@field dynamicRegistration? boolean 4379 --- 4380 ---Client supports the following content formats for the content 4381 ---property. The order describes the preferred format of the client. 4382 ---@field contentFormat? lsp.MarkupKind[] 4383 4384 ---Client Capabilities for a {@link SignatureHelpRequest}. 4385 ---@class lsp.SignatureHelpClientCapabilities 4386 --- 4387 ---Whether signature help supports dynamic registration. 4388 ---@field dynamicRegistration? boolean 4389 --- 4390 ---The client supports the following `SignatureInformation` 4391 ---specific properties. 4392 ---@field signatureInformation? lsp.ClientSignatureInformationOptions 4393 --- 4394 ---The client supports to send additional context information for a 4395 ---`textDocument/signatureHelp` request. A client that opts into 4396 ---contextSupport will also support the `retriggerCharacters` on 4397 ---`SignatureHelpOptions`. 4398 --- 4399 ---@since 3.15.0 4400 ---@field contextSupport? boolean 4401 4402 ---@since 3.14.0 4403 ---@class lsp.DeclarationClientCapabilities 4404 --- 4405 ---Whether declaration supports dynamic registration. If this is set to `true` 4406 ---the client supports the new `DeclarationRegistrationOptions` return value 4407 ---for the corresponding server capability as well. 4408 ---@field dynamicRegistration? boolean 4409 --- 4410 ---The client supports additional metadata in the form of declaration links. 4411 ---@field linkSupport? boolean 4412 4413 ---Client Capabilities for a {@link DefinitionRequest}. 4414 ---@class lsp.DefinitionClientCapabilities 4415 --- 4416 ---Whether definition supports dynamic registration. 4417 ---@field dynamicRegistration? boolean 4418 --- 4419 ---The client supports additional metadata in the form of definition links. 4420 --- 4421 ---@since 3.14.0 4422 ---@field linkSupport? boolean 4423 4424 ---Since 3.6.0 4425 ---@class lsp.TypeDefinitionClientCapabilities 4426 --- 4427 ---Whether implementation supports dynamic registration. If this is set to `true` 4428 ---the client supports the new `TypeDefinitionRegistrationOptions` return value 4429 ---for the corresponding server capability as well. 4430 ---@field dynamicRegistration? boolean 4431 --- 4432 ---The client supports additional metadata in the form of definition links. 4433 --- 4434 ---Since 3.14.0 4435 ---@field linkSupport? boolean 4436 4437 ---@since 3.6.0 4438 ---@class lsp.ImplementationClientCapabilities 4439 --- 4440 ---Whether implementation supports dynamic registration. If this is set to `true` 4441 ---the client supports the new `ImplementationRegistrationOptions` return value 4442 ---for the corresponding server capability as well. 4443 ---@field dynamicRegistration? boolean 4444 --- 4445 ---The client supports additional metadata in the form of definition links. 4446 --- 4447 ---@since 3.14.0 4448 ---@field linkSupport? boolean 4449 4450 ---Client Capabilities for a {@link ReferencesRequest}. 4451 ---@class lsp.ReferenceClientCapabilities 4452 --- 4453 ---Whether references supports dynamic registration. 4454 ---@field dynamicRegistration? boolean 4455 4456 ---Client Capabilities for a {@link DocumentHighlightRequest}. 4457 ---@class lsp.DocumentHighlightClientCapabilities 4458 --- 4459 ---Whether document highlight supports dynamic registration. 4460 ---@field dynamicRegistration? boolean 4461 4462 ---Client Capabilities for a {@link DocumentSymbolRequest}. 4463 ---@class lsp.DocumentSymbolClientCapabilities 4464 --- 4465 ---Whether document symbol supports dynamic registration. 4466 ---@field dynamicRegistration? boolean 4467 --- 4468 ---Specific capabilities for the `SymbolKind` in the 4469 ---`textDocument/documentSymbol` request. 4470 ---@field symbolKind? lsp.ClientSymbolKindOptions 4471 --- 4472 ---The client supports hierarchical document symbols. 4473 ---@field hierarchicalDocumentSymbolSupport? boolean 4474 --- 4475 ---The client supports tags on `SymbolInformation`. Tags are supported on 4476 ---`DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true. 4477 ---Clients supporting tags have to handle unknown tags gracefully. 4478 --- 4479 ---@since 3.16.0 4480 ---@field tagSupport? lsp.ClientSymbolTagOptions 4481 --- 4482 ---The client supports an additional label presented in the UI when 4483 ---registering a document symbol provider. 4484 --- 4485 ---@since 3.16.0 4486 ---@field labelSupport? boolean 4487 4488 ---The Client Capabilities of a {@link CodeActionRequest}. 4489 ---@class lsp.CodeActionClientCapabilities 4490 --- 4491 ---Whether code action supports dynamic registration. 4492 ---@field dynamicRegistration? boolean 4493 --- 4494 ---The client support code action literals of type `CodeAction` as a valid 4495 ---response of the `textDocument/codeAction` request. If the property is not 4496 ---set the request can only return `Command` literals. 4497 --- 4498 ---@since 3.8.0 4499 ---@field codeActionLiteralSupport? lsp.ClientCodeActionLiteralOptions 4500 --- 4501 ---Whether code action supports the `isPreferred` property. 4502 --- 4503 ---@since 3.15.0 4504 ---@field isPreferredSupport? boolean 4505 --- 4506 ---Whether code action supports the `disabled` property. 4507 --- 4508 ---@since 3.16.0 4509 ---@field disabledSupport? boolean 4510 --- 4511 ---Whether code action supports the `data` property which is 4512 ---preserved between a `textDocument/codeAction` and a 4513 ---`codeAction/resolve` request. 4514 --- 4515 ---@since 3.16.0 4516 ---@field dataSupport? boolean 4517 --- 4518 ---Whether the client supports resolving additional code action 4519 ---properties via a separate `codeAction/resolve` request. 4520 --- 4521 ---@since 3.16.0 4522 ---@field resolveSupport? lsp.ClientCodeActionResolveOptions 4523 --- 4524 ---Whether the client honors the change annotations in 4525 ---text edits and resource operations returned via the 4526 ---`CodeAction#edit` property by for example presenting 4527 ---the workspace edit in the user interface and asking 4528 ---for confirmation. 4529 --- 4530 ---@since 3.16.0 4531 ---@field honorsChangeAnnotations? boolean 4532 --- 4533 ---Whether the client supports documentation for a class of 4534 ---code actions. 4535 --- 4536 ---@since 3.18.0 4537 ---@proposed 4538 ---@field documentationSupport? boolean 4539 --- 4540 ---Client supports the tag property on a code action. Clients 4541 ---supporting tags have to handle unknown tags gracefully. 4542 --- 4543 ---@since 3.18.0 - proposed 4544 ---@field tagSupport? lsp.CodeActionTagOptions 4545 4546 ---The client capabilities of a {@link CodeLensRequest}. 4547 ---@class lsp.CodeLensClientCapabilities 4548 --- 4549 ---Whether code lens supports dynamic registration. 4550 ---@field dynamicRegistration? boolean 4551 --- 4552 ---Whether the client supports resolving additional code lens 4553 ---properties via a separate `codeLens/resolve` request. 4554 --- 4555 ---@since 3.18.0 4556 ---@field resolveSupport? lsp.ClientCodeLensResolveOptions 4557 4558 ---The client capabilities of a {@link DocumentLinkRequest}. 4559 ---@class lsp.DocumentLinkClientCapabilities 4560 --- 4561 ---Whether document link supports dynamic registration. 4562 ---@field dynamicRegistration? boolean 4563 --- 4564 ---Whether the client supports the `tooltip` property on `DocumentLink`. 4565 --- 4566 ---@since 3.15.0 4567 ---@field tooltipSupport? boolean 4568 4569 ---@class lsp.DocumentColorClientCapabilities 4570 --- 4571 ---Whether implementation supports dynamic registration. If this is set to `true` 4572 ---the client supports the new `DocumentColorRegistrationOptions` return value 4573 ---for the corresponding server capability as well. 4574 ---@field dynamicRegistration? boolean 4575 4576 ---Client capabilities of a {@link DocumentFormattingRequest}. 4577 ---@class lsp.DocumentFormattingClientCapabilities 4578 --- 4579 ---Whether formatting supports dynamic registration. 4580 ---@field dynamicRegistration? boolean 4581 4582 ---Client capabilities of a {@link DocumentRangeFormattingRequest}. 4583 ---@class lsp.DocumentRangeFormattingClientCapabilities 4584 --- 4585 ---Whether range formatting supports dynamic registration. 4586 ---@field dynamicRegistration? boolean 4587 --- 4588 ---Whether the client supports formatting multiple ranges at once. 4589 --- 4590 ---@since 3.18.0 4591 ---@proposed 4592 ---@field rangesSupport? boolean 4593 4594 ---Client capabilities of a {@link DocumentOnTypeFormattingRequest}. 4595 ---@class lsp.DocumentOnTypeFormattingClientCapabilities 4596 --- 4597 ---Whether on type formatting supports dynamic registration. 4598 ---@field dynamicRegistration? boolean 4599 4600 ---@class lsp.RenameClientCapabilities 4601 --- 4602 ---Whether rename supports dynamic registration. 4603 ---@field dynamicRegistration? boolean 4604 --- 4605 ---Client supports testing for validity of rename operations 4606 ---before execution. 4607 --- 4608 ---@since 3.12.0 4609 ---@field prepareSupport? boolean 4610 --- 4611 ---Client supports the default behavior result. 4612 --- 4613 ---The value indicates the default behavior used by the 4614 ---client. 4615 --- 4616 ---@since 3.16.0 4617 ---@field prepareSupportDefaultBehavior? lsp.PrepareSupportDefaultBehavior 4618 --- 4619 ---Whether the client honors the change annotations in 4620 ---text edits and resource operations returned via the 4621 ---rename request's workspace edit by for example presenting 4622 ---the workspace edit in the user interface and asking 4623 ---for confirmation. 4624 --- 4625 ---@since 3.16.0 4626 ---@field honorsChangeAnnotations? boolean 4627 4628 ---@class lsp.FoldingRangeClientCapabilities 4629 --- 4630 ---Whether implementation supports dynamic registration for folding range 4631 ---providers. If this is set to `true` the client supports the new 4632 ---`FoldingRangeRegistrationOptions` return value for the corresponding 4633 ---server capability as well. 4634 ---@field dynamicRegistration? boolean 4635 --- 4636 ---The maximum number of folding ranges that the client prefers to receive 4637 ---per document. The value serves as a hint, servers are free to follow the 4638 ---limit. 4639 ---@field rangeLimit? uinteger 4640 --- 4641 ---If set, the client signals that it only supports folding complete lines. 4642 ---If set, client will ignore specified `startCharacter` and `endCharacter` 4643 ---properties in a FoldingRange. 4644 ---@field lineFoldingOnly? boolean 4645 --- 4646 ---Specific options for the folding range kind. 4647 --- 4648 ---@since 3.17.0 4649 ---@field foldingRangeKind? lsp.ClientFoldingRangeKindOptions 4650 --- 4651 ---Specific options for the folding range. 4652 --- 4653 ---@since 3.17.0 4654 ---@field foldingRange? lsp.ClientFoldingRangeOptions 4655 4656 ---@class lsp.SelectionRangeClientCapabilities 4657 --- 4658 ---Whether implementation supports dynamic registration for selection range providers. If this is set to `true` 4659 ---the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server 4660 ---capability as well. 4661 ---@field dynamicRegistration? boolean 4662 4663 ---The publish diagnostic client capabilities. 4664 ---@class lsp.PublishDiagnosticsClientCapabilities: lsp.DiagnosticsCapabilities 4665 --- 4666 ---Whether the client interprets the version property of the 4667 ---`textDocument/publishDiagnostics` notification's parameter. 4668 --- 4669 ---@since 3.15.0 4670 ---@field versionSupport? boolean 4671 4672 ---@since 3.16.0 4673 ---@class lsp.CallHierarchyClientCapabilities 4674 --- 4675 ---Whether implementation supports dynamic registration. If this is set to `true` 4676 ---the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4677 ---return value for the corresponding server capability as well. 4678 ---@field dynamicRegistration? boolean 4679 4680 ---@since 3.16.0 4681 ---@class lsp.SemanticTokensClientCapabilities 4682 --- 4683 ---Whether implementation supports dynamic registration. If this is set to `true` 4684 ---the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4685 ---return value for the corresponding server capability as well. 4686 ---@field dynamicRegistration? boolean 4687 --- 4688 ---Which requests the client supports and might send to the server 4689 ---depending on the server's capability. Please note that clients might not 4690 ---show semantic tokens or degrade some of the user experience if a range 4691 ---or full request is advertised by the client but not provided by the 4692 ---server. If for example the client capability `requests.full` and 4693 ---`request.range` are both set to true but the server only provides a 4694 ---range provider the client might not render a minimap correctly or might 4695 ---even decide to not show any semantic tokens at all. 4696 ---@field requests lsp.ClientSemanticTokensRequestOptions 4697 --- 4698 ---The token types that the client supports. 4699 ---@field tokenTypes string[] 4700 --- 4701 ---The token modifiers that the client supports. 4702 ---@field tokenModifiers string[] 4703 --- 4704 ---The token formats the clients supports. 4705 ---@field formats lsp.TokenFormat[] 4706 --- 4707 ---Whether the client supports tokens that can overlap each other. 4708 ---@field overlappingTokenSupport? boolean 4709 --- 4710 ---Whether the client supports tokens that can span multiple lines. 4711 ---@field multilineTokenSupport? boolean 4712 --- 4713 ---Whether the client allows the server to actively cancel a 4714 ---semantic token request, e.g. supports returning 4715 ---LSPErrorCodes.ServerCancelled. If a server does the client 4716 ---needs to retrigger the request. 4717 --- 4718 ---@since 3.17.0 4719 ---@field serverCancelSupport? boolean 4720 --- 4721 ---Whether the client uses semantic tokens to augment existing 4722 ---syntax tokens. If set to `true` client side created syntax 4723 ---tokens and semantic tokens are both used for colorization. If 4724 ---set to `false` the client only uses the returned semantic tokens 4725 ---for colorization. 4726 --- 4727 ---If the value is `undefined` then the client behavior is not 4728 ---specified. 4729 --- 4730 ---@since 3.17.0 4731 ---@field augmentsSyntaxTokens? boolean 4732 4733 ---Client capabilities for the linked editing range request. 4734 --- 4735 ---@since 3.16.0 4736 ---@class lsp.LinkedEditingRangeClientCapabilities 4737 --- 4738 ---Whether implementation supports dynamic registration. If this is set to `true` 4739 ---the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4740 ---return value for the corresponding server capability as well. 4741 ---@field dynamicRegistration? boolean 4742 4743 ---Client capabilities specific to the moniker request. 4744 --- 4745 ---@since 3.16.0 4746 ---@class lsp.MonikerClientCapabilities 4747 --- 4748 ---Whether moniker supports dynamic registration. If this is set to `true` 4749 ---the client supports the new `MonikerRegistrationOptions` return value 4750 ---for the corresponding server capability as well. 4751 ---@field dynamicRegistration? boolean 4752 4753 ---@since 3.17.0 4754 ---@class lsp.TypeHierarchyClientCapabilities 4755 --- 4756 ---Whether implementation supports dynamic registration. If this is set to `true` 4757 ---the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4758 ---return value for the corresponding server capability as well. 4759 ---@field dynamicRegistration? boolean 4760 4761 ---Client capabilities specific to inline values. 4762 --- 4763 ---@since 3.17.0 4764 ---@class lsp.InlineValueClientCapabilities 4765 --- 4766 ---Whether implementation supports dynamic registration for inline value providers. 4767 ---@field dynamicRegistration? boolean 4768 4769 ---Inlay hint client capabilities. 4770 --- 4771 ---@since 3.17.0 4772 ---@class lsp.InlayHintClientCapabilities 4773 --- 4774 ---Whether inlay hints support dynamic registration. 4775 ---@field dynamicRegistration? boolean 4776 --- 4777 ---Indicates which properties a client can resolve lazily on an inlay 4778 ---hint. 4779 ---@field resolveSupport? lsp.ClientInlayHintResolveOptions 4780 4781 ---Client capabilities specific to diagnostic pull requests. 4782 --- 4783 ---@since 3.17.0 4784 ---@class lsp.DiagnosticClientCapabilities: lsp.DiagnosticsCapabilities 4785 --- 4786 ---Whether implementation supports dynamic registration. If this is set to `true` 4787 ---the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4788 ---return value for the corresponding server capability as well. 4789 ---@field dynamicRegistration? boolean 4790 --- 4791 ---Whether the clients supports related documents for document diagnostic pulls. 4792 ---@field relatedDocumentSupport? boolean 4793 4794 ---Client capabilities specific to inline completions. 4795 --- 4796 ---@since 3.18.0 4797 ---@proposed 4798 ---@class lsp.InlineCompletionClientCapabilities 4799 --- 4800 ---Whether implementation supports dynamic registration for inline completion providers. 4801 ---@field dynamicRegistration? boolean 4802 4803 ---Notebook specific client capabilities. 4804 --- 4805 ---@since 3.17.0 4806 ---@class lsp.NotebookDocumentSyncClientCapabilities 4807 --- 4808 ---Whether implementation supports dynamic registration. If this is 4809 ---set to `true` the client supports the new 4810 ---`(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 4811 ---return value for the corresponding server capability as well. 4812 ---@field dynamicRegistration? boolean 4813 --- 4814 ---The client supports sending execution summary data per cell. 4815 ---@field executionSummarySupport? boolean 4816 4817 ---Show message request client capabilities 4818 ---@class lsp.ShowMessageRequestClientCapabilities 4819 --- 4820 ---Capabilities specific to the `MessageActionItem` type. 4821 ---@field messageActionItem? lsp.ClientShowMessageActionItemOptions 4822 4823 ---Client capabilities for the showDocument request. 4824 --- 4825 ---@since 3.16.0 4826 ---@class lsp.ShowDocumentClientCapabilities 4827 --- 4828 ---The client has support for the showDocument 4829 ---request. 4830 ---@field support boolean 4831 4832 ---@since 3.18.0 4833 ---@class lsp.StaleRequestSupportOptions 4834 --- 4835 ---The client will actively cancel the request. 4836 ---@field cancel boolean 4837 --- 4838 ---The list of requests for which the client 4839 ---will retry the request if it receives a 4840 ---response with error code `ContentModified` 4841 ---@field retryOnContentModified string[] 4842 4843 ---Client capabilities specific to regular expressions. 4844 --- 4845 ---@since 3.16.0 4846 ---@class lsp.RegularExpressionsClientCapabilities 4847 --- 4848 ---The engine's name. 4849 ---@field engine lsp.RegularExpressionEngineKind 4850 --- 4851 ---The engine's version. 4852 ---@field version? string 4853 4854 ---Client capabilities specific to the used markdown parser. 4855 --- 4856 ---@since 3.16.0 4857 ---@class lsp.MarkdownClientCapabilities 4858 --- 4859 ---The name of the parser. 4860 ---@field parser string 4861 --- 4862 ---The version of the parser. 4863 ---@field version? string 4864 --- 4865 ---A list of HTML tags that the client allows / supports in 4866 ---Markdown. 4867 --- 4868 ---@since 3.17.0 4869 ---@field allowedTags? string[] 4870 4871 ---@since 3.18.0 4872 ---@class lsp.ChangeAnnotationsSupportOptions 4873 --- 4874 ---Whether the client groups edits with equal labels into tree nodes, 4875 ---for instance all edits labelled with "Changes in Strings" would 4876 ---be a tree node. 4877 ---@field groupsOnLabel? boolean 4878 4879 ---@since 3.18.0 4880 ---@class lsp.ClientSymbolKindOptions 4881 --- 4882 ---The symbol kind values the client supports. When this 4883 ---property exists the client also guarantees that it will 4884 ---handle values outside its set gracefully and falls back 4885 ---to a default value when unknown. 4886 --- 4887 ---If this property is not present the client only supports 4888 ---the symbol kinds from `File` to `Array` as defined in 4889 ---the initial version of the protocol. 4890 ---@field valueSet? lsp.SymbolKind[] 4891 4892 ---@since 3.18.0 4893 ---@class lsp.ClientSymbolTagOptions 4894 --- 4895 ---The tags supported by the client. 4896 ---@field valueSet lsp.SymbolTag[] 4897 4898 ---@since 3.18.0 4899 ---@class lsp.ClientSymbolResolveOptions 4900 --- 4901 ---The properties that a client can resolve lazily. Usually 4902 ---`location.range` 4903 ---@field properties string[] 4904 4905 ---@since 3.18.0 4906 ---@class lsp.ClientCompletionItemOptions 4907 --- 4908 ---Client supports snippets as insert text. 4909 --- 4910 ---A snippet can define tab stops and placeholders with `$1`, `$2` 4911 ---and `${3:foo}`. `$0` defines the final tab stop, it defaults to 4912 ---the end of the snippet. Placeholders with equal identifiers are linked, 4913 ---that is typing in one will update others too. 4914 ---@field snippetSupport? boolean 4915 --- 4916 ---Client supports commit characters on a completion item. 4917 ---@field commitCharactersSupport? boolean 4918 --- 4919 ---Client supports the following content formats for the documentation 4920 ---property. The order describes the preferred format of the client. 4921 ---@field documentationFormat? lsp.MarkupKind[] 4922 --- 4923 ---Client supports the deprecated property on a completion item. 4924 ---@field deprecatedSupport? boolean 4925 --- 4926 ---Client supports the preselect property on a completion item. 4927 ---@field preselectSupport? boolean 4928 --- 4929 ---Client supports the tag property on a completion item. Clients supporting 4930 ---tags have to handle unknown tags gracefully. Clients especially need to 4931 ---preserve unknown tags when sending a completion item back to the server in 4932 ---a resolve call. 4933 --- 4934 ---@since 3.15.0 4935 ---@field tagSupport? lsp.CompletionItemTagOptions 4936 --- 4937 ---Client support insert replace edit to control different behavior if a 4938 ---completion item is inserted in the text or should replace text. 4939 --- 4940 ---@since 3.16.0 4941 ---@field insertReplaceSupport? boolean 4942 --- 4943 ---Indicates which properties a client can resolve lazily on a completion 4944 ---item. Before version 3.16.0 only the predefined properties `documentation` 4945 ---and `details` could be resolved lazily. 4946 --- 4947 ---@since 3.16.0 4948 ---@field resolveSupport? lsp.ClientCompletionItemResolveOptions 4949 --- 4950 ---The client supports the `insertTextMode` property on 4951 ---a completion item to override the whitespace handling mode 4952 ---as defined by the client (see `insertTextMode`). 4953 --- 4954 ---@since 3.16.0 4955 ---@field insertTextModeSupport? lsp.ClientCompletionItemInsertTextModeOptions 4956 --- 4957 ---The client has support for completion item label 4958 ---details (see also `CompletionItemLabelDetails`). 4959 --- 4960 ---@since 3.17.0 4961 ---@field labelDetailsSupport? boolean 4962 4963 ---@since 3.18.0 4964 ---@class lsp.ClientCompletionItemOptionsKind 4965 --- 4966 ---The completion item kind values the client supports. When this 4967 ---property exists the client also guarantees that it will 4968 ---handle values outside its set gracefully and falls back 4969 ---to a default value when unknown. 4970 --- 4971 ---If this property is not present the client only supports 4972 ---the completion items kinds from `Text` to `Reference` as defined in 4973 ---the initial version of the protocol. 4974 ---@field valueSet? lsp.CompletionItemKind[] 4975 4976 ---The client supports the following `CompletionList` specific 4977 ---capabilities. 4978 --- 4979 ---@since 3.17.0 4980 ---@class lsp.CompletionListCapabilities 4981 --- 4982 ---The client supports the following itemDefaults on 4983 ---a completion list. 4984 --- 4985 ---The value lists the supported property names of the 4986 ---`CompletionList.itemDefaults` object. If omitted 4987 ---no properties are supported. 4988 --- 4989 ---@since 3.17.0 4990 ---@field itemDefaults? string[] 4991 --- 4992 ---Specifies whether the client supports `CompletionList.applyKind` to 4993 ---indicate how supported values from `completionList.itemDefaults` 4994 ---and `completion` will be combined. 4995 --- 4996 ---If a client supports `applyKind` it must support it for all fields 4997 ---that it supports that are listed in `CompletionList.applyKind`. This 4998 ---means when clients add support for new/future fields in completion 4999 ---items the MUST also support merge for them if those fields are 5000 ---defined in `CompletionList.applyKind`. 5001 --- 5002 ---@since 3.18.0 5003 ---@field applyKindSupport? boolean 5004 5005 ---@since 3.18.0 5006 ---@class lsp.ClientSignatureInformationOptions 5007 --- 5008 ---Client supports the following content formats for the documentation 5009 ---property. The order describes the preferred format of the client. 5010 ---@field documentationFormat? lsp.MarkupKind[] 5011 --- 5012 ---Client capabilities specific to parameter information. 5013 ---@field parameterInformation? lsp.ClientSignatureParameterInformationOptions 5014 --- 5015 ---The client supports the `activeParameter` property on `SignatureInformation` 5016 ---literal. 5017 --- 5018 ---@since 3.16.0 5019 ---@field activeParameterSupport? boolean 5020 --- 5021 ---The client supports the `activeParameter` property on 5022 ---`SignatureHelp`/`SignatureInformation` being set to `null` to 5023 ---indicate that no parameter should be active. 5024 --- 5025 ---@since 3.18.0 5026 ---@proposed 5027 ---@field noActiveParameterSupport? boolean 5028 5029 ---@since 3.18.0 5030 ---@class lsp.ClientCodeActionLiteralOptions 5031 --- 5032 ---The code action kind is support with the following value 5033 ---set. 5034 ---@field codeActionKind lsp.ClientCodeActionKindOptions 5035 5036 ---@since 3.18.0 5037 ---@class lsp.ClientCodeActionResolveOptions 5038 --- 5039 ---The properties that a client can resolve lazily. 5040 ---@field properties string[] 5041 5042 ---@since 3.18.0 - proposed 5043 ---@class lsp.CodeActionTagOptions 5044 --- 5045 ---The tags supported by the client. 5046 ---@field valueSet lsp.CodeActionTag[] 5047 5048 ---@since 3.18.0 5049 ---@class lsp.ClientCodeLensResolveOptions 5050 --- 5051 ---The properties that a client can resolve lazily. 5052 ---@field properties string[] 5053 5054 ---@since 3.18.0 5055 ---@class lsp.ClientFoldingRangeKindOptions 5056 --- 5057 ---The folding range kind values the client supports. When this 5058 ---property exists the client also guarantees that it will 5059 ---handle values outside its set gracefully and falls back 5060 ---to a default value when unknown. 5061 ---@field valueSet? lsp.FoldingRangeKind[] 5062 5063 ---@since 3.18.0 5064 ---@class lsp.ClientFoldingRangeOptions 5065 --- 5066 ---If set, the client signals that it supports setting collapsedText on 5067 ---folding ranges to display custom labels instead of the default text. 5068 --- 5069 ---@since 3.17.0 5070 ---@field collapsedText? boolean 5071 5072 ---General diagnostics capabilities for pull and push model. 5073 ---@class lsp.DiagnosticsCapabilities 5074 --- 5075 ---Whether the clients accepts diagnostics with related information. 5076 ---@field relatedInformation? boolean 5077 --- 5078 ---Client supports the tag property to provide meta data about a diagnostic. 5079 ---Clients supporting tags have to handle unknown tags gracefully. 5080 --- 5081 ---@since 3.15.0 5082 ---@field tagSupport? lsp.ClientDiagnosticsTagOptions 5083 --- 5084 ---Client supports a codeDescription property 5085 --- 5086 ---@since 3.16.0 5087 ---@field codeDescriptionSupport? boolean 5088 --- 5089 ---Whether code action supports the `data` property which is 5090 ---preserved between a `textDocument/publishDiagnostics` and 5091 ---`textDocument/codeAction` request. 5092 --- 5093 ---@since 3.16.0 5094 ---@field dataSupport? boolean 5095 5096 ---@since 3.18.0 5097 ---@class lsp.ClientSemanticTokensRequestOptions 5098 --- 5099 ---The client will send the `textDocument/semanticTokens/range` request if 5100 ---the server provides a corresponding handler. 5101 ---@field range? boolean|lsp._anonym2.range 5102 --- 5103 ---The client will send the `textDocument/semanticTokens/full` request if 5104 ---the server provides a corresponding handler. 5105 ---@field full? boolean|lsp.ClientSemanticTokensRequestFullDelta 5106 5107 ---@since 3.18.0 5108 ---@class lsp.ClientInlayHintResolveOptions 5109 --- 5110 ---The properties that a client can resolve lazily. 5111 ---@field properties string[] 5112 5113 ---@since 3.18.0 5114 ---@class lsp.ClientShowMessageActionItemOptions 5115 --- 5116 ---Whether the client supports additional attributes which 5117 ---are preserved and send back to the server in the 5118 ---request's response. 5119 ---@field additionalPropertiesSupport? boolean 5120 5121 ---@since 3.18.0 5122 ---@class lsp.CompletionItemTagOptions 5123 --- 5124 ---The tags supported by the client. 5125 ---@field valueSet lsp.CompletionItemTag[] 5126 5127 ---@since 3.18.0 5128 ---@class lsp.ClientCompletionItemResolveOptions 5129 --- 5130 ---The properties that a client can resolve lazily. 5131 ---@field properties string[] 5132 5133 ---@since 3.18.0 5134 ---@class lsp.ClientCompletionItemInsertTextModeOptions 5135 --- 5136 ---@field valueSet lsp.InsertTextMode[] 5137 5138 ---@since 3.18.0 5139 ---@class lsp.ClientSignatureParameterInformationOptions 5140 --- 5141 ---The client supports processing label offsets instead of a 5142 ---simple label string. 5143 --- 5144 ---@since 3.14.0 5145 ---@field labelOffsetSupport? boolean 5146 5147 ---@since 3.18.0 5148 ---@class lsp.ClientCodeActionKindOptions 5149 --- 5150 ---The code action kind values the client supports. When this 5151 ---property exists the client also guarantees that it will 5152 ---handle values outside its set gracefully and falls back 5153 ---to a default value when unknown. 5154 ---@field valueSet lsp.CodeActionKind[] 5155 5156 ---@since 3.18.0 5157 ---@class lsp.ClientDiagnosticsTagOptions 5158 --- 5159 ---The tags supported by the client. 5160 ---@field valueSet lsp.DiagnosticTag[] 5161 5162 ---@since 3.18.0 5163 ---@class lsp.ClientSemanticTokensRequestFullDelta 5164 --- 5165 ---The client will send the `textDocument/semanticTokens/full/delta` request if 5166 ---the server provides a corresponding handler. 5167 ---@field delta? boolean 5168 5169 ---A set of predefined token types. This set is not fixed 5170 ---an clients can specify additional token types via the 5171 ---corresponding client capabilities. 5172 --- 5173 ---@since 3.16.0 5174 ---@alias lsp.SemanticTokenTypes 5175 ---| "namespace" # namespace 5176 ---| "type" # type 5177 ---| "class" # class 5178 ---| "enum" # enum 5179 ---| "interface" # interface 5180 ---| "struct" # struct 5181 ---| "typeParameter" # typeParameter 5182 ---| "parameter" # parameter 5183 ---| "variable" # variable 5184 ---| "property" # property 5185 ---| "enumMember" # enumMember 5186 ---| "event" # event 5187 ---| "function" # function 5188 ---| "method" # method 5189 ---| "macro" # macro 5190 ---| "keyword" # keyword 5191 ---| "modifier" # modifier 5192 ---| "comment" # comment 5193 ---| "string" # string 5194 ---| "number" # number 5195 ---| "regexp" # regexp 5196 ---| "operator" # operator 5197 ---| "decorator" # decorator 5198 ---| "label" # label 5199 5200 ---A set of predefined token modifiers. This set is not fixed 5201 ---an clients can specify additional token types via the 5202 ---corresponding client capabilities. 5203 --- 5204 ---@since 3.16.0 5205 ---@alias lsp.SemanticTokenModifiers 5206 ---| "declaration" # declaration 5207 ---| "definition" # definition 5208 ---| "readonly" # readonly 5209 ---| "static" # static 5210 ---| "deprecated" # deprecated 5211 ---| "abstract" # abstract 5212 ---| "async" # async 5213 ---| "modification" # modification 5214 ---| "documentation" # documentation 5215 ---| "defaultLibrary" # defaultLibrary 5216 5217 ---The document diagnostic report kinds. 5218 --- 5219 ---@since 3.17.0 5220 ---@alias lsp.DocumentDiagnosticReportKind 5221 ---| "full" # Full 5222 ---| "unchanged" # Unchanged 5223 5224 ---Predefined error codes. 5225 ---@alias lsp.ErrorCodes 5226 ---| -32700 # ParseError 5227 ---| -32600 # InvalidRequest 5228 ---| -32601 # MethodNotFound 5229 ---| -32602 # InvalidParams 5230 ---| -32603 # InternalError 5231 ---| -32002 # ServerNotInitialized 5232 ---| -32001 # UnknownErrorCode 5233 5234 ---@alias lsp.LSPErrorCodes 5235 ---| -32803 # RequestFailed 5236 ---| -32802 # ServerCancelled 5237 ---| -32801 # ContentModified 5238 ---| -32800 # RequestCancelled 5239 5240 ---A set of predefined range kinds. 5241 ---@alias lsp.FoldingRangeKind 5242 ---| "comment" # Comment 5243 ---| "imports" # Imports 5244 ---| "region" # Region 5245 5246 ---A symbol kind. 5247 ---@alias lsp.SymbolKind 5248 ---| 1 # File 5249 ---| 2 # Module 5250 ---| 3 # Namespace 5251 ---| 4 # Package 5252 ---| 5 # Class 5253 ---| 6 # Method 5254 ---| 7 # Property 5255 ---| 8 # Field 5256 ---| 9 # Constructor 5257 ---| 10 # Enum 5258 ---| 11 # Interface 5259 ---| 12 # Function 5260 ---| 13 # Variable 5261 ---| 14 # Constant 5262 ---| 15 # String 5263 ---| 16 # Number 5264 ---| 17 # Boolean 5265 ---| 18 # Array 5266 ---| 19 # Object 5267 ---| 20 # Key 5268 ---| 21 # Null 5269 ---| 22 # EnumMember 5270 ---| 23 # Struct 5271 ---| 24 # Event 5272 ---| 25 # Operator 5273 ---| 26 # TypeParameter 5274 5275 ---Symbol tags are extra annotations that tweak the rendering of a symbol. 5276 --- 5277 ---@since 3.16 5278 ---@alias lsp.SymbolTag 5279 ---| 1 # Deprecated 5280 5281 ---Moniker uniqueness level to define scope of the moniker. 5282 --- 5283 ---@since 3.16.0 5284 ---@alias lsp.UniquenessLevel 5285 ---| "document" # document 5286 ---| "project" # project 5287 ---| "group" # group 5288 ---| "scheme" # scheme 5289 ---| "global" # global 5290 5291 ---The moniker kind. 5292 --- 5293 ---@since 3.16.0 5294 ---@alias lsp.MonikerKind 5295 ---| "import" # import 5296 ---| "export" # export 5297 ---| "local" # local 5298 5299 ---Inlay hint kinds. 5300 --- 5301 ---@since 3.17.0 5302 ---@alias lsp.InlayHintKind 5303 ---| 1 # Type 5304 ---| 2 # Parameter 5305 5306 ---The message type 5307 ---@alias lsp.MessageType 5308 ---| 1 # Error 5309 ---| 2 # Warning 5310 ---| 3 # Info 5311 ---| 4 # Log 5312 ---| 5 # Debug 5313 5314 ---Defines how the host (editor) should sync 5315 ---document changes to the language server. 5316 ---@alias lsp.TextDocumentSyncKind 5317 ---| 0 # None 5318 ---| 1 # Full 5319 ---| 2 # Incremental 5320 5321 ---Represents reasons why a text document is saved. 5322 ---@alias lsp.TextDocumentSaveReason 5323 ---| 1 # Manual 5324 ---| 2 # AfterDelay 5325 ---| 3 # FocusOut 5326 5327 ---The kind of a completion entry. 5328 ---@alias lsp.CompletionItemKind 5329 ---| 1 # Text 5330 ---| 2 # Method 5331 ---| 3 # Function 5332 ---| 4 # Constructor 5333 ---| 5 # Field 5334 ---| 6 # Variable 5335 ---| 7 # Class 5336 ---| 8 # Interface 5337 ---| 9 # Module 5338 ---| 10 # Property 5339 ---| 11 # Unit 5340 ---| 12 # Value 5341 ---| 13 # Enum 5342 ---| 14 # Keyword 5343 ---| 15 # Snippet 5344 ---| 16 # Color 5345 ---| 17 # File 5346 ---| 18 # Reference 5347 ---| 19 # Folder 5348 ---| 20 # EnumMember 5349 ---| 21 # Constant 5350 ---| 22 # Struct 5351 ---| 23 # Event 5352 ---| 24 # Operator 5353 ---| 25 # TypeParameter 5354 5355 ---Completion item tags are extra annotations that tweak the rendering of a completion 5356 ---item. 5357 --- 5358 ---@since 3.15.0 5359 ---@alias lsp.CompletionItemTag 5360 ---| 1 # Deprecated 5361 5362 ---Defines whether the insert text in a completion item should be interpreted as 5363 ---plain text or a snippet. 5364 ---@alias lsp.InsertTextFormat 5365 ---| 1 # PlainText 5366 ---| 2 # Snippet 5367 5368 ---How whitespace and indentation is handled during completion 5369 ---item insertion. 5370 --- 5371 ---@since 3.16.0 5372 ---@alias lsp.InsertTextMode 5373 ---| 1 # asIs 5374 ---| 2 # adjustIndentation 5375 5376 ---A document highlight kind. 5377 ---@alias lsp.DocumentHighlightKind 5378 ---| 1 # Text 5379 ---| 2 # Read 5380 ---| 3 # Write 5381 5382 ---A set of predefined code action kinds 5383 ---@alias lsp.CodeActionKind 5384 ---| "" # Empty 5385 ---| "quickfix" # QuickFix 5386 ---| "refactor" # Refactor 5387 ---| "refactor.extract" # RefactorExtract 5388 ---| "refactor.inline" # RefactorInline 5389 ---| "refactor.move" # RefactorMove 5390 ---| "refactor.rewrite" # RefactorRewrite 5391 ---| "source" # Source 5392 ---| "source.organizeImports" # SourceOrganizeImports 5393 ---| "source.fixAll" # SourceFixAll 5394 ---| "notebook" # Notebook 5395 5396 ---Code action tags are extra annotations that tweak the behavior of a code action. 5397 --- 5398 ---@since 3.18.0 - proposed 5399 ---@alias lsp.CodeActionTag 5400 ---| 1 # LLMGenerated 5401 5402 ---@alias lsp.TraceValue 5403 ---| "off" # Off 5404 ---| "messages" # Messages 5405 ---| "verbose" # Verbose 5406 5407 ---Describes the content type that a client supports in various 5408 ---result literals like `Hover`, `ParameterInfo` or `CompletionItem`. 5409 --- 5410 ---Please note that `MarkupKinds` must not start with a `$`. This kinds 5411 ---are reserved for internal usage. 5412 ---@alias lsp.MarkupKind 5413 ---| "plaintext" # PlainText 5414 ---| "markdown" # Markdown 5415 5416 ---Predefined Language kinds 5417 ---@since 3.18.0 5418 ---@alias lsp.LanguageKind 5419 ---| "abap" # ABAP 5420 ---| "bat" # WindowsBat 5421 ---| "bibtex" # BibTeX 5422 ---| "clojure" # Clojure 5423 ---| "coffeescript" # Coffeescript 5424 ---| "c" # C 5425 ---| "cpp" # CPP 5426 ---| "csharp" # CSharp 5427 ---| "css" # CSS 5428 ---| "d" # D 5429 ---| "pascal" # Delphi 5430 ---| "diff" # Diff 5431 ---| "dart" # Dart 5432 ---| "dockerfile" # Dockerfile 5433 ---| "elixir" # Elixir 5434 ---| "erlang" # Erlang 5435 ---| "fsharp" # FSharp 5436 ---| "git-commit" # GitCommit 5437 ---| "rebase" # GitRebase 5438 ---| "go" # Go 5439 ---| "groovy" # Groovy 5440 ---| "handlebars" # Handlebars 5441 ---| "haskell" # Haskell 5442 ---| "html" # HTML 5443 ---| "ini" # Ini 5444 ---| "java" # Java 5445 ---| "javascript" # JavaScript 5446 ---| "javascriptreact" # JavaScriptReact 5447 ---| "json" # JSON 5448 ---| "latex" # LaTeX 5449 ---| "less" # Less 5450 ---| "lua" # Lua 5451 ---| "makefile" # Makefile 5452 ---| "markdown" # Markdown 5453 ---| "objective-c" # ObjectiveC 5454 ---| "objective-cpp" # ObjectiveCPP 5455 ---| "pascal" # Pascal 5456 ---| "perl" # Perl 5457 ---| "perl6" # Perl6 5458 ---| "php" # PHP 5459 ---| "powershell" # Powershell 5460 ---| "jade" # Pug 5461 ---| "python" # Python 5462 ---| "r" # R 5463 ---| "razor" # Razor 5464 ---| "ruby" # Ruby 5465 ---| "rust" # Rust 5466 ---| "scss" # SCSS 5467 ---| "sass" # SASS 5468 ---| "scala" # Scala 5469 ---| "shaderlab" # ShaderLab 5470 ---| "shellscript" # ShellScript 5471 ---| "sql" # SQL 5472 ---| "swift" # Swift 5473 ---| "typescript" # TypeScript 5474 ---| "typescriptreact" # TypeScriptReact 5475 ---| "tex" # TeX 5476 ---| "vb" # VisualBasic 5477 ---| "xml" # XML 5478 ---| "xsl" # XSL 5479 ---| "yaml" # YAML 5480 5481 ---Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered. 5482 --- 5483 ---@since 3.18.0 5484 ---@proposed 5485 ---@alias lsp.InlineCompletionTriggerKind 5486 ---| 1 # Invoked 5487 ---| 2 # Automatic 5488 5489 ---A set of predefined position encoding kinds. 5490 --- 5491 ---@since 3.17.0 5492 ---@alias lsp.PositionEncodingKind 5493 ---| "utf-8" # UTF8 5494 ---| "utf-16" # UTF16 5495 ---| "utf-32" # UTF32 5496 5497 ---The file event type 5498 ---@alias lsp.FileChangeType 5499 ---| 1 # Created 5500 ---| 2 # Changed 5501 ---| 3 # Deleted 5502 5503 ---@alias lsp.WatchKind 5504 ---| 1 # Create 5505 ---| 2 # Change 5506 ---| 4 # Delete 5507 5508 ---The diagnostic's severity. 5509 ---@alias lsp.DiagnosticSeverity 5510 ---| 1 # Error 5511 ---| 2 # Warning 5512 ---| 3 # Information 5513 ---| 4 # Hint 5514 5515 ---The diagnostic tags. 5516 --- 5517 ---@since 3.15.0 5518 ---@alias lsp.DiagnosticTag 5519 ---| 1 # Unnecessary 5520 ---| 2 # Deprecated 5521 5522 ---How a completion was triggered 5523 ---@alias lsp.CompletionTriggerKind 5524 ---| 1 # Invoked 5525 ---| 2 # TriggerCharacter 5526 ---| 3 # TriggerForIncompleteCompletions 5527 5528 ---Defines how values from a set of defaults and an individual item will be 5529 ---merged. 5530 --- 5531 ---@since 3.18.0 5532 ---@alias lsp.ApplyKind 5533 ---| 1 # Replace 5534 ---| 2 # Merge 5535 5536 ---How a signature help was triggered. 5537 --- 5538 ---@since 3.15.0 5539 ---@alias lsp.SignatureHelpTriggerKind 5540 ---| 1 # Invoked 5541 ---| 2 # TriggerCharacter 5542 ---| 3 # ContentChange 5543 5544 ---The reason why code actions were requested. 5545 --- 5546 ---@since 3.17.0 5547 ---@alias lsp.CodeActionTriggerKind 5548 ---| 1 # Invoked 5549 ---| 2 # Automatic 5550 5551 ---A pattern kind describing if a glob pattern matches a file a folder or 5552 ---both. 5553 --- 5554 ---@since 3.16.0 5555 ---@alias lsp.FileOperationPatternKind 5556 ---| "file" # file 5557 ---| "folder" # folder 5558 5559 ---A notebook cell kind. 5560 --- 5561 ---@since 3.17.0 5562 ---@alias lsp.NotebookCellKind 5563 ---| 1 # Markup 5564 ---| 2 # Code 5565 5566 ---@alias lsp.ResourceOperationKind 5567 ---| "create" # Create 5568 ---| "rename" # Rename 5569 ---| "delete" # Delete 5570 5571 ---@alias lsp.FailureHandlingKind 5572 ---| "abort" # Abort 5573 ---| "transactional" # Transactional 5574 ---| "textOnlyTransactional" # TextOnlyTransactional 5575 ---| "undo" # Undo 5576 5577 ---@alias lsp.PrepareSupportDefaultBehavior 5578 ---| 1 # Identifier 5579 5580 ---@alias lsp.TokenFormat 5581 ---| "relative" # Relative 5582 5583 ---The definition of a symbol represented as one or many {@link Location locations}. 5584 ---For most programming languages there is only one location at which a symbol is 5585 ---defined. 5586 --- 5587 ---Servers should prefer returning `DefinitionLink` over `Definition` if supported 5588 ---by the client. 5589 ---@alias lsp.Definition lsp.Location|lsp.Location[] 5590 5591 ---Information about where a symbol is defined. 5592 --- 5593 ---Provides additional metadata over normal {@link Location location} definitions, including the range of 5594 ---the defining symbol 5595 ---@alias lsp.DefinitionLink lsp.LocationLink 5596 5597 ---LSP arrays. 5598 ---@since 3.17.0 5599 ---@alias lsp.LSPArray lsp.LSPAny[] 5600 5601 ---The LSP any type. 5602 ---Please note that strictly speaking a property with the value `undefined` 5603 ---can't be converted into JSON preserving the property name. However for 5604 ---convenience it is allowed and assumed that all these properties are 5605 ---optional as well. 5606 ---@since 3.17.0 5607 ---@alias lsp.LSPAny lsp.LSPObject|lsp.LSPArray|string|integer|uinteger|decimal|boolean|lsp.null 5608 5609 ---The declaration of a symbol representation as one or many {@link Location locations}. 5610 ---@alias lsp.Declaration lsp.Location|lsp.Location[] 5611 5612 ---Information about where a symbol is declared. 5613 --- 5614 ---Provides additional metadata over normal {@link Location location} declarations, including the range of 5615 ---the declaring symbol. 5616 --- 5617 ---Servers should prefer returning `DeclarationLink` over `Declaration` if supported 5618 ---by the client. 5619 ---@alias lsp.DeclarationLink lsp.LocationLink 5620 5621 ---Inline value information can be provided by different means: 5622 ---- directly as a text value (class InlineValueText). 5623 ---- as a name to use for a variable lookup (class InlineValueVariableLookup) 5624 ---- as an evaluatable expression (class InlineValueEvaluatableExpression) 5625 ---The InlineValue types combines all inline value types into one type. 5626 --- 5627 ---@since 3.17.0 5628 ---@alias lsp.InlineValue lsp.InlineValueText|lsp.InlineValueVariableLookup|lsp.InlineValueEvaluatableExpression 5629 5630 ---The result of a document diagnostic pull request. A report can 5631 ---either be a full report containing all diagnostics for the 5632 ---requested document or an unchanged report indicating that nothing 5633 ---has changed in terms of diagnostics in comparison to the last 5634 ---pull request. 5635 --- 5636 ---@since 3.17.0 5637 ---@alias lsp.DocumentDiagnosticReport lsp.RelatedFullDocumentDiagnosticReport|lsp.RelatedUnchangedDocumentDiagnosticReport 5638 5639 ---@alias lsp.PrepareRenameResult lsp.Range|lsp.PrepareRenamePlaceholder|lsp.PrepareRenameDefaultBehavior 5640 5641 ---A document selector is the combination of one or many document filters. 5642 --- 5643 ---\@sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`; 5644 --- 5645 ---The use of a string as a document filter is deprecated @since 3.16.0. 5646 ---@alias lsp.DocumentSelector lsp.DocumentFilter[] 5647 5648 ---@alias lsp.ProgressToken integer|string 5649 5650 ---An identifier to refer to a change annotation stored with a workspace edit. 5651 ---@alias lsp.ChangeAnnotationIdentifier string 5652 5653 ---A workspace diagnostic document report. 5654 --- 5655 ---@since 3.17.0 5656 ---@alias lsp.WorkspaceDocumentDiagnosticReport lsp.WorkspaceFullDocumentDiagnosticReport|lsp.WorkspaceUnchangedDocumentDiagnosticReport 5657 5658 ---An event describing a change to a text document. If only a text is provided 5659 ---it is considered to be the full content of the document. 5660 ---@alias lsp.TextDocumentContentChangeEvent lsp.TextDocumentContentChangePartial|lsp.TextDocumentContentChangeWholeDocument 5661 5662 ---MarkedString can be used to render human readable text. It is either a markdown string 5663 ---or a code-block that provides a language and a code snippet. The language identifier 5664 ---is semantically equal to the optional language identifier in fenced code blocks in GitHub 5665 ---issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting 5666 --- 5667 ---The pair of a language and a value is an equivalent to markdown: 5668 ---```${language} 5669 ---${value} 5670 ---``` 5671 --- 5672 ---Note that markdown strings will be sanitized - that means html will be escaped. 5673 ---@deprecated use MarkupContent instead. 5674 ---@alias lsp.MarkedString string|lsp.MarkedStringWithLanguage 5675 5676 ---A document filter describes a top level text document or 5677 ---a notebook cell document. 5678 --- 5679 ---@since 3.17.0 - support for NotebookCellTextDocumentFilter. 5680 ---@alias lsp.DocumentFilter lsp.TextDocumentFilter|lsp.NotebookCellTextDocumentFilter 5681 5682 ---LSP object definition. 5683 ---@since 3.17.0 5684 ---@alias lsp.LSPObject table<string, lsp.LSPAny> 5685 5686 ---The glob pattern. Either a string pattern or a relative pattern. 5687 --- 5688 ---@since 3.17.0 5689 ---@alias lsp.GlobPattern lsp.Pattern|lsp.RelativePattern 5690 5691 ---A document filter denotes a document by different properties like 5692 ---the {@link TextDocument.languageId language}, the {@link Uri.scheme scheme} of 5693 ---its resource, or a glob-pattern that is applied to the {@link TextDocument.fileName path}. 5694 --- 5695 ---Glob patterns can have the following syntax: 5696 ---- `*` to match one or more characters in a path segment 5697 ---- `?` to match on one character in a path segment 5698 ---- `**` to match any number of path segments, including none 5699 ---- `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files) 5700 ---- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 5701 ---- `[!...]` 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`) 5702 --- 5703 ---\@sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }` 5704 ---\@sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }` 5705 --- 5706 ---@since 3.17.0 5707 ---@alias lsp.TextDocumentFilter lsp.TextDocumentFilterLanguage|lsp.TextDocumentFilterScheme|lsp.TextDocumentFilterPattern 5708 5709 ---A notebook document filter denotes a notebook document by 5710 ---different properties. The properties will be match 5711 ---against the notebook's URI (same as with documents) 5712 --- 5713 ---@since 3.17.0 5714 ---@alias lsp.NotebookDocumentFilter lsp.NotebookDocumentFilterNotebookType|lsp.NotebookDocumentFilterScheme|lsp.NotebookDocumentFilterPattern 5715 5716 ---The glob pattern to watch relative to the base path. Glob patterns can have the following syntax: 5717 ---- `*` to match one or more characters in a path segment 5718 ---- `?` to match on one character in a path segment 5719 ---- `**` to match any number of path segments, including none 5720 ---- `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files) 5721 ---- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 5722 ---- `[!...]` 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`) 5723 --- 5724 ---@since 3.17.0 5725 ---@alias lsp.Pattern string 5726 5727 ---@alias lsp.RegularExpressionEngineKind string 5728 5729 ---@class lsp._anonym1.range 5730 5731 ---@class lsp._anonym2.range