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.

LanguageSyntax HighlightingTreesitter TextobjectsAuto IndentDefault LSP
agda
astro
awkawk-language-server
bashbash-language-server
bassbass
beancount
bibtextexlab
bicepbicep-langserver
blueprintblueprint-compiler
cclangd
c-sharpOmniSharp
cabalhaskell-language-server-wrapper
cairocairo-language-server
capnp
cel
clojureclojure-lsp
cmakecmake-language-server
comment
common-lispcl-lsp
cpon
cppclangd
crystalcrystalline
cssvscode-css-language-server
cuecuelsp
dserve-d
dartdart
dbml
devicetree
dhalldhall-lsp-server
diff
docker-composedocker-compose-langserver
dockerfiledocker-langserver
dotdot-language-server
dtd
edoc
eex
ejs
elixirelixir-ls
elmelm-language-server
elvishelvish
env
erb
erlangerlang_ls
esdl
fish
forthforth-lsp
fortranfortls
fsharpfsautocomplete
gas
gdscript
gemini
git-attributes
git-commit
git-config
git-ignore
git-rebase
gleamgleam
glsl
gn
gogopls, golangci-lint-langserver
godot-resource
gomodgopls
gotmplgopls
goworkgopls
graphqlgraphql-lsp
hare
haskellhaskell-language-server-wrapper
haskell-persistent
hclterraform-ls
heexelixir-ls
hocon
hoon
hosts
htmlvscode-html-language-server
hurl
idrisidris2-lsp
iex
ini
janet
javajdtls
javascripttypescript-language-server
jinja
jsdoc
jsonvscode-json-language-server
json5
jsonnetjsonnet-language-server
jsxtypescript-language-server
juliajulia
just
kdl
kotlinkotlin-language-server
latextexlab
leanlean
ledger
llvm
llvm-mir
llvm-mir-yaml
log
lpf
lualua-language-server
make
markdocmarkdoc-ls
markdownmarksman
markdown.inline
matlab
mermaid
meson
mintmint
msbuild
nasm
nickelnls
nimnimlangserver
nixnil
nunu
nunjucks
ocamlocamllsp
ocaml-interfaceocamllsp
odinols
openclclangd
openscadopenscad-lsp
org
pascalpasls
passwd
pem
perlperlnavigator
phpintelephense
pkl
po
pod
ponylang
prismaprisma-language-server
prologswipl
protobufbufls, pb
prql
purescriptpurescript-language-server
pythonpylsp
qmlqmlls
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
soliditysolc
spicedb
sql
sshclientconfig
starlark
strace
sveltesvelteserver
swayforc
swiftsourcekit-lsp
t32
tablegen
tact
task
templtempl
tfvarsterraform-ls
todotxt
tomltaplo
tsq
tsxtypescript-language-server
twig
typescripttypescript-language-server
typsttypst-lsp
ungrammar
unison
uxntal
vv-analyzer
valavala-language-server
verilogsvlangserver
vhdlvhdl_ls
vhs
vuevue-language-server
wast
wat
webc
wgslwgsl_analyzer
wit
wren
xit
xml
yamlyaml-language-server, ansible-language-server
yuck
zigzls