- 
                Notifications
    You must be signed in to change notification settings 
- Fork 64
Supported LSP requests
        Maxim Reznik edited this page Sep 17, 2024 
        ·
        5 revisions
      
    | Request | Supported (Ada) | Supported (GPR) | 
|---|---|---|
| initialize | ✅ | ✅ | 
| initialized | ✅ | |
| shutdown | ✅ | ✅ | 
| exit | ✅ | |
| $/cancelRequest | ✅ | 
| Request | Supported (Ada) | OOE (Ada) | Supported (GPR) | 
|---|---|---|---|
| workspace/didChangeConfiguration | ✅ | 🙅 | ✅ | 
| workspace/didChangeWorkspaceFolders | ✅ | ||
| workspace/didChangeWatchedFiles | ✅ | ||
| workspace/symbol | ✅ | ||
| workspace/executeCommand | ✅ | 
| Request | Supported (Ada) | OOE (Ada) | Supported (GPR) | 
|---|---|---|---|
| textDocument/didOpen | ✅ | ✅ | |
| textDocument/didChange | ✅ | 🙅 | ✅ | 
| textDocument/willSave | |||
| textDocument/willSaveWaitUntil | |||
| textDocument/didSave | |||
| textDocument/didClose | ✅ | ✅ | 
| Request | Supported (Ada) | OOE (Ada) | Supported (GPR) | 
|---|---|---|---|
| textDocument/completion | ✅ | ✅ | |
| completionItem/resolve | ✅ | ||
| textDocument/hover | ✅ | 🐇 | ✅ | 
| textDocument/signatureHelp | ✅ | ||
| textDocument/definition | ✅ | 🐇 | ✅ | 
| textDocument/declaration | ✅ | 🐇 | ✅ | 
| textDocument/typeDefinition | ✅ | ||
| textDocument/implementation | ✅ | ||
| textDocument/references | ✅ | 🐢 | |
| textDocument/documentHighlight | ✅ | ||
| textDocument/documentSymbol | ✅ | 🐢 | ✅ | 
| textDocument/codeAction | ✅ | ||
| textDocument/codeLens | |||
| codeLens/resolve | |||
| textDocument/documentLink | |||
| documentLink/resolve | |||
| textDocument/documentColor | |||
| textDocument/colorPresentation | |||
| textDocument/formatting | ✅ | ||
| textDocument/rangeFormatting | ✅ | ||
| textDocument/onTypeFormatting | ✅ | ||
| textDocument/rename | ✅ | ||
| textDocument/prepareRename | ✅ | ||
| textDocument/foldingRange | ✅ | 🐢 | |
| textDocument/prepareCallHierarchy | ✅ | ||
| callHierarchy/incomingCalls | ✅ | ||
| callHierarchy/outgoingCalls | ✅ | ||
| textDocument/semanticTokens/full | ✅ | 🐢 | |
| textDocument/semanticTokens/range | ✅ | 🐇 | |
| textDocument/prepareTypeHierarchy | ✅ | 🐢 | |
| typeHierarchy/supertypes | ✅ | 🐢 | |
| typeHierarchy/subtypes | ✅ | 🐢 | 
ALS is able to execute some requests out of order they are arriving. For these request we have several execution strategies:
- 🙅 (fence priority) - don't execute the request till any previously arrived requests are executed. This priority mostly works as in-order execution.
- 🐇 (high priority) - execute the request as fast as possible
- 🐢 (low priority) - execute the request in the background