Перейти к содержимому

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:

LanguageServerNotes
Pythonpyright + Sirius extrasUses your project’s pyproject.toml
TypeScript / JavaScripttypescript-language-serverHonors tsconfig.json
Rustrust-analyzerCargo workspace aware
GogoplsGo modules
C / C++clangdGenerates compile_commands.json
HTML / CSSvscode-langservers-extracted
Kotlinkotlin-language-serverbrew install kotlin-language-server
Scalametalscs install metals (coursier)
Dartdart language-serverShips with the Dart SDK
Zigzlsscoop install zls / brew install zls
Nimnimlangservernimble 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….