Language support
Это содержимое пока не доступно на вашем языке.
Sirius uses the Language Server Protocol to power autocomplete, hover, go-to-definition, diagnostics and refactor hints.
Bundled servers
Sirius ships a curated catalog of ~45 languages — the full core plus must-have ecosystem languages — and installs the matching language server on demand the first time you open a file:
| Language | Server | Notes |
|---|---|---|
| Python | pyright + Sirius extras | Uses your project’s pyproject.toml |
| TypeScript / JavaScript | typescript-language-server | Honors tsconfig.json |
| Rust | rust-analyzer | Cargo workspace aware |
| Go | gopls | Go modules |
| C / C++ | clangd | Generates compile_commands.json |
| HTML / CSS | vscode-langservers-extracted | |
| Kotlin | kotlin-language-server | brew install kotlin-language-server |
| Scala | metals | cs install metals (coursier) |
| Dart | dart language-server | Ships with the Dart SDK |
| Zig | zls | scoop install zls / brew install zls |
| Nim | nimlangserver | nimble install nimlangserver |
A handful of languages have no installable standalone server and rely on a
toolchain you already have: R (Rscript -e "install.packages('languageserver')"),
Makefile (no LSP — highlighting + tasks only), MATLAB (server ships
with MATLAB), and GDScript (LSP is built into the running Godot editor).
The source of truth for every supported language, its extensions and its
install plan is gui/languages/catalog.yaml in the repo.
Add a custom server
Preferences → Languages → Servers → Add:
{ "id": "elixir", "extensions": ["ex", "exs"], "command": ["elixir-ls"]}Restart the LSP host (Ctrl+Shift+P → LSP: Restart).
Performance notes
- Sirius lazy-loads servers per project, not per file.
- Each server runs in its own process, sandboxed to the project root.
- If a server hangs, the Indexing indicator turns red and you can
kill it from
Ctrl+Shift+P → LSP: Servers….