Warning
THIS SOFTWARE IS A WORK IN PROGRESS!
An experimental Python language server.
- textDocument/completion
- textDocument/publishDiagnostics
- textDocument/definition
- textDocument/references
- textDocument/formatting
- textDocument/didChange
- textDocument/documentHighlight
- textDocument/didOpen
- textDocument/didClose
- workspace/didChangeWorkspaceFolders
Download the repository with
$ git clone https://github.com/LaBatata101/sith-language-server
now build it (you'll need the latest version of the Rust compiler)
$ cd sith-language-server
$ cargo build --release
the binary will be located at target/release
. You should put the binary in $PATH
or
set the binary location in the SithLSP configuration option.
It's probably better to disable the Python
or Pylance
extensions, from Microsoft, to avoid any conflicts.
You can install the VSCode extension manually with
# First we need to build the extension package
$ npm install -g @vscode/vsce
$ cd sith-language-server/editors/vscode
$ vsce package
# Now manually install the extension
$ code --install-extension sith-language-server-0.1.0.vsix
TODO
Path to the language server executable.
- type:
string
- default:
sith-lsp
Traces the communication between VS Code and the language server.
- type:
string
- default:
off
- options:
off
,messages
,verbose
Controls the log level of the language server.
- type:
string
- default:
null
- options:
error
,warning
,info
,debug
,trace
Path to the log file for the language server.
- type:
string
- default:
null
Path to a Python interpreter to use to run the LSP server.
- type:
string
- default:
null
Path to the ruff
executable, e.g., [\"/path/to/ruff\"]
.
- type:
string
- default:
null
Whether to enable Ruff formatting.
- type:
boolean
- default:
true
Additional command-line arguments to pass to ruff format
, e.g., \"args\": [\"--config=/path/to/pyproject.toml\"]
. Supports a subset of Ruff's command-line arguments, ignoring those that are required to operate the LSP, like --force-exclude
and --verbose
.
- type:
string[]
- default:
[]
Whether to enable Ruff linting.
- type:
boolean
- default:
true
Additional command-line arguments to pass to ruff check
, e.g., \"args\": [\"--config=/path/to/pyproject.toml\"]
. Supports a subset of Ruff's command-line arguments, ignoring those that are required to operate the LSP, like --force-exclude
and --verbose
.
- type:
string[]
- default:
[]
Set rule codes to enable. Use ALL
to enable all rules. See the documentation for more details.
- type:
string[]
- default:
null
Enable additional rule codes on top of existing configuration, instead of overriding it. Use ALL
to enable all rules.
- type:
string[]
- default:
null
Set rule codes to disable. See the documentation for more details.
- type:
string[]
- default:
null
- Ruff -
stoleborrowed lots of code from them.