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
adaada_language_server
adl
agda
amber
astro
awkawk-language-server
bashbash-language-server
bassbass
beancount
bibtextexlab
bicepbicep-langserver
bitbakebitbake-language-server
blade
blueprintblueprint-compiler
cclangd
c-sharpOmniSharp
cabalhaskell-language-server-wrapper
cairocairo-language-server
capnp
cel
circomcircom-lsp
clojureclojure-lsp
cmakecmake-language-server
comment
common-lispcl-lsp
cpon
cppclangd
crystalcrystalline
cssvscode-css-language-server
cuecuelsp
cylc
dserve-d
dartdart
dbml
devicetree
dhalldhall-lsp-server
diff
docker-composedocker-compose-langserver, yaml-language-server
dockerfiledocker-langserver
dotdot-language-server
dtd
dune
earthfileearthlyls
edoc
eex
ejs
elisp
elixirelixir-ls
elmelm-language-server
elvishelvish
env
erb
erlangerlang_ls, elp
esdl
fidl
fish
forthforth-lsp
fortranfortls
fsharpfsautocomplete
gas
gdscript
gemini
gherkin
git-attributes
git-commit
git-config
git-ignore
git-rebase
gjstypescript-language-server, vscode-eslint-language-server, ember-language-server
gleamgleam
glimmerember-language-server
glslglsl_analyzer
gn
gogopls, golangci-lint-langserver
godot-resource
gomodgopls
gotmplgopls
goworkgopls
gprada_language_server
graphqlgraphql-lsp
groovy
gtstypescript-language-server, vscode-eslint-language-server, ember-language-server
hare
haskellhaskell-language-server-wrapper
haskell-persistent
hclterraform-ls
heexelixir-ls
helmhelm_ls
hocon
hoon
hosts
htmlvscode-html-language-server, superhtml
hurl
hyprlanghyprls
idrisidris2-lsp
iex
ini
inko
janet
javajdtls
javascripttypescript-language-server
jinja
jjdescription
jqjq-lsp
jsdoc
jsonvscode-json-language-server
json5
jsoncvscode-json-language-server
jsonnetjsonnet-language-server
jsxtypescript-language-server
juliajulia
just
kdl
kokakoka
kotlinkotlin-language-server
latextexlab
ld
ldif
leanlean
ledger
llvm
llvm-mir
llvm-mir-yaml
log
lpf
lualua-language-server
make
markdocmarkdoc-ls
markdownmarksman, markdown-oxide
markdown.inline
matlab
mermaid
mesonmesonlsp
mintmint
mojomojo-lsp-server
move
msbuild
nasm
nestedtext
nickelnls
nimnimlangserver
nixnil, nixd
nunu
nunjucks
ocamlocamllsp
ocaml-interfaceocamllsp
odinols
ohm
openclclangd
openscadopenscad-lsp
org
pascalpasls
passwd
pem
perlperlnavigator
pestpest-language-server
phpintelephense
php-only
pkgbuildpkgbuild-language-server, bash-language-server
pkl
po
pod
ponylang
powershell
prismaprisma-language-server
prologswipl
protobufbufls, pb
prql
purescriptpurescript-language-server
pythonruff, jedi-language-server, pylsp
qmlqmlls
quintquint-language-server
rR
racketracket
regex
regoregols
rescriptrescript-language-server
rmarkdownR
robotrobotframework_ls
ron
rst
rubysolargraph
rustrust-analyzer
sage
scalametals
scheme
scssvscode-css-language-server
slintslint-lsp
smali
smithycs
sml
snakemakepylsp
soliditysolc
spadespade-language-server
spicedb
sql
sshclientconfig
starlark
strace
supercollider
sveltesvelteserver
swayforc
swiftsourcekit-lsp
t32
tablegen
tact
task
tcl
teal
templtempl
textproto
tfvarsterraform-ls
thrift
todotxt
tomltaplo
tsq
tsxtypescript-language-server
twig
typescripttypescript-language-server
typespectsp-server
typsttinymist, typst-lsp
ungrammar
unison
uxntal
vv-analyzer
valavala-language-server
vento
verilogsvlangserver
vhdlvhdl_ls
vhs
vuevue-language-server
wast
wat
webc
wgslwgsl_analyzer
wit
wren
xit
xml
xtc
yamlyaml-language-server, ansible-language-server
yuck
zigzls