Interface ServerCapabilities<T>

Defines the capabilities provided by a language server.

interface ServerCapabilities<T = LSPAny> {
    callHierarchyProvider?:
        | boolean
        | CallHierarchyOptions
        | CallHierarchyRegistrationOptions;
    codeActionProvider?: boolean
    | CodeActionOptions;
    codeLensProvider?: CodeLensOptions;
    colorProvider?:
        | boolean
        | DocumentColorOptions
        | DocumentColorRegistrationOptions;
    completionProvider?: CompletionOptions;
    declarationProvider?: | boolean
    | DeclarationOptions
    | DeclarationRegistrationOptions;
    definitionProvider?: boolean
    | DefinitionOptions;
    diagnosticProvider?: DiagnosticOptions | DiagnosticRegistrationOptions;
    documentFormattingProvider?: boolean | DocumentFormattingOptions;
    documentHighlightProvider?: boolean | DocumentHighlightOptions;
    documentLinkProvider?: DocumentLinkOptions;
    documentOnTypeFormattingProvider?: DocumentOnTypeFormattingOptions;
    documentRangeFormattingProvider?: boolean | DocumentRangeFormattingOptions;
    documentSymbolProvider?: boolean | DocumentSymbolOptions;
    executeCommandProvider?: ExecuteCommandOptions;
    experimental?: T;
    foldingRangeProvider?:
        | boolean
        | FoldingRangeOptions
        | FoldingRangeRegistrationOptions;
    hoverProvider?: boolean
    | HoverOptions;
    implementationProvider?:
        | boolean
        | ImplementationOptions
        | ImplementationRegistrationOptions;
    inlayHintProvider?: | boolean
    | InlayHintOptions
    | InlayHintRegistrationOptions;
    inlineCompletionProvider?: boolean
    | WorkDoneProgressOptions;
    inlineValueProvider?:
        | boolean
        | WorkDoneProgressOptions
        | InlineValueRegistrationOptions;
    linkedEditingRangeProvider?: | boolean
    | LinkedEditingRangeOptions
    | LinkedEditingRangeRegistrationOptions;
    monikerProvider?: boolean
    | MonikerOptions
    | MonikerRegistrationOptions;
    notebookDocumentSync?:
        | NotebookDocumentSyncOptions
        | NotebookDocumentSyncRegistrationOptions;
    positionEncoding?: string;
    referencesProvider?: boolean
    | ReferenceOptions;
    renameProvider?: boolean | RenameOptions;
    selectionRangeProvider?:
        | boolean
        | SelectionRangeOptions
        | SelectionRangeRegistrationOptions;
    semanticTokensProvider?: | SemanticTokensOptions
    | SemanticTokensRegistrationOptions;
    signatureHelpProvider?: SignatureHelpOptions;
    textDocumentSync?: TextDocumentSyncOptions
    | TextDocumentSyncKind;
    typeDefinitionProvider?:
        | boolean
        | TypeDefinitionOptions
        | TypeDefinitionRegistrationOptions;
    typeHierarchyProvider?: | boolean
    | WorkDoneProgressOptions
    | TypeHierarchyRegistrationOptions;
    workspace?: WorkspaceOptions;
    workspaceSymbolProvider?: boolean
    | WorkspaceSymbolOptions;
}

Type Parameters

Properties

callHierarchyProvider?:
    | boolean
    | CallHierarchyOptions
    | CallHierarchyRegistrationOptions

The server provides call hierarchy support.

3.16.0

codeActionProvider?: boolean | CodeActionOptions

The server provides code actions. CodeActionOptions may only be specified if the client states that it supports codeActionLiteralSupport in its initial initialize request.

codeLensProvider?: CodeLensOptions

The server provides code lens.

colorProvider?:
    | boolean
    | DocumentColorOptions
    | DocumentColorRegistrationOptions

The server provides color provider support.

completionProvider?: CompletionOptions

The server provides completion support.

declarationProvider?:
    | boolean
    | DeclarationOptions
    | DeclarationRegistrationOptions

The server provides Goto Declaration support.

definitionProvider?: boolean | DefinitionOptions

The server provides goto definition support.

The server has support for pull model diagnostics.

3.17.0

documentFormattingProvider?: boolean | DocumentFormattingOptions

The server provides document formatting.

documentHighlightProvider?: boolean | DocumentHighlightOptions

The server provides document highlight support.

documentLinkProvider?: DocumentLinkOptions

The server provides document link support.

documentOnTypeFormattingProvider?: DocumentOnTypeFormattingOptions

The server provides document formatting on typing.

documentRangeFormattingProvider?: boolean | DocumentRangeFormattingOptions

The server provides document range formatting.

documentSymbolProvider?: boolean | DocumentSymbolOptions

The server provides document symbol support.

executeCommandProvider?: ExecuteCommandOptions

The server provides execute command support.

experimental?: T

Experimental server capabilities.

foldingRangeProvider?:
    | boolean
    | FoldingRangeOptions
    | FoldingRangeRegistrationOptions

The server provides folding provider support.

hoverProvider?: boolean | HoverOptions

The server provides hover support.

implementationProvider?:
    | boolean
    | ImplementationOptions
    | ImplementationRegistrationOptions

The server provides Goto Implementation support.

inlayHintProvider?: boolean | InlayHintOptions | InlayHintRegistrationOptions

The server provides inlay hints.

3.17.0

inlineCompletionProvider?: boolean | WorkDoneProgressOptions

Inline completion options used during static registration.

3.18.0

inlineValueProvider?:
    | boolean
    | WorkDoneProgressOptions
    | InlineValueRegistrationOptions

The server provides inline values.

3.17.0

linkedEditingRangeProvider?:
    | boolean
    | LinkedEditingRangeOptions
    | LinkedEditingRangeRegistrationOptions

The server provides linked editing range support.

3.16.0

monikerProvider?: boolean | MonikerOptions | MonikerRegistrationOptions

The server provides moniker support.

3.16.0

Defines how notebook documents are synced.

3.17.0

positionEncoding?: string

The position encoding the server picked from the encodings offered by the client via the client capability general.positionEncodings.

If the client didn't provide any position encodings the only valid value that a server can return is 'utf-16'.

If omitted it defaults to 'utf-16'.

3.17.0

referencesProvider?: boolean | ReferenceOptions

The server provides find references support.

renameProvider?: boolean | RenameOptions

The server provides rename support. RenameOptions may only be specified if the client states that it supports prepareSupport in its initial initialize request.

selectionRangeProvider?:
    | boolean
    | SelectionRangeOptions
    | SelectionRangeRegistrationOptions

The server provides selection range support.

semanticTokensProvider?:
    | SemanticTokensOptions
    | SemanticTokensRegistrationOptions

The server provides semantic tokens support.

3.16.0

signatureHelpProvider?: SignatureHelpOptions

The server provides signature help support.

Defines how text documents are synced. Is either a detailed structure defining each notification or for backwards compatibility the TextDocumentSyncKind number.

typeDefinitionProvider?:
    | boolean
    | TypeDefinitionOptions
    | TypeDefinitionRegistrationOptions

The server provides Goto Type Definition support.

typeHierarchyProvider?:
    | boolean
    | WorkDoneProgressOptions
    | TypeHierarchyRegistrationOptions

The server provides type hierarchy support.

3.17.0

workspace?: WorkspaceOptions

Workspace specific server capabilities.

workspaceSymbolProvider?: boolean | WorkspaceSymbolOptions

The server provides workspace symbol support.