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.logging
Boolean flag to set logging on or off. [default=false]qore.logFile
String specifying QLS log file path. If logging is turned on, all the operations will be logged to this file. If not defined,~/.qls.log
is used on Unix-like systems and%AppData%\QLS\qls.log
on Windows.qore.logVerbosity
Verbosity of QLS logging. From 0 to 2. [default=0]qore.appendToLog
Boolean flag specifying whether to append to QLS log file or to overwrite it on each restart. [default=true]
QLS implements the following LSP methods:
initialize
initialized
shutdown
exit
workspace/didChangeConfiguration
workspace/didChangeWatchedFiles
workspace/symbol
textDocument/didOpen
textDocument/didChange
textDocument/willSave
textDocument/didSave
textDocument/didClose
textDocument/hover
textDocument/references
textDocument/documentSymbol
textDocument/definition