| Language | Syntax Highlighting | Treesitter Textobjects | Auto Indent | Default 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` | | cabal | | | | `haskell-language-server-wrapper` | | 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` | | css | ✓ | | ✓ | `vscode-css-language-server` | | csv | ✓ | | | | | cue | ✓ | | | `cuelsp` | | cylc | ✓ | ✓ | ✓ | | | d | ✓ | ✓ | ✓ | `serve-d` | | dart | ✓ | ✓ | ✓ | `dart` | | dbml | ✓ | | | | | debian | ✓ | | | | | devicetree | ✓ | | | | | 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-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` | | hurl | ✓ | ✓ | ✓ | | | hyprlang | ✓ | | ✓ | `hyprls` | | idris | | | | `idris2-lsp` | | iex | ✓ | | | | | ini | ✓ | | | | | ink | ✓ | | | | | inko | ✓ | ✓ | ✓ | | | janet | ✓ | | | | | java | ✓ | ✓ | ✓ | `jdtls` | | javascript | ✓ | ✓ | ✓ | `typescript-language-server` | | jinja | ✓ | | | | | jjdescription | ✓ | | | | | jq | ✓ | ✓ | | `jq-lsp` | | jsdoc | ✓ | | | | | json | ✓ | ✓ | ✓ | `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 | ✓ | | | | | lilypond | ✓ | ✓ | ✓ | | | 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` | | mint | | | | `mint` | | 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` | | 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 | ✓ | | | | | 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` | | 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` |