You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Matching themes for other tools live under [`ports/`](./ports). They are auto-generated from `lua/claret/palette.lua` — don't edit them directly.
93
+
94
+
| Tool | File | Install |
95
+
| --- | --- | --- |
96
+
|[bat](https://github.com/sharkdp/bat)|[`ports/bat/ClaretDark.tmTheme`](./ports/bat/ClaretDark.tmTheme)| Copy into `"$(bat --config-dir)/themes/"`, then `bat cache --build`. Use with `--theme=ClaretDark` or set `--theme="ClaretDark"` in `bat.conf`. |
97
+
|[ghostty](https://ghostty.org)|[`ports/ghostty/claret-dark.conf`](./ports/ghostty/claret-dark.conf)| Copy to `~/.config/ghostty/themes/claret-dark`, then add `theme = claret-dark` to `~/.config/ghostty/config`. |
98
+
|[opencode](https://opencode.ai)|[`ports/opencode/claret.json`](./ports/opencode/claret.json)| Copy to `~/.config/opencode/themes/claret.json`, then set `"theme": "claret"` in `opencode.json`. |
99
+
|[yazi](https://yazi-rs.github.io)|[`ports/yazi/claret-dark.toml`](./ports/yazi/claret-dark.toml)| Copy to `~/.config/yazi/theme.toml` (or merge into your existing `theme.toml`). |
100
+
|[zellij](https://zellij.dev)|[`ports/zellij/claret-dark.kdl`](./ports/zellij/claret-dark.kdl)| Copy to `~/.config/zellij/themes/claret-dark.kdl`, then set `theme "claret-dark"` in your zellij config. |
101
+
102
+
On macOS, replace `~/.config` with `$XDG_CONFIG_HOME` if you set it, or use the tool's documented config directory.
103
+
104
+
## Development
105
+
106
+
```sh
107
+
# Run the full test suite (palette, load, highlights, plugins, ports).
108
+
./scripts/test.sh
109
+
110
+
# Regenerate port files after changing the palette or generator.
Git hooks (optional but recommended) — managed by [lefthook](https://github.com/evilmartians/lefthook) via [mise](https://mise.jdx.dev):
116
+
117
+
```sh
118
+
mise run hooks-install
119
+
```
120
+
121
+
The pre-commit hook regenerates port files automatically when `lua/claret/palette.lua`, `scripts/generate_ports.lua`, or anything under `ports/` changes, then re-stages them.
-`scripts/generate_ports.lua` — generator for every file in `ports/`
133
+
134
+
### Adding a plugin integration
135
+
136
+
1. Add a new file under `lua/claret/groups/plugins/` that returns `{ get = function(colors, opts) ... end }`.
137
+
2. Register it in `lua/claret/theme.lua`.
138
+
3. Reuse semantic palette roles (`rose_*` for keywords, `gold_*` for functions, `sage_*` for strings, `type_1` for types, `terra_*` for errors) — don't invent new hues.
139
+
4. Add an assertion to `tests/plugins_spec.lua` covering one representative group.
140
+
141
+
### Changing the palette
142
+
143
+
1. Edit `lua/claret/palette.lua`.
144
+
2. Regenerate ports (or let the pre-commit hook do it).
145
+
3. Run `./scripts/test.sh` and update any hardcoded expectations in `tests/`.
0 commit comments