preview/ holds a yazi.toml and a pdf-hidpi plugin that fix unreadable PDF
previews. Yazi calls pdftoppm without -r (150 DPI) and then caps the image at
600x900, so pages are downscaled and upscaled again; the plugin renders at
300 DPI as PNG and the cap goes to 1600x2400, turning that into supersampling.
Previewer and preloader both have to be overridden — they share the cache file.
README documents this plus what video previews can and cannot do: the preview
is a single ffmpeg keyframe by design, J/K scrubs it, and the opener offers
mpv --vo=kitty with shared-memory transfer for inline playback.
Targets the 26.9 plugin API (fs.cha, not main's fs.stat).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
Panel chrome, filetype colours and the full 725-entry icon table.
The icon table is Yazi's preset with every glyph colour remapped onto the
Gruvbox palette: nearest neighbour in Oklab with lightness weighted down so
hue drives the match, chromatic and greyish sources matched from separate
pools, and target tones below 3:1 contrast on #282828 excluded. 221 upstream
colours collapse onto 19 Gruvbox tones, dimmest icon at 3.48:1.
regen-icons.py reproduces the mapping against a newer Yazi preset.
Uses the current schema ([mgr]/[tabs]/[pick]/[cmp]), not the pre-25.x one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>