Skip to content
ZacNugent edited this page Jul 28, 2017 · 3 revisions

LanguageServer.jl is currently tracking version 3.0 of the protocol.

Server Capabilities

  • Hover provider (textDocument/hover)
  • Completion provider (textDocument/completion)
  • Signature help provider (textDocument/signatureHelp)
  • Definition provider (textDocument/definition)
  • References provider (textDocument/references)
  • Document highlight provider
  • Document symbol provider (textDocument/documentSymbol)
  • Workspace symbol provider (workspace/symbol)
  • Code action provider (textDocument/codeAction) (this expects a client side registered function language-julia.applytextedit that can apply a vector of WorkspaceEdits to the client side documents).
  • CodeLens
  • Document formatting provider (textDocument/formatting)
  • Document range formatting provider
  • Document on type formatting provider
  • Rename provider

Along with these standardised features the server sends/receives requests for:

  • {"jsonrpc":"2.0","id":24,"method":"julia/reload-modules","params":null} : reloads imported modules.
  • {"jsonrpc":"2.0","id":30,"method":"julia/lint-package","params":null} : runs special package linting.
  • The server sends {"method":"window/setStatusBusy","jsonrpc":"2.0"} before handling a request and {"method":"window/setStatusReady","jsonrpc":"2.0"} when finished to allow the client to display a 'busy' indicator.
Clone this wiki locally