Language Support

The following languages and Language Servers are supported. To use Language Server features, you must first configure 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.

LanguageSyntax HighlightingTreesitter TextobjectsAuto IndentDefault language servers
ada✓✓ada_language_server
adl✓✓✓
agda✓
alloy✓
amber✓amber-lsp
astro✓astro-ls
awk✓✓awk-language-server
bash✓✓✓bash-language-server
bass✓bass
beancount✓beancount-language-server
bibtex✓texlab
bicep✓bicep-langserver
bitbake✓bitbake-language-server
blade✓
blueprint✓blueprint-compiler
c✓✓✓clangd
c-sharp✓✓OmniSharp
cabalhaskell-language-server-wrapper
caddyfile✓✓✓
cairo✓✓✓cairo-language-server
capnp✓✓
cel✓
circom✓circom-lsp
clarity✓clarinet
clojure✓clojure-lsp
cmake✓✓✓neocmakelsp, cmake-language-server
codeql✓✓codeql
comment✓
common-lisp✓✓cl-lsp
cpon✓✓
cpp✓✓✓clangd
crystal✓✓✓crystalline, ameba-ls
css✓✓vscode-css-language-server
csv✓
cue✓cuelsp
cylc✓✓✓
d✓✓✓serve-d
dart✓✓✓dart
dbml✓
debian✓
devicetree✓dts-lsp
dhall✓✓dhall-lsp-server
diff✓
djot✓
docker-compose✓✓✓docker-compose-langserver, yaml-language-server
dockerfile✓✓docker-langserver
dot✓dot-language-server
dtd✓
dune✓
dunstrc✓
earthfile✓✓✓earthlyls
edoc✓
eex✓
ejs✓
elisp✓
elixir✓✓✓elixir-ls
elm✓✓elm-language-server
elvish✓elvish
env✓✓
erb✓
erlang✓✓erlang_ls, elp
esdl✓
fennel✓fennel-ls
fga✓✓✓
fidl✓
fish✓✓✓fish-lsp
forth✓forth-lsp
fortran✓✓fortls
fsharp✓fsautocomplete
gas✓✓asm-lsp
gdscript✓✓✓
gemini✓
gherkin✓
ghostty✓
git-attributes✓
git-commit✓✓
git-config✓✓
git-ignore✓
git-notes✓
git-rebase✓
gjs✓✓✓typescript-language-server, vscode-eslint-language-server, ember-language-server
gleam✓✓gleam
glimmer✓ember-language-server
glsl✓✓✓glsl_analyzer
gn✓
go✓✓✓gopls, golangci-lint-langserver
godot-resource✓✓
gomod✓gopls
gotmpl✓gopls
gowork✓gopls
gpr✓ada_language_server
graphql✓✓graphql-lsp
gren✓✓
groovy✓
gts✓✓✓typescript-language-server, vscode-eslint-language-server, ember-language-server
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, superhtml
htmldjango✓djlsp, vscode-html-language-server, superhtml
hurl✓✓✓
hyprlang✓✓hyprls
idrisidris2-lsp
iex✓
ini✓
ink✓
inko✓✓✓
janet✓
java✓✓✓jdtls
javascript✓✓✓typescript-language-server
jinja✓
jjdescription✓
jq✓✓jq-lsp
jsdoc✓
json✓✓✓vscode-json-language-server
json-ld✓✓✓vscode-json-language-server
json5✓
jsonc✓✓vscode-json-language-server
jsonnet✓jsonnet-language-server
jsx✓✓✓typescript-language-server
julia✓✓✓julia
just✓✓✓just-lsp
kdl✓✓✓
koka✓✓koka
kotlin✓✓✓kotlin-language-server
koto✓✓✓koto-ls
latex✓✓texlab
ld✓✓
ldif✓
lean✓lean
ledger✓
llvm✓✓✓
llvm-mir✓✓✓
llvm-mir-yaml✓✓
log✓
lpf✓
lua✓✓✓lua-language-server
luau✓✓✓luau-lsp
mail✓✓
make✓✓
markdoc✓markdoc-ls
markdown✓marksman, markdown-oxide
markdown-rustdoc✓
markdown.inline✓
matlab✓✓✓
mermaid✓
meson✓✓mesonlsp
mintmint
mojo✓✓✓pixi
move✓
msbuild✓✓
nasm✓✓asm-lsp
nestedtext✓✓✓
nginx✓
nickel✓✓nls
nim✓✓✓nimlangserver
nix✓✓✓nil, nixd
nu✓nu
nunjucks✓
ocaml✓✓ocamllsp
ocaml-interface✓ocamllsp
odin✓✓✓ols
ohm✓✓✓
opencl✓✓✓clangd
openscad✓openscad-lsp
org✓
pascal✓✓pasls
passwd✓
pem✓
perl✓✓✓perlnavigator
pest✓✓✓pest-language-server
php✓✓✓intelephense
php-only✓
pkgbuild✓✓✓termux-language-server, bash-language-server
pkl✓✓pkl-lsp
po✓✓
pod✓
ponylang✓✓✓
powershell✓
prisma✓✓prisma-language-server
prolog✓✓swipl
properties✓✓
protobuf✓✓✓buf, pb, protols
prql✓
pug✓
purescript✓✓purescript-language-server
python✓✓✓ty, ruff, jedi-language-server, pylsp
qml✓✓✓qmlls
quarto✓✓
quint✓quint-language-server
r✓R
racket✓✓racket
regex✓
rego✓regols
rescript✓✓rescript-language-server
rmarkdown✓✓R
robot✓robotframework_ls
ron✓✓
rst✓
ruby✓✓✓ruby-lsp, solargraph
rust✓✓✓rust-analyzer
rust-format-args✓
rust-format-args-macro✓✓✓
sage✓✓
scala✓✓✓metals
scheme✓✓
scss✓vscode-css-language-server
slang✓✓✓slangd
slint✓✓✓slint-lsp
smali✓✓
smithy✓cs
sml✓
snakemake✓✓pylsp
solidity✓✓solc
sourcepawn✓✓sourcepawn-studio
spade✓✓spade-language-server
spicedb✓
sql✓✓
sshclientconfig✓
starlark✓✓✓starpls
strace✓
supercollider✓
svelte✓✓svelteserver
sway✓✓✓forc
swift✓✓sourcekit-lsp
systemd✓systemd-lsp
t32✓
tablegen✓✓✓
tact✓✓✓
task✓
tcl✓✓
teal✓teal-language-server
templ✓templ
tera✓
textproto✓✓✓
tfvars✓✓terraform-ls
thrift✓
tlaplus✓
todotxt✓
toml✓✓taplo, tombi
tsq✓ts_query_ls
tsx✓✓✓typescript-language-server
twig✓
typescript✓✓✓typescript-language-server
typespec✓✓✓tsp-server
typst✓tinymist
ungrammar✓
unison✓✓✓
uxntal✓
v✓✓✓v-analyzer
vala✓✓vala-language-server
vento✓
verilog✓✓svlangserver
vhdl✓vhdl_ls
vhs✓
vue✓vue-language-server
wast✓
wat✓wat_server
webc✓
werk✓
wesl✓✓
wgsl✓wgsl-analyzer
wit✓✓
wren✓✓✓
xit✓
xml✓✓
xtc✓
yaml✓✓✓yaml-language-server, ansible-language-server
yara✓yls
yuck✓
zig✓✓✓zls