Skip to content

Supported LSP requests

Maxim Reznik edited this page Sep 17, 2024 · 5 revisions

Supported LSP Server Requests

General Requests

Request Supported (Ada) Supported (GPR)
initialize
initialized
shutdown
exit
$/cancelRequest

Workspace Requests

Request Supported (Ada) OOE (Ada) Supported (GPR)
workspace/didChangeConfiguration 🙅
workspace/didChangeWorkspaceFolders
workspace/didChangeWatchedFiles
workspace/symbol
workspace/executeCommand

Synchronization Requests

Request Supported (Ada) OOE (Ada) Supported (GPR)
textDocument/didOpen
textDocument/didChange 🙅
textDocument/willSave
textDocument/willSaveWaitUntil
textDocument/didSave
textDocument/didClose

Text Document Requests

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 🐢

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:

  • 🙅 (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