completion

Capabilities relating to the textDocument/completion request.

textDocument.completion.dynamicRegistration
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code 1.65.2

Whether completion supports dynamic registration.

textDocument.completion.contextSupport
Client Supported Since
Emacs (eglot) 29.1
Neovim -
Visual Studio Code 1.65.2

The client supports to send additional context information for a textDocument/completion request.

since v3.17.0 textDocument.completion.insertTextMode
Client
Emacs (eglot)
Neovim
Visual Studio Code

Defines how the client handles whitespace and indentation when accepting a completion item that uses multi line text in either insertText or textEdit.

completionItem

textDocument.completion.completionItem.snippetSupport
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code 1.65.2

Client supports snippets as insert text.

A snippet can define tab stops and placeholders with $1 , $2 and ${3:foo} . $0 defines the final tab stop, it defaults to the end of the snippet. Placeholders with equal identifiers are linked, that is typing in one will update others too.

textDocument.completion.completionItem.commitCharactersSupport
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code 1.65.2

Client supports commit characters on a completion item.

textDocument.completion.completionItem.documentationFormat
Client markdown plaintext
Emacs (eglot) - -
Neovim 0.6.1 0.6.1
Visual Studio Code 1.65.2 1.65.2

Client supports the following content formats for the documentation property. The order describes the preferred format of the client.

textDocument.completion.completionItem.deprecatedSupport
Client Supported Since
Emacs (eglot) 29.1
Neovim -
Visual Studio Code 1.65.2

Client supports the deprecated property on a completion item.

textDocument.completion.completionItem.preselectSupport
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code 1.65.2

Client supports the preselect property on a completion item.

since v3.16.0 textDocument.completion.completionItem.insertReplaceSupport
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code 1.65.2

Client support insert replace edit to control different behavior if a completion item is inserted in the text or should replace text.

since v3.17.0 textDocument.completion.completionItem.labelDetailsSupport
Client Supported Since
Emacs (eglot) -
Neovim -
Visual Studio Code -

The client has support for completion item label details (see also CompletionItemLabelDetails ).

insertTextModeSupport

textDocument.completion.completionItem.insertTextModeSupport.valueSet
Client AdjustIndentation AsIs
Emacs (eglot) - -
Neovim - -
Visual Studio Code 1.65.2 1.65.2

resolveSupport

textDocument.completion.completionItem.resolveSupport.properties
Client additionalTextEdits detail details documentation
Emacs (eglot) 29.1 29.1 29.1 29.1
Neovim - - - -
Visual Studio Code 1.65.2 1.65.2 1.65.2 1.65.2

The properties that a client can resolve lazily.

tagSupport

textDocument.completion.completionItem.tagSupport.valueSet
Client Deprecated
Emacs (eglot) 29.1
Neovim -
Visual Studio Code 1.65.2

The tags supported by the client.

completionItemKind

textDocument.completion.completionItemKind.valueSet
Client Class Color Constant Constructor Enum EnumMember Event Field File Folder Function Interface Keyword Method Module Operator Property Reference Snippet Struct Text TypeParameter Unit Value Variable
Emacs (eglot) - - - - - - - - - - - - - - - - - - - - - - - - -
Neovim 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1
Visual Studio Code 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2 1.65.2

The completion item kind values the client supports. When this property exists the client also guarantees that it will handle values outside its set gracefully and falls back to a default value when unknown.

If this property is not present the client only supports the completion items kinds from Text to Reference as defined in the initial version of the protocol.

completionList

since v3.17.0 textDocument.completion.completionList.itemDefaults
Client
Emacs (eglot)
Neovim
Visual Studio Code

The client supports the following itemDefaults on a completion list.

The value lists the supported property names of the CompletionList.itemDefaults object. If omitted no properties are supported.