Supported LSP requests - AdaCore/ada_language_server GitHub Wiki
Supported LSP Server Requests
General Requests
Request |
Supported (Ada) |
Supported (GPR) |
initialize |
:white_check_mark: |
:white_check_mark: |
initialized |
:white_check_mark: |
|
shutdown |
:white_check_mark: |
:white_check_mark: |
exit |
:white_check_mark: |
|
$/cancelRequest |
:white_check_mark: |
|
Workspace Requests
Request |
Supported (Ada) |
OOE (Ada) |
Supported (GPR) |
workspace/didChangeConfiguration |
:white_check_mark: |
:no_good: |
:white_check_mark: |
workspace/didChangeWorkspaceFolders |
:white_check_mark: |
|
|
workspace/didChangeWatchedFiles |
:white_check_mark: |
|
|
workspace/symbol |
:white_check_mark: |
|
|
workspace/executeCommand |
:white_check_mark: |
|
|
Synchronization Requests
Request |
Supported (Ada) |
OOE (Ada) |
Supported (GPR) |
textDocument/didOpen |
:white_check_mark: |
|
:white_check_mark: |
textDocument/didChange |
:white_check_mark: |
:no_good: |
:white_check_mark: |
textDocument/willSave |
|
|
|
textDocument/willSaveWaitUntil |
|
|
|
textDocument/didSave |
|
|
|
textDocument/didClose |
:white_check_mark: |
|
:white_check_mark: |
Text Document Requests
Request |
Supported (Ada) |
OOE (Ada) |
Supported (GPR) |
textDocument/completion |
:white_check_mark: |
|
:white_check_mark: |
completionItem/resolve |
|
|
:white_check_mark: |
textDocument/hover |
:white_check_mark: |
:rabbit2: |
:white_check_mark: |
textDocument/signatureHelp |
:white_check_mark: |
|
|
textDocument/definition |
:white_check_mark: |
:rabbit2: |
:white_check_mark: |
textDocument/declaration |
:white_check_mark: |
:rabbit2: |
:white_check_mark: |
textDocument/typeDefinition |
:white_check_mark: |
|
|
textDocument/implementation |
:white_check_mark: |
|
|
textDocument/references |
:white_check_mark: |
:turtle: |
|
textDocument/documentHighlight |
:white_check_mark: |
|
|
textDocument/documentSymbol |
:white_check_mark: |
:turtle: |
:white_check_mark: |
textDocument/codeAction |
:white_check_mark: |
|
|
textDocument/codeLens |
|
|
|
codeLens/resolve |
|
|
|
textDocument/documentLink |
|
|
|
documentLink/resolve |
|
|
|
textDocument/documentColor |
|
|
|
textDocument/colorPresentation |
|
|
|
textDocument/formatting |
:white_check_mark: |
|
|
textDocument/rangeFormatting |
:white_check_mark: |
|
|
textDocument/onTypeFormatting |
:white_check_mark: |
|
|
textDocument/rename |
:white_check_mark: |
|
|
textDocument/prepareRename |
:white_check_mark: |
|
|
textDocument/foldingRange |
:white_check_mark: |
:turtle: |
|
textDocument/prepareCallHierarchy |
:white_check_mark: |
|
|
callHierarchy/incomingCalls |
:white_check_mark: |
|
|
callHierarchy/outgoingCalls |
:white_check_mark: |
|
|
textDocument/semanticTokens/full |
:white_check_mark: |
:turtle: |
|
textDocument/semanticTokens/range |
:white_check_mark: |
:rabbit2: |
|
textDocument/prepareTypeHierarchy |
:white_check_mark: |
:turtle: |
|
typeHierarchy/supertypes |
:white_check_mark: |
:turtle: |
|
typeHierarchy/subtypes |
:white_check_mark: |
:turtle: |
|
Out-of-Order Execution
ALS is able to execute some requests out of order they are arriving. For these request we have several execution strategies:
- :no_good: (fence priority) - don't execute the request till any previously arrived requests are executed. This priority mostly works as in-order execution.
- :rabbit2: (high priority) - execute the request as fast as possible
- :turtle: (low priority) - execute the request in the background