Language Server Protocol (LSP)
The Language Server Protocol is a JSON-RPC-based
protocol designed to allow client-side development environments to communicate with language servers, to provide programming language-specific
features within the client.
Language Specific Configuration
The client-side LSP configurations are done by changing the language server details found in the Zeus document type. This makes it easy
for different programming languages (i.e. C++, Go, Python, TypeScript etc.) to be easily configured to use different language servers.
Find below examples on how to configure language servers for several common programming languages:
Language Server Protocol Features
Currently the following LSP features are supported:
Language Server Configuration Dialog
The Zeus IDE provides support for LSP through the Language Server panel found in the document type configuration dialog shown below:
The options found on this configuration panel are as follows:
This option defines if the language server being run is an executable or a batch file.
This option defines language server executable. If the executable is not fully qualified then it's location must be in the
PATH environment variable.
This option defines the directory in which the executable will be started. This is configuration is optional.
These options allow you to pass command line argument details to the language server.
This option defines the Language Server root path. If no value is provided this option defaults to the
directory of the current workspace and when no workspace is open, the directory of the current document.
The recommended approach is to use a Zeus workspace.
This option is used to pass initialisation details to the language server. This optional value must be a valid JSON object string
and the details of that object will be specific to the language server.
This option changes the level of trace output produced which can be useful for debugging.
This option changes the timeout period. This is the time period Zeus will wait for a response from the Language Server.
Use Language Server for trigger events
Zeus already provides the option to add scripts for various autocomplete triggers. When this option is enable
the language server will also be called in response to these triggers.
Use details field for autocomplete display
This option uses the details field as apposed to the label field for the auto-completion display.
Disable the Language Server
This option can be used to disable the language server entirely.