Supported LSP features
This list documents LSP features, supported by rust-analyzer.
General
[x]
initialize
[x]
initialized
[x]
shutdown
[ ]
exit
[x]
$/cancelRequest
Workspace
[ ]
workspace/workspaceFolders
[ ]
workspace/didChangeWorkspaceFolders
[x]
workspace/didChangeConfiguration
[ ]
workspace/configuration
[x]
workspace/didChangeWatchedFiles
[x]
workspace/symbol
[ ]
workspace/applyEdit
Text Synchronization
[x]
textDocument/didOpen
[x]
textDocument/didChange
[ ]
textDocument/willSave
[ ]
textDocument/willSaveWaitUntil
[x]
textDocument/didSave
[x]
textDocument/didClose
Diagnostics
[x]
textDocument/publishDiagnostics
Lanuguage Features
[x]
textDocument/completion
open close: false
change: Full
will save: false
will save wait until: false
save: false
[x]
completionItem/resolve
resolve provider: none
trigger characters:
:
,
.
[x]
textDocument/hover
[x]
textDocument/signatureHelp
trigger characters:
(
,
,
[ ]
textDocument/declaration
[x]
textDocument/definition
[x]
textDocument/typeDefinition
[x]
textDocument/implementation
[x]
textDocument/references
[x]
textDocument/documentHighlight
[x]
textDocument/documentSymbol
[x]
textDocument/codeAction
[x]
textDocument/selectionRange
rust-analyzer.syntaxTree
rust-analyzer.matchingBrace
rust-analyzer.parentModule
rust-analyzer.joinLines
rust-analyzer.run
rust-analyzer.analyzerStatus
[x]
textDocument/codeLens
[x]
codeLens/resolve
[ ]
documentLink/resolve
[ ]
textDocument/documentColor
[ ]
textDocument/colorPresentation
[x]
textDocument/formatting
[ ]
textDocument/rangeFormatting
[x]
textDocument/onTypeFormatting
first trigger character:
=
more trigger character
.
[x]
textDocument/rename
[x]
textDocument/prepareRename
[x]
textDocument/foldingRange