Skip to content

Commit 5bd0a7d

Browse files
committed
feat(extras): yazi theme
1 parent 57fc3af commit 5bd0a7d

File tree

4 files changed

+266
-0
lines changed

4 files changed

+266
-0
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ We've cooked up some wonderful extras to enhance your cyberdream experience. Mos
207207
![terminal](https://github.com/scottmckendry/cyberdream.nvim/assets/39483124/b6727dd0-cd45-4f6c-94cd-92fb0dadcfae)
208208

209209
- **[Alacritty](extras/alacritty/)**
210+
- **[Base16/Stylix](extras/base16/)**
210211
- **[Fish](extras/fish/)**
211212
- **[GitUI](extras/gitui/)**
212213
- **[Helix](extras/helix/)**
@@ -222,6 +223,7 @@ We've cooked up some wonderful extras to enhance your cyberdream experience. Mos
222223
- **[Vivid](extras/vivid/)**
223224
- **[Wezterm](extras/wezterm/)**
224225
- **[Windows Terminal](extras/windowsterminal/)**
226+
- **[Yazi](extras/yazi/)**
225227
- **[Zed](extras/zed/)**
226228
- **[Zellij](extras/zellij/)**
227229

extras/yazi/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## Usage
2+
3+
1. Create a directory `~/.config/yazi` if it doesn't already exist.
4+
2. Copy one of the themes to this directory as `theme.toml`
5+
6+
> [!NOTE]
7+
> Syntax highlighting is provided by a `tmTheme file`. Which can be found [here](https://github.com/scottmckendry/cyberdream.nvim/tree/main/extras/textmate)
8+
9+
More info can be found in the [Yazi docs](https://yazi-rs.github.io/docs/configuration/theme)

lua/cyberdream/extra/init.lua

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ M.extras = {
2323
vivid = { extension = "yml", name = "vivid" },
2424
wezterm = { extension = "lua", name = "wezterm" },
2525
windowsterminal = { extension = "json", name = "windowsterminal" },
26+
yazi = { extension = "toml", name = "yazi" },
2627
zellij = { extension = "kdl", name = "zellij" },
2728
zed = { extension = "json", name = "zed" },
2829
}

lua/cyberdream/extra/yazi.lua

+254
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
local colors = require("cyberdream.colors")
2+
local util = require("cyberdream.util")
3+
4+
local M = {}
5+
6+
--- Generate cyberdream theme for yazi
7+
--- @param variant string: Variation of the colorscheme to use.
8+
function M.generate(variant)
9+
local template = [==[
10+
[manager]
11+
# tmTheme files can be found here: https://github.com/scottmckendry/cyberdream.nvim/tree/main/extras/textmate
12+
syntect_theme = "../bat/themes/cyberdream.tmTheme"
13+
[manager.border_style]
14+
fg = "${grey}"
15+
16+
[manager.cwd]
17+
fg = "${cyan}"
18+
19+
[manager.find_keyword]
20+
bold = true
21+
fg = "${green}"
22+
23+
[manager.find_position]
24+
fg = "${fg}"
25+
26+
[manager.hovered]
27+
bg = "${grey}"
28+
bold = true
29+
fg = "${fg}"
30+
31+
[manager.marker_copied]
32+
bg = "${yellow}"
33+
fg = "${yellow}"
34+
35+
[manager.marker_cut]
36+
bg = "${red}"
37+
fg = "${red}"
38+
39+
[manager.marker_selected]
40+
bg = "${green}"
41+
fg = "${green}"
42+
43+
[manager.preview_hovered]
44+
bg = "${grey}"
45+
bold = true
46+
fg = "${fg}"
47+
48+
[manager.tab_active]
49+
bg = "${blue}"
50+
fg = "${bg}"
51+
52+
[manager.tab_inactive]
53+
bg = "${bgHighlight}"
54+
fg = "${fg}"
55+
56+
[completion]
57+
[completion.active]
58+
bg = "${grey}"
59+
fg = "${purple}"
60+
61+
[completion.border]
62+
fg = "${blue}"
63+
64+
[completion.inactive]
65+
fg = "${fg}"
66+
67+
[[filetype.rules]]
68+
fg = "${cyan}"
69+
mime = "image/*"
70+
71+
[[filetype.rules]]
72+
fg = "${yellow}"
73+
mime = "video/*"
74+
75+
[[filetype.rules]]
76+
fg = "${yellow}"
77+
mime = "audio/*"
78+
79+
[[filetype.rules]]
80+
fg = "${purple}"
81+
mime = "application/zip"
82+
83+
[[filetype.rules]]
84+
fg = "${purple}"
85+
mime = "application/gzip"
86+
87+
[[filetype.rules]]
88+
fg = "${purple}"
89+
mime = "application/x-tar"
90+
91+
[[filetype.rules]]
92+
fg = "${purple}"
93+
mime = "application/x-bzip"
94+
95+
[[filetype.rules]]
96+
fg = "${purple}"
97+
mime = "application/x-bzip2"
98+
99+
[[filetype.rules]]
100+
fg = "${purple}"
101+
mime = "application/x-7z-compressed"
102+
103+
[[filetype.rules]]
104+
fg = "${purple}"
105+
mime = "application/x-rar"
106+
107+
[[filetype.rules]]
108+
fg = "${purple}"
109+
mime = "application/xz"
110+
111+
[[filetype.rules]]
112+
fg = "${green}"
113+
mime = "application/doc"
114+
115+
[[filetype.rules]]
116+
fg = "${green}"
117+
mime = "application/pdf"
118+
119+
[[filetype.rules]]
120+
fg = "${green}"
121+
mime = "application/rtf"
122+
123+
[[filetype.rules]]
124+
fg = "${green}"
125+
mime = "application/vnd.*"
126+
127+
[[filetype.rules]]
128+
bold = true
129+
fg = "${blue}"
130+
mime = "inode/directory"
131+
132+
[[filetype.rules]]
133+
fg = "${fg}"
134+
mime = "*"
135+
136+
[help]
137+
[help.desc]
138+
fg = "${fg}"
139+
140+
[help.footer]
141+
fg = "${fg}"
142+
143+
[help.hovered]
144+
bg = "${grey}"
145+
fg = "${fg}"
146+
147+
[help.on]
148+
fg = "${purple}"
149+
150+
[help.run]
151+
fg = "${cyan}"
152+
153+
[input]
154+
[input.border]
155+
fg = "${blue}"
156+
157+
[input.selected]
158+
bg = "${grey}"
159+
160+
[input.title]
161+
fg = "${fg}"
162+
163+
[input.value]
164+
fg = "${fg}"
165+
166+
[select]
167+
[select.active]
168+
fg = "${purple}"
169+
170+
[select.border]
171+
fg = "${blue}"
172+
173+
[select.inactive]
174+
fg = "${fg}"
175+
176+
[status]
177+
[status.mode_normal]
178+
bg = "${blue}"
179+
bold = true
180+
fg = "${bg}"
181+
182+
[status.mode_select]
183+
bg = "${green}"
184+
bold = true
185+
fg = "${bg}"
186+
187+
[status.mode_unset]
188+
bg = "${magenta}"
189+
bold = true
190+
fg = "${bg}"
191+
192+
[status.permissions_r]
193+
fg = "${yellow}"
194+
195+
[status.permissions_s]
196+
fg = "${cyan}"
197+
198+
[status.permissions_t]
199+
fg = "${blue}"
200+
201+
[status.permissions_w]
202+
fg = "${red}"
203+
204+
[status.permissions_x]
205+
fg = "${green}"
206+
207+
[status.progress_error]
208+
bg = "${bg}"
209+
fg = "${red}"
210+
211+
[status.progress_label]
212+
bg = "${bg}"
213+
fg = "${fg}"
214+
215+
[status.progress_normal]
216+
bg = "${bg}"
217+
fg = "${fg}"
218+
219+
[status.separator_style]
220+
bg = "${bgHighlight}"
221+
fg = "${bgHighlight}"
222+
223+
[tasks]
224+
[tasks.border]
225+
fg = "${blue}"
226+
227+
[tasks.hovered]
228+
bg = "${grey}"
229+
fg = "${fg}"
230+
231+
[tasks.title]
232+
fg = "${fg}"
233+
234+
[which]
235+
[which.cand]
236+
fg = "${cyan}"
237+
238+
[which.desc]
239+
fg = "${fg}"
240+
241+
[which.mask]
242+
bg = "${bgHighlight}"
243+
244+
[which.rest]
245+
fg = "${magenta}"
246+
247+
[which.separator_style]
248+
fg = "${grey}"
249+
]==]
250+
251+
return util.parse_extra_template(template, colors[variant])
252+
end
253+
254+
return M

0 commit comments

Comments
 (0)