# druk extensions — 61 in the market.

# a manifest is JSON, not code: installing one runs nothing. grammars are already in the binary, so a language extension is one small file.

$ druk . # then Ctrl+Opt+X

# or drop the manifest in ~/.config/druk/extensions/<id>.json

▾ languages # grammar, highlight query, comment token — and, where one exists, the server that serves it

Bash1.0.0lsp
Shell highlighting and bash-language-server.
C1.0.0lsp
C highlighting and clangd.
C++1.0.0lsp
C++ highlighting and clangd.
C#1.0.0
C# highlighting.
CSS1.0.0built inlsp
CSS, SCSS, Sass and Less, with the VS Code CSS server.
css scss sass less
Dart1.0.0
Dart highlighting.
Diff1.0.0built in
Unified diffs and git patches — `.patch`, `.diff`, `.rej`, by patterns.
dotenv1.0.0built in
`.env` files, whatever they are named.
Elixir1.1.0lsp
Elixir highlighting and expert, the Elixir language server.
Go1.0.0lsp
Go highlighting and gopls.
HashiCorp configuration: `.tf`, `.tfvars` and `.hcl`, by patterns.
terraform hcl
HTML1.0.0built inlsp
HTML highlighting and the VS Code HTML server.
INI1.0.0
INI and .conf highlighting, by patterns.
Java1.0.0
Java highlighting.
JSON1.2.0built inlsp
JSON and JSONC highlighting and the VS Code JSON server. Also reads `bun.lock`.
json jsonc
Kotlin1.0.0
Kotlin highlighting.
Liquid1.0.0
Shopify Liquid templates, by patterns.
Lua1.0.0lsp
Lua highlighting and lua-language-server.
Markdown1.0.0built in
Markdown highlighting, on OpenTUI's own grammar.
PHP1.0.0lsp
PHP highlighting and intelephense.
Python1.0.0lsp
Python highlighting and pyright.
R1.0.0lsp
R highlighting and the languageserver R package — the language of statistics and data analysis, its .R scripts and .Rprofile.
Ruby1.0.0lsp
Ruby highlighting and solargraph.
Rust1.0.0lsp
Rust highlighting and rust-analyzer.
Scala1.0.0
Scala highlighting.
Solidity1.0.0lsp
Solidity highlighting and the Nomic Foundation language server.
SQL1.0.0
SQL highlighting, by patterns.
Svelte1.0.0
Svelte highlighting, by patterns — no wasm grammar ships for it.
Swift1.0.0lsp
Swift highlighting and sourcekit-lsp.
TOML1.0.0built in
TOML highlighting.
Octane's tsrx: the tsx grammar plus the @if / @for / @{ directives it cannot parse.
TypeScript1.1.0built inlsp
TypeScript, JavaScript and their React dialects, with typescript-language-server. A project on TypeScript 7 is served by its own `tsc --lsp` instead.
typescript javascript typescriptreact javascriptreact
Vue1.2.0lsp
Vue single-file component highlighting, with the Vue language server and TypeScript in <script> blocks.
YAML1.0.0built in
YAML highlighting. Patterns rather than a grammar: tree-sitter-yaml needs an external scanner OpenTUI cannot link.
Zig1.0.0lsp
Zig highlighting on OpenTUI's grammar, and zls.

▾ linters # a server that reports beside whichever one serves the file

ESLint1.0.0lsp
ESLint diagnostics from the project's own eslint, beside whatever language server is already serving the file.
typescript typescriptreact javascript javascriptreact vue svelte
oxlint1.0.0lsp
oxlint diagnostics from the project's own oxlint, beside whatever language server is already serving the file. The oxc linter, in Rust.
typescript typescriptreact javascript javascriptreact vue svelte

▾ themes # a palette family; several flavors ship as one extension

0x96f1.0.0
A simple and pleasant dark theme
Astro1.0.0
Astro — Michael Andreuzza’s take on the Astro Build palette, dark and light. Palette from https://github.com/michael-andreuzza/astro-theme (MIT).
astro-dark astro-light
Ayu1.1.0
Ayu Dark, Mirage and Light. Palette from https://github.com/dempfi/ayu (the sublime-color-scheme files).
ayu-dark ayu-mirage ayu-light
Bushland — earthy, calm and cozy. Palette from https://github.com/michael-andreuzza/bushland (MIT), by Michael Andreuzza.
The four Catppuccin flavors. Palette from https://github.com/catppuccin/palette, capture groups following the project style guide.
catppuccin-mocha catppuccin-macchiato catppuccin-frappe catppuccin-latte
Cocoa Butter — inspired by artisan chocolate and toasted nuts, in Burnt Chestnut and Almond Cream. Palette from https://github.com/michael-andreuzza/cocoabutter (MIT), by Michael Andreuzza.
cocoa-burnt-chestnut cocoa-almond-cream
Dracula1.1.0
Dracula. Palette from https://draculatheme.com/contribute
Everforest Dark and Light, medium contrast. Palette and highlight semantics from https://github.com/sainnhe/everforest/blob/master/palette.md — the syntax colors follow that table’s Treesitter notes, which differ from the Vim ones (strings are aqua, not green; fields are blue).
everforest-dark everforest-light
Flexoki1.0.0
Flexoki Dark and Light. Palette from https://stephango.com/flexoki; the capture groups follow that page’s syntax highlighting table and the official Helix port.
flexoki-dark flexoki-light
Gruvbox1.1.0
Gruvbox Dark and Light. Palette from https://github.com/morhetz/gruvbox
gruvbox gruvbox-light
Hearth1.0.0
Hearth — a warm one-accent theme in six variants: Hearth, Azure and Teal, each light and dark. Palette from https://github.com/ryanfurrer/hearth-theme (MIT), https://hearth.ryanfurrer.com.
hearth-dark hearth-light hearth-dark-azure hearth-light-azure hearth-dark-teal hearth-light-teal
Kanagawa Wave, Dragon and Lotus. Palette from https://github.com/rebelot/kanagawa.nvim
kanagawa-wave kanagawa-dragon kanagawa-lotus
Malibu1.0.0
Malibu — a retro theme inspired by the surfing days in Malibu beach, in Sunset and Sunrise. Palette from https://github.com/michael-andreuzza/malibutheme (MIT), by Michael Andreuzza.
malibu-sunset malibu-sunrise
Nord1.1.0
Nord. Palette from https://www.nordtheme.com/docs/colors-and-palettes
Atom One Dark. Colors from atom/atom `one-dark-syntax` (`styles/colors.less`, resolved from HSL) and `one-dark-ui`; the capture groups follow the "Official Syntax Variables" in `styles/syntax-variables.less` and `styles/syntax/base.less`.
Relentless — elegant, simple and electric, in Midnight and Sunset. Palette from https://github.com/michael-andreuzza/relentless (MIT), by Michael Andreuzza.
relentless-midnight relentless-sunset
Rosé Pine, Moon and Dawn. Palette from https://github.com/rose-pine/neovim (`lua/rose-pine/palette.lua`); the capture groups and UI slots follow the official VS Code port, https://github.com/rose-pine/vscode.
rose-pine rose-pine-moon rose-pine-dawn
Sequoia1.0.0
Sequoia — black, elegant and monochrome, in six variants: Moonlight, Monochrome and Retro, each dark and light. Palette from https://github.com/Sequoia-Theme/vs-code (MIT), by Michael Andreuzza.
sequoia-moonlight sequoia-moonlight-light sequoia-monochrome sequoia-monochrome-light sequoia-retro sequoia-retro-light
Serendipity — an elegant, minimal palette in seven variants. Palette from https://github.com/Serendipity-Theme/vs-code and https://github.com/michael-andreuzza/old-serendipity (MIT), by Michael Andreuzza.
serendipity-midnight serendipity-midnight-electric serendipity-sunset serendipity-morning serendipity-midnight-v1 serendipity-sunset-v1 serendipity-morning-v1
Solarized Dark and Light. Palette from https://github.com/altercation/solarized; the capture groups follow that repository’s own vim colorscheme — Statement is green, Constant cyan, Identifier blue, Type yellow, Special red.
solarized-dark solarized-light
Tokyo Night. Palette from https://github.com/folke/tokyonight.nvim
Vesper1.1.0
Vesper. Palette from https://github.com/raunofreiberg/vesper

▾ icon themes # file icons for the tree, the tabs and the git panel

The Material Icon Theme (PKief) — every file and folder association and its colour, drawn with Material Design Icons. Needs a patched Nerd Font.
material
File and folder glyphs from the Devicons and Font Awesome ranges. Needs a patched Nerd Font.
nerd

$ # adding one

# a folder under extensions/ holding extension.json, then bun run extensions. served raw from main, so a merged pull request is installable without a druk release.

$ open extensions/README.md

$ cd .. # back to the editor