Skip to content

Commit 5075cd9

Browse files
committed
feat: vicinae
1 parent 335e832 commit 5075cd9

6 files changed

Lines changed: 265 additions & 2 deletions

File tree

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,11 @@ Matching themes for other tools live under [`ports/`](./ports). They are auto-ge
105105
| --- | --- | --- |
106106
| [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`. |
107107
| [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`. |
108+
| [kitty](https://sw.kovidgoyal.net/kitty/) | [`ports/kitty/claret.conf`](./ports/kitty/claret.conf) | `include` or copy into `~/.config/kitty/kitty.conf`. |
108109
| [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`. |
109-
| [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`). |
110+
| [starship](https://starship.rs) | [`ports/starship/claret.toml`](./ports/starship/claret.toml) | Merge `[palettes.claret]` into `~/.config/starship.toml` and set `palette = "claret"`. |
111+
| [vicinae](https://github.com/nickvdyck/vicinae) | [`ports/vicinae/claret-dark.toml`](./ports/vicinae/claret-dark.toml) | Copy to `~/.local/share/vicinae/themes/claret-dark.toml`. |
112+
| [yazi](https://yazi-rs.github.io) | [`ports/yazi/claret-dark.yazi/`](./ports/yazi/claret-dark.yazi/) | Copy `claret-dark.yazi/` to `~/.config/yazi/flavors/`, then set `dark = "claret-dark"` under `[flavor]` in `~/.config/yazi/theme.toml`. |
110113
| [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. |
111114

112115
On macOS, replace `~/.config` with `$XDG_CONFIG_HOME` if you set it, or use the tool's documented config directory.

ports/vicinae/claret-dark.toml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# AUTO-GENERATED by scripts/generate_ports.lua. Do not edit manually.
2+
3+
[meta]
4+
name = "Claret Dark"
5+
description = "Dark palette from the Claret Neovim colorscheme"
6+
variant = "dark"
7+
inherits = "vicinae-dark"
8+
9+
[colors.core]
10+
accent = "#8995A8"
11+
accent_foreground = "#180810"
12+
background = "#180810"
13+
foreground = "#DDD3C7"
14+
secondary_background = "#211618"
15+
border = "#3A2E25"
16+
17+
[colors.main_window]
18+
border = "#3A2E25"
19+
footer = { background = "colors.core.secondary_background" }
20+
21+
[colors.settings_window]
22+
border = "#3A2E25"
23+
24+
[colors.accents]
25+
blue = "#8995A8"
26+
green = "#8FA86E"
27+
magenta = "#C75B7A"
28+
orange = "#C5975B"
29+
red = "#C44536"
30+
yellow = "#D4A76A"
31+
cyan = "#7A9460"
32+
purple = "#B04A68"
33+
34+
# For now, shortcuts cannot have their own dedicated background
35+
[colors.shortcut]
36+
border = "colors.core.border"
37+
38+
[colors.text]
39+
default = "colors.core.foreground"
40+
muted = "#9E9288"
41+
danger = "#C44536"
42+
success = "#8FA86E"
43+
placeholder = "#71685E"
44+
selection = { background = "#2B1F22", foreground = "#DDD3C7" }
45+
46+
[colors.text.links]
47+
default = "#8995A8"
48+
visited = "#B04A68"
49+
50+
[colors.input]
51+
border = "#3A2E25"
52+
border_focus = "#8995A8"
53+
border_error = "#C44536"
54+
55+
[colors.button.primary]
56+
background = "#211618"
57+
foreground = "#DDD3C7"
58+
hover = { background = "#2B1F22" }
59+
focus = { outline = "colors.core.accent" }
60+
61+
[colors.list.item.hover]
62+
foreground = "#DDD3C7"
63+
secondary_foreground = "#9E9288"
64+
65+
[colors.list.item.selection]
66+
background = "#211618"
67+
foreground = "#DDD3C7"
68+
secondary_background = "#211618"
69+
secondary_foreground = "#9E9288"
70+
71+
[colors.grid.item]
72+
background = "#211618"
73+
hover = { outline = "#8995A8" }
74+
selection = { outline = "#8995A8" }
75+
76+
[colors.scrollbars]
77+
background = "#3A2E25"
78+
79+
[colors.loading]
80+
bar = "#8995A8"
81+
spinner = "#8995A8"

ports/yazi/claret-dark.toml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# AUTO-GENERATED by scripts/generate_ports.lua. Do not edit manually.
2+
[manager]
3+
cwd = { fg = "#D4A76A" }
4+
hovered = { fg = "#DDD3C7", bg = "#2B1F22" }
5+
preview_hovered = { fg = "#DDD3C7", bg = "#2B1F22" }
6+
find_keyword = { fg = "#180810", bg = "#D4A76A", bold = true }
7+
find_position = { fg = "#8995A8", bold = true }
8+
marker_copied = { fg = "#8FA86E", bg = "#8FA86E" }
9+
marker_cut = { fg = "#C44536", bg = "#C44536" }
10+
marker_marked = { fg = "#C75B7A", bg = "#C75B7A" }
11+
count_copied = { fg = "#180810", bg = "#8FA86E" }
12+
count_cut = { fg = "#180810", bg = "#C44536" }
13+
count_selected = { fg = "#180810", bg = "#C75B7A" }
14+
15+
[status]
16+
separator_open = ""
17+
separator_close = ""
18+
separator_style = { fg = "#3A2E25", bg = "#180810" }
19+
mode_normal = { fg = "#180810", bg = "#D4A76A", bold = true }
20+
mode_select = { fg = "#180810", bg = "#C75B7A", bold = true }
21+
mode_unset = { fg = "#180810", bg = "#8995A8", bold = true }
22+
progress_label = { fg = "#DDD3C7", bold = true }
23+
progress_normal = { fg = "#D4A76A", bg = "#211618" }
24+
progress_error = { fg = "#C44536", bg = "#211618" }
25+
26+
[input]
27+
border = { fg = "#C75B7A" }
28+
title = { fg = "#DDD3C7" }
29+
value = { fg = "#DDD3C7" }
30+
selected = { fg = "#180810", bg = "#D4A76A" }
31+
32+
[select]
33+
border = { fg = "#C75B7A" }
34+
active = { fg = "#D4A76A" }
35+
inactive = { fg = "#9E9288" }
36+
37+
[tasks]
38+
border = { fg = "#C75B7A" }
39+
title = { fg = "#DDD3C7" }
40+
hovered = { fg = "#DDD3C7", bg = "#2B1F22" }
41+
42+
[which]
43+
cols = 3
44+
mask = { bg = "#211618" }
45+
cand = { fg = "#8995A8" }
46+
rest = { fg = "#9E9288" }
47+
desc = { fg = "#D4A76A" }
48+
separator = " "
49+
separator_style = { fg = "#3A2E25" }
50+
51+
[help]
52+
on = { fg = "#8FA86E" }
53+
run = { fg = "#C75B7A" }
54+
hovered = { bg = "#2B1F22" }
55+
footer = { fg = "#DDD3C7", bg = "#211618" }
56+
57+
[notify]
58+
title_info = { fg = "#8995A8" }
59+
title_warn = { fg = "#D4A76A" }
60+
title_error = { fg = "#C44536" }
61+
62+
[filetype]
63+
rules = [
64+
{ mime = "image/*", fg = "#C75B7A" },
65+
{ mime = "video/*", fg = "#B04A68" },
66+
{ mime = "audio/*", fg = "#8FA86E" },
67+
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#C5975B" },
68+
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#B04A68" },
69+
{ mime = "application/json", fg = "#8995A8" },
70+
{ mime = "application/toml", fg = "#8995A8" },
71+
{ name = "*", is = "orphan", fg = "#C44536" },
72+
{ name = "*", is = "exec", fg = "#8FA86E" },
73+
{ name = "*/", fg = "#D4A76A" },
74+
{ name = "*", fg = "#DDD3C7" },
75+
]

scripts/generate_ports.lua

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,93 @@ generated['ports/starship/claret.toml'] = table.concat({
550550
'white = "' .. p.text .. '"',
551551
}, '\n')
552552

553+
-- ---------------------------------------------------------------------------
554+
-- vicinae (browser theme)
555+
-- ---------------------------------------------------------------------------
556+
generated['ports/vicinae/claret-dark.toml'] = table.concat({
557+
'# AUTO-GENERATED by scripts/generate_ports.lua. Do not edit manually.',
558+
'',
559+
'[meta]',
560+
'name = "Claret Dark"',
561+
'description = "Dark palette from the Claret Neovim colorscheme"',
562+
'variant = "dark"',
563+
'inherits = "vicinae-dark"',
564+
'',
565+
'[colors.core]',
566+
'accent = "' .. p.slate_1 .. '"',
567+
'accent_foreground = "' .. p.bg .. '"',
568+
'background = "' .. p.bg .. '"',
569+
'foreground = "' .. p.text .. '"',
570+
'secondary_background = "' .. p.bg_soft .. '"',
571+
'border = "' .. p.divider .. '"',
572+
'',
573+
'[colors.main_window]',
574+
'border = "' .. p.divider .. '"',
575+
'footer = { background = "colors.core.secondary_background" }',
576+
'',
577+
'[colors.settings_window]',
578+
'border = "' .. p.divider .. '"',
579+
'',
580+
'[colors.accents]',
581+
'blue = "' .. p.slate_1 .. '"',
582+
'green = "' .. p.sage_1 .. '"',
583+
'magenta = "' .. p.rose_1 .. '"',
584+
'orange = "' .. p.gold_2 .. '"',
585+
'red = "' .. p.terra_1 .. '"',
586+
'yellow = "' .. p.gold_1 .. '"',
587+
'cyan = "' .. p.sage_2 .. '"',
588+
'purple = "' .. p.rose_2 .. '"',
589+
'',
590+
'# For now, shortcuts cannot have their own dedicated background',
591+
'[colors.shortcut]',
592+
'border = "colors.core.border"',
593+
'',
594+
'[colors.text]',
595+
'default = "colors.core.foreground"',
596+
'muted = "' .. p.text_3 .. '"',
597+
'danger = "' .. p.terra_1 .. '"',
598+
'success = "' .. p.sage_1 .. '"',
599+
'placeholder = "' .. p.text_4 .. '"',
600+
'selection = { background = "' .. p.bg_mute .. '", foreground = "' .. p.text .. '" }',
601+
'',
602+
'[colors.text.links]',
603+
'default = "' .. p.slate_1 .. '"',
604+
'visited = "' .. p.rose_2 .. '"',
605+
'',
606+
'[colors.input]',
607+
'border = "' .. p.divider .. '"',
608+
'border_focus = "' .. p.slate_1 .. '"',
609+
'border_error = "' .. p.terra_1 .. '"',
610+
'',
611+
'[colors.button.primary]',
612+
'background = "' .. p.bg_soft .. '"',
613+
'foreground = "' .. p.text .. '"',
614+
'hover = { background = "' .. p.bg_mute .. '" }',
615+
'focus = { outline = "colors.core.accent" }',
616+
'',
617+
'[colors.list.item.hover]',
618+
'foreground = "' .. p.text .. '"',
619+
'secondary_foreground = "' .. p.text_3 .. '"',
620+
'',
621+
'[colors.list.item.selection]',
622+
'background = "' .. p.bg_soft .. '"',
623+
'foreground = "' .. p.text .. '"',
624+
'secondary_background = "' .. p.bg_soft .. '"',
625+
'secondary_foreground = "' .. p.text_3 .. '"',
626+
'',
627+
'[colors.grid.item]',
628+
'background = "' .. p.bg_soft .. '"',
629+
'hover = { outline = "' .. p.slate_1 .. '" }',
630+
'selection = { outline = "' .. p.slate_1 .. '" }',
631+
'',
632+
'[colors.scrollbars]',
633+
'background = "' .. p.divider .. '"',
634+
'',
635+
'[colors.loading]',
636+
'bar = "' .. p.slate_1 .. '"',
637+
'spinner = "' .. p.slate_1 .. '"',
638+
}, '\n')
639+
553640
local changed = {}
554641
for path, content in pairs(generated) do
555642
if write_if_changed(path, content) then

scripts/precommit_ports.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ git add \
2727
ports/bat/ClaretDark.tmTheme \
2828
ports/zellij/claret-dark.kdl \
2929
ports/kitty/claret.conf \
30-
ports/starship/claret.toml
30+
ports/starship/claret.toml \
31+
ports/vicinae/claret-dark.toml

tests/ports_spec.lua

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,20 @@ assert_contains(
127127
'starship overlay'
128128
)
129129

130+
assert_contains(
131+
'ports/vicinae/claret-dark.toml',
132+
'background = "' .. palette.bg .. '"',
133+
'vicinae background'
134+
)
135+
assert_contains(
136+
'ports/vicinae/claret-dark.toml',
137+
'accent = "' .. palette.slate_1 .. '"',
138+
'vicinae accent'
139+
)
140+
assert_contains(
141+
'ports/vicinae/claret-dark.toml',
142+
'danger = "' .. palette.terra_1 .. '"',
143+
'vicinae danger'
144+
)
145+
130146
print('ports ok')

0 commit comments

Comments
 (0)