Skip to content

Language Support

Which languages Delta highlights in files, diffs, and code blocks.

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.

LanguageFiles
AsciiDoc.adoc, .asciidoc
Astro.astro
Beancount.bean, .beancount
C#.cs, .csproj, .proj, .props, .slnx, .targets
Clojure.bb, .clj, .cljc, .cljd, .cljs, .edn
CMakeCMakeLists.txt, .cmake
CSV.csv
Cython.pyx, .pxd, .pxi
Dart.dart
Dockerfile and ComposeDockerfile, 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
Justjustfile, .just
Kotlin.kt, .kts
LaTeX and BibTeX.tex, .latex, .sty, .cls, .dtx, .ins, .bib, .bibtex, .biblatex
Log files.log
Lua.lua
MakeMakefile, GNUmakefile, .mk, .mak
Nginxnginx.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 requirementsrequirements.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.

Zed Industries © 2026

TermsPrivacy