QLS is a language server for the Qore programming language.
QLS adheres to the Language Server Protocol, specifically to version 3.0 of the protocol. All communication is done via stdin/stdout.
QLS requires Qore 0.9.14+ and the astparser and json modules to be installed for all the functionality to work.
QLS supports the following LSP features:
- Hover info
- Goto definition
- Find references
- Document symbol search
- Workspace symbol search
- Syntax error reporting
If you want to log output of QLS, you can use the following configuration settings:
qore.loggingBoolean flag to set logging on or off. [default=false]qore.logFileString specifying QLS log file path. If logging is turned on, all the operations will be logged to this file. If not defined,~/.qls.logis used on Unix-like systems and%AppData%\QLS\qls.logon Windows.qore.logVerbosityVerbosity of QLS logging. From 0 to 2. [default=0]qore.appendToLogBoolean flag specifying whether to append to QLS log file or to overwrite it on each restart. [default=true]
QLS implements the following LSP methods:
initializeinitializedshutdownexit
workspace/didChangeConfigurationworkspace/didChangeWatchedFilesworkspace/symbol
textDocument/didOpentextDocument/didChangetextDocument/willSavetextDocument/didSavetextDocument/didClosetextDocument/hovertextDocument/referencestextDocument/documentSymboltextDocument/definition