Language Support
The following languages and Language Servers are supported. In order to use Language Server features, you must first install the appropriate Language Server.
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 | Default LSP |
|---|---|---|---|---|
| astro | ✓ | |||
| awk | ✓ | ✓ | awk-language-server | |
| bash | ✓ | bash-language-server | ||
| bass | ✓ | bass | ||
| beancount | ✓ | |||
| bicep | ✓ | bicep-langserver | ||
| c | ✓ | ✓ | ✓ | clangd |
| c-sharp | ✓ | ✓ | OmniSharp | |
| cairo | ✓ | |||
| clojure | ✓ | clojure-lsp | ||
| cmake | ✓ | ✓ | ✓ | cmake-language-server |
| comment | ✓ | |||
| common-lisp | ✓ | cl-lsp | ||
| cpon | ✓ | ✓ | ||
| cpp | ✓ | ✓ | ✓ | clangd |
| css | ✓ | vscode-css-language-server | ||
| cue | ✓ | cuelsp | ||
| d | ✓ | ✓ | ✓ | serve-d |
| dart | ✓ | ✓ | dart | |
| devicetree | ✓ | |||
| diff | ✓ | |||
| dockerfile | ✓ | docker-langserver | ||
| dot | ✓ | dot-language-server | ||
| edoc | ✓ | |||
| eex | ✓ | |||
| ejs | ✓ | |||
| elixir | ✓ | ✓ | ✓ | elixir-ls |
| elm | ✓ | elm-language-server | ||
| elvish | ✓ | elvish | ||
| env | ✓ | |||
| erb | ✓ | |||
| erlang | ✓ | ✓ | erlang_ls | |
| esdl | ✓ | |||
| fish | ✓ | ✓ | ✓ | |
| fortran | ✓ | ✓ | fortls | |
| gdscript | ✓ | ✓ | ||
| git-attributes | ✓ | |||
| git-commit | ✓ | |||
| git-config | ✓ | |||
| git-ignore | ✓ | |||
| git-rebase | ✓ | |||
| gleam | ✓ | ✓ | gleam | |
| glsl | ✓ | ✓ | ✓ | |
| go | ✓ | ✓ | ✓ | gopls |
| godot-resource | ✓ | |||
| gomod | ✓ | gopls | ||
| gotmpl | ✓ | gopls | ||
| gowork | ✓ | gopls | ||
| graphql | ✓ | |||
| hare | ✓ | |||
| haskell | ✓ | haskell-language-server-wrapper | ||
| hcl | ✓ | ✓ | terraform-ls | |
| heex | ✓ | ✓ | elixir-ls | |
| html | ✓ | vscode-html-language-server | ||
| idris | idris2-lsp | |||
| iex | ✓ | |||
| ini | ✓ | |||
| java | ✓ | ✓ | jdtls | |
| javascript | ✓ | ✓ | ✓ | typescript-language-server |
| jsdoc | ✓ | |||
| json | ✓ | ✓ | vscode-json-language-server | |
| jsonnet | ✓ | jsonnet-language-server | ||
| jsx | ✓ | ✓ | ✓ | typescript-language-server |
| julia | ✓ | julia | ||
| kdl | ✓ | |||
| kotlin | ✓ | kotlin-language-server | ||
| latex | ✓ | ✓ | texlab | |
| lean | ✓ | lean | ||
| ledger | ✓ | |||
| llvm | ✓ | ✓ | ✓ | |
| llvm-mir | ✓ | ✓ | ✓ | |
| llvm-mir-yaml | ✓ | ✓ | ||
| lua | ✓ | ✓ | ✓ | lua-language-server |
| make | ✓ | |||
| markdown | ✓ | marksman | ||
| markdown.inline | ✓ | |||
| meson | ✓ | ✓ | ||
| mint | mint | |||
| nickel | ✓ | ✓ | nls | |
| nix | ✓ | nil | ||
| nu | ✓ | |||
| ocaml | ✓ | ✓ | ocamllsp | |
| ocaml-interface | ✓ | ocamllsp | ||
| odin | ✓ | ols | ||
| openscad | ✓ | openscad-lsp | ||
| org | ✓ | |||
| pascal | ✓ | ✓ | pasls | |
| perl | ✓ | ✓ | ✓ | |
| php | ✓ | ✓ | ✓ | intelephense |
| prisma | ✓ | prisma-language-server | ||
| prolog | swipl | |||
| protobuf | ✓ | ✓ | ||
| purescript | ✓ | purescript-language-server | ||
| python | ✓ | ✓ | ✓ | pylsp |
| qml | ✓ | ✓ | qmlls | |
| r | ✓ | R | ||
| racket | ✓ | racket | ||
| regex | ✓ | |||
| rescript | ✓ | ✓ | rescript-language-server | |
| rmarkdown | ✓ | ✓ | R | |
| ron | ✓ | ✓ | ||
| ruby | ✓ | ✓ | ✓ | solargraph |
| rust | ✓ | ✓ | ✓ | rust-analyzer |
| scala | ✓ | ✓ | metals | |
| scheme | ✓ | |||
| scss | ✓ | vscode-css-language-server | ||
| slint | ✓ | ✓ | slint-lsp | |
| sml | ✓ | |||
| solidity | ✓ | solc | ||
| sql | ✓ | |||
| sshclientconfig | ✓ | |||
| starlark | ✓ | ✓ | ||
| svelte | ✓ | svelteserver | ||
| swift | ✓ | sourcekit-lsp | ||
| tablegen | ✓ | ✓ | ✓ | |
| task | ✓ | |||
| tfvars | terraform-ls | |||
| toml | ✓ | taplo | ||
| tsq | ✓ | |||
| tsx | ✓ | ✓ | ✓ | typescript-language-server |
| twig | ✓ | |||
| typescript | ✓ | ✓ | ✓ | typescript-language-server |
| ungrammar | ✓ | |||
| v | ✓ | vls | ||
| vala | ✓ | vala-language-server | ||
| verilog | ✓ | ✓ | svlangserver | |
| vhs | ✓ | |||
| vue | ✓ | vls | ||
| wast | ✓ | |||
| wat | ✓ | |||
| wgsl | ✓ | wgsl_analyzer | ||
| wit | ✓ | ✓ | ||
| xit | ✓ | |||
| xml | ✓ | ✓ | ||
| yaml | ✓ | ✓ | yaml-language-server | |
| zig | ✓ | ✓ | ✓ | zls |