feat: add own Gruvbox tmTheme, drop the AGPL dependency

Syntax highlighting for the file preview no longer points at an external
repository. gruvbox-dark.tmTheme is written from scratch here: 39 scope rules
following morhetz/gruvbox's own vim highlight links (Comment=gray italic,
String=green, Constant=purple, Keyword=red, Identifier=blue, Function=green
bold, Type=yellow, StorageClass=orange, PreProc=aqua, Operator=Normal).

The theme commonly paired with Yazi is AGPL-3.0 and would have forced that
licence on this repository. Writing our own keeps everything MIT and makes the
repo self-contained.

Verified under syntect (the library Yazi uses): rendering a sample through bat
emits only palette colours, and a Yazi frame shows 14 distinct colours with no
foreign value.

regen-tmtheme.py reproduces the file byte-for-byte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
thomas.koppandClaude Opus 5 committed 2026-09-22 12:26:24 +02:00
1 parent 4ea70c669e
commit 6dc8e1b3ae
5 files changed
+644 -29

No files matched your search

+14 -6
View File
@@ -42,10 +42,18 @@ SOFTWARE.
Colour values follow the Gruvbox palette by Pavel Pertsev:
https://github.com/morhetz/gruvbox — MIT/X11 License.
## Not included: syntax highlighting theme
## Syntax highlighting theme
This repository deliberately ships **no** `.tmTheme` file. The Gruvbox
`.tmTheme` commonly paired with Yazi comes from
https://github.com/poperigby/gruvbox-dark-yazi, which is licensed **AGPL-3.0**.
Bundling it would force AGPL-3.0 on this repository. Fetch it yourself if you
want Gruvbox-coloured file previews — see the README.
`gruvbox-dark.tmTheme` is original work, written for this repository and
covered by its MIT licence. It is not derived from any existing `.tmTheme`.
Its scope-to-colour mapping follows the highlight links defined in
morhetz/gruvbox's own vim colorscheme (Comment=gray, String=green,
Constant=purple, Statement/Keyword=red, Identifier=blue, Function=green bold,
Type=yellow, StorageClass=orange, PreProc=aqua, Operator=Normal) — a mapping
rule, not copied code.
The Gruvbox `.tmTheme` commonly paired with Yazi comes from
https://github.com/poperigby/gruvbox-dark-yazi and is licensed **AGPL-3.0**.
It is deliberately **not** used or bundled here: doing so would force
AGPL-3.0 on this repository.