Language Support
The following languages and Language Servers are supported. To use Language Server features, you must first install the appropriate Language Server.
You can check the language support in your installed helix version with hx --health
.
Also see the Language Configuration docs and the Adding Languages guide for more language configuration information.
Language | Syntax Highlighting | Treesitter Textobjects | Auto Indent | Rainbow Brackets | Default LSP |
---|---|---|---|---|---|
ada | ✓ | ✓ | ada_language_server , ada_language_server | ||
agda | ✓ | ||||
astro | ✓ | ||||
awk | ✓ | ✓ | awk-language-server | ||
bash | ✓ | ✓ | ✓ | ✓ | bash-language-server |
bass | ✓ | bass | |||
beancount | ✓ | ||||
bibtex | ✓ | texlab | |||
bicep | ✓ | bicep-langserver | |||
blade | ✓ | ||||
blueprint | ✓ | blueprint-compiler | |||
c | ✓ | ✓ | ✓ | ✓ | clangd |
c-sharp | ✓ | ✓ | OmniSharp | ||
cabal | haskell-language-server-wrapper | ||||
cairo | ✓ | ✓ | ✓ | cairo-language-server | |
capnp | ✓ | ✓ | |||
cel | ✓ | ||||
clojure | ✓ | ✓ | clojure-lsp | ||
cmake | ✓ | ✓ | ✓ | cmake-language-server | |
comment | ✓ | ||||
common-lisp | ✓ | ✓ | ✓ | cl-lsp | |
cpon | ✓ | ✓ | |||
cpp | ✓ | ✓ | ✓ | ✓ | clangd |
crystal | ✓ | ✓ | crystalline | ||
css | ✓ | ✓ | ✓ | vscode-css-language-server | |
cue | ✓ | cuelsp | |||
d | ✓ | ✓ | ✓ | serve-d | |
dart | ✓ | ✓ | ✓ | dart | |
dbml | ✓ | ||||
devicetree | ✓ | ||||
dhall | ✓ | ✓ | dhall-lsp-server | ||
diff | ✓ | ||||
docker-compose | ✓ | ✓ | docker-compose-langserver , yaml-language-server | ||
dockerfile | ✓ | docker-langserver | |||
dot | ✓ | dot-language-server | |||
dtd | ✓ | ||||
edoc | ✓ | ||||
eex | ✓ | ||||
ejs | ✓ | ||||
elixir | ✓ | ✓ | ✓ | ✓ | elixir-ls |
elm | ✓ | ✓ | elm-language-server | ||
elvish | ✓ | elvish | |||
env | ✓ | ||||
erb | ✓ | ||||
erlang | ✓ | ✓ | ✓ | erlang_ls | |
esdl | ✓ | ||||
fidl | ✓ | ||||
fish | ✓ | ✓ | ✓ | ||
forth | ✓ | forth-lsp | |||
fortran | ✓ | ✓ | fortls | ||
fsharp | ✓ | fsautocomplete | |||
gas | ✓ | ✓ | |||
gdscript | ✓ | ✓ | ✓ | ||
gemini | ✓ | ||||
git-attributes | ✓ | ||||
git-commit | ✓ | ✓ | |||
git-config | ✓ | ||||
git-ignore | ✓ | ||||
git-rebase | ✓ | ||||
gleam | ✓ | ✓ | ✓ | gleam | |
glimmer | ✓ | ember-language-server | |||
glsl | ✓ | ✓ | ✓ | ||
gn | ✓ | ||||
go | ✓ | ✓ | ✓ | ✓ | gopls , golangci-lint-langserver |
godot-resource | ✓ | ||||
gomod | ✓ | gopls | |||
gotmpl | ✓ | gopls | |||
gowork | ✓ | gopls | |||
graphql | ✓ | graphql-lsp | |||
groovy | ✓ | ||||
hare | ✓ | ||||
haskell | ✓ | ✓ | haskell-language-server-wrapper | ||
haskell-persistent | ✓ | ||||
hcl | ✓ | ✓ | ✓ | terraform-ls | |
heex | ✓ | ✓ | elixir-ls | ||
helm | ✓ | helm_ls | |||
hocon | ✓ | ✓ | |||
hoon | ✓ | ||||
hosts | ✓ | ||||
html | ✓ | ✓ | vscode-html-language-server | ||
hurl | ✓ | ✓ | |||
hyprlang | ✓ | ✓ | |||
idris | idris2-lsp | ||||
iex | ✓ | ||||
ini | ✓ | ||||
janet | ✓ | ||||
java | ✓ | ✓ | ✓ | ✓ | jdtls |
javascript | ✓ | ✓ | ✓ | ✓ | typescript-language-server |
jinja | ✓ | ||||
jsdoc | ✓ | ||||
json | ✓ | ✓ | ✓ | vscode-json-language-server | |
json5 | ✓ | ||||
jsonc | ✓ | ✓ | vscode-json-language-server | ||
jsonnet | ✓ | jsonnet-language-server | |||
jsx | ✓ | ✓ | ✓ | ✓ | typescript-language-server |
julia | ✓ | ✓ | ✓ | julia | |
just | ✓ | ✓ | ✓ | ||
kdl | ✓ | ✓ | ✓ | ||
koka | ✓ | ✓ | koka | ||
kotlin | ✓ | kotlin-language-server | |||
latex | ✓ | ✓ | texlab | ||
ld | ✓ | ✓ | |||
lean | ✓ | lean | |||
ledger | ✓ | ||||
llvm | ✓ | ✓ | ✓ | ||
llvm-mir | ✓ | ✓ | ✓ | ||
llvm-mir-yaml | ✓ | ✓ | |||
log | ✓ | ||||
lpf | ✓ | ||||
lua | ✓ | ✓ | ✓ | lua-language-server | |
make | ✓ | ✓ | |||
markdoc | ✓ | markdoc-ls | |||
markdown | ✓ | marksman , markdown-oxide | |||
markdown.inline | ✓ | ||||
matlab | ✓ | ✓ | ✓ | ||
mermaid | ✓ | ||||
meson | ✓ | ✓ | |||
mint | mint | ||||
msbuild | ✓ | ✓ | |||
nasm | ✓ | ✓ | |||
nickel | ✓ | ✓ | nls | ||
nim | ✓ | ✓ | ✓ | nimlangserver | |
nix | ✓ | ✓ | ✓ | nil | |
nu | ✓ | nu | |||
nunjucks | ✓ | ||||
ocaml | ✓ | ✓ | ocamllsp | ||
ocaml-interface | ✓ | ocamllsp | |||
odin | ✓ | ✓ | ols | ||
ohm | ✓ | ✓ | ✓ | ||
opencl | ✓ | ✓ | ✓ | clangd | |
openscad | ✓ | openscad-lsp | |||
org | ✓ | ||||
pascal | ✓ | ✓ | pasls | ||
passwd | ✓ | ||||
pem | ✓ | ||||
perl | ✓ | ✓ | ✓ | perlnavigator | |
php | ✓ | ✓ | ✓ | intelephense | |
php-only | ✓ | ||||
pkgbuild | ✓ | ✓ | ✓ | pkgbuild-language-server , bash-language-server | |
pkl | ✓ | ✓ | |||
po | ✓ | ✓ | |||
pod | ✓ | ||||
ponylang | ✓ | ✓ | ✓ | ||
powershell | ✓ | ||||
prisma | ✓ | prisma-language-server | |||
prolog | swipl | ||||
protobuf | ✓ | ✓ | ✓ | bufls , pb | |
prql | ✓ | ||||
purescript | ✓ | ✓ | purescript-language-server | ||
python | ✓ | ✓ | ✓ | ✓ | pylsp |
qml | ✓ | ✓ | qmlls | ||
r | ✓ | R | |||
racket | ✓ | ✓ | ✓ | racket | |
regex | ✓ | ✓ | |||
rego | ✓ | regols | |||
rescript | ✓ | ✓ | rescript-language-server | ||
rmarkdown | ✓ | ✓ | R | ||
robot | ✓ | robotframework_ls | |||
ron | ✓ | ✓ | |||
rst | ✓ | ||||
ruby | ✓ | ✓ | ✓ | ✓ | solargraph |
rust | ✓ | ✓ | ✓ | ✓ | rust-analyzer |
sage | ✓ | ✓ | |||
scala | ✓ | ✓ | ✓ | metals | |
scheme | ✓ | ✓ | ✓ | ||
scss | ✓ | ✓ | vscode-css-language-server | ||
slint | ✓ | ✓ | ✓ | slint-lsp | |
smali | ✓ | ✓ | |||
smithy | ✓ | cs | |||
sml | ✓ | ||||
solidity | ✓ | solc | |||
spicedb | ✓ | ||||
sql | ✓ | ||||
sshclientconfig | ✓ | ||||
starlark | ✓ | ✓ | ✓ | ||
strace | ✓ | ||||
supercollider | ✓ | ||||
svelte | ✓ | ✓ | svelteserver | ||
sway | ✓ | ✓ | ✓ | forc | |
swift | ✓ | sourcekit-lsp | |||
t32 | ✓ | ||||
tablegen | ✓ | ✓ | ✓ | ||
tact | ✓ | ✓ | ✓ | ||
task | ✓ | ||||
templ | ✓ | templ | |||
tfvars | ✓ | ✓ | terraform-ls | ||
todotxt | ✓ | ||||
toml | ✓ | ✓ | taplo | ||
tsq | ✓ | ✓ | |||
tsx | ✓ | ✓ | ✓ | ✓ | typescript-language-server |
twig | ✓ | ||||
typescript | ✓ | ✓ | ✓ | ✓ | typescript-language-server |
typst | ✓ | typst-lsp | |||
ungrammar | ✓ | ||||
unison | ✓ | ✓ | |||
uxntal | ✓ | ||||
v | ✓ | ✓ | ✓ | v-analyzer | |
vala | ✓ | ✓ | vala-language-server | ||
verilog | ✓ | ✓ | svlangserver | ||
vhdl | ✓ | vhdl_ls | |||
vhs | ✓ | ||||
vue | ✓ | vue-language-server | |||
wast | ✓ | ||||
wat | ✓ | ||||
webc | ✓ | ||||
wgsl | ✓ | wgsl_analyzer | |||
wit | ✓ | ✓ | |||
wren | ✓ | ✓ | ✓ | ||
xit | ✓ | ||||
xml | ✓ | ✓ | ✓ | ||
yaml | ✓ | ✓ | ✓ | yaml-language-server , ansible-language-server | |
yuck | ✓ | ||||
zig | ✓ | ✓ | ✓ | ✓ | zls |