Delta highlights syntax in file tabs, diffs, and code blocks in threads. Some languages are built in. For many others, Delta downloads a language extension from Zed when you open a matching file or diff. You don’t install anything.
Built-in languages
These languages ship with Delta, so they highlight right away with no download. They’re also the only languages that always highlight in code blocks in threads:
Bash, C, C++, CSS, Diff, Git commit messages, Go (including go.mod and
go.work), JavaScript, JSON and JSONC, Markdown, Python, Rust, TypeScript and
TSX, and YAML.
Downloaded languages
When you open a file or diff whose name or extension appears below, Delta downloads the matching Zed extension and highlights the file once the download finishes.
| Language | Files |
|---|---|
| AsciiDoc | .adoc, .asciidoc |
| Astro | .astro |
| Beancount | .bean, .beancount |
| C# | .cs, .csproj, .proj, .props, .slnx, .targets |
| Clojure | .bb, .clj, .cljc, .cljd, .cljs, .edn |
| CMake | CMakeLists.txt, .cmake |
| CSV | .csv |
| Cython | .pyx, .pxd, .pxi |
| Dart | .dart |
| Dockerfile and Compose | Dockerfile, Containerfile, compose.yaml, docker-compose.yaml (and .yml) |
| dotenv | .env, .envrc |
| Elixir | .ex, .exs, .eex, .heex, .leex, .neex, mix.lock |
| Elm | .elm |
| Emacs Lisp | .el |
| Erlang | .erl, .hrl, .escript, .xrl, .yrl, .app.src, rebar.config, Emakefile |
| Fish | .fish |
| GDScript and Godot | .gd, .gdshader, .gdshaderinc, .gdextension, .godot, .tres, .tscn |
| Git config and ignore files | .gitignore, .gitattributes, .gitconfig, .gitmodules, .dockerignore, other .*ignore files |
| Gleam | .gleam |
| GLSL | .glsl, .vert, .frag, .comp, .geom, .tesc, .tese, and ray tracing and mesh shaders |
| GraphQL | .graphql, .graphqls, .gql |
| Groovy | .groovy, .gradle, Jenkinsfile |
| Haskell | .hs, .lhs, .cabal |
| HTML | .html, .htm, .shtml |
| INI | .ini, .inf |
| Java | .java, .properties |
| JSON5 | .json5 |
| Julia | .jl |
| Just | justfile, .just |
| Kotlin | .kt, .kts |
| LaTeX and BibTeX | .tex, .latex, .sty, .cls, .dtx, .ins, .bib, .bibtex, .biblatex |
| Log files | .log |
| Lua | .lua |
| Make | Makefile, GNUmakefile, .mk, .mak |
| Nginx | nginx.conf |
| Nim | .nim, .nims, .nimble |
| Nix | .nix |
| Nushell | .nu, .nuon |
| OCaml and Reason | .ml, .mli, .mll, .mly, .mld, .mlx, .re, .rei, dune, dune-project |
| Odin | .odin |
| Perl | .pl, .pm, .pod, .t |
| PHP | .php, .phpt, .phtml |
| PowerShell | .ps1, .psm1 |
| Prisma | .prisma |
| Protocol Buffers | .proto |
| PureScript | .purs |
| Python requirements | requirements.txt, constraints.txt |
| R | .r, .R, .Rmd, .qmd |
| Racket | .rkt |
| ReScript | .res, .resi |
| reStructuredText | .rst |
| Ruby | .rb, .erb, .rake, .gemspec, Gemfile, Rakefile, Podfile, Vagrantfile, and more |
| Scala | .scala, .sc, .sbt, .mill |
| Scheme | .scm, .ss |
| SCSS and Sass | .scss, .sass |
| Solidity | .sol, .yul |
| SQL | .sql |
| Svelte | .svelte |
| Swift | .swift, .swiftinterface |
| templ | .templ |
| Terraform and OpenTofu | .tf, .tfvars, .tofu, .hcl |
| TOML | .toml, Cargo.lock, uv.lock, Pipfile |
| Typst | .typ, .typst |
| Vue | .vue |
| WGSL | .wgsl |
| Windows Batch | .bat, .cmd |
| WIT | .wit |
| XML | .xml |
| Zig | .zig, .zon |
The list comes from Zed’s recommended extensions. Delta downloads the latest compatible version of each extension.
Limitations
- Code blocks in threads don’t start downloads. A code block in a downloaded language highlights only after you open a matching file or diff in the current session. Code blocks already on screen stay plain; new ones are highlighted. After restarting Delta, open a matching file again.
- Only highlighting is included. Delta doesn’t run language servers or other extension features yet, so there’s no autocomplete, diagnostics, or go-to-definition.