Skip to content

Commit 2603e00

Browse files
robinwhgfolke
andauthored
feat(extras): add Vimium theme (#607)
## Description Adds [Vimium](https://vimium.github.io/) browser extension theme as an extra. Co-authored-by: Folke Lemaitre <[email protected]>
1 parent 2e41c5f commit 2603e00

File tree

2 files changed

+149
-0
lines changed

2 files changed

+149
-0
lines changed

lua/tokyonight/extra/init.lua

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ M.extras = {
3535
xresources = { ext = "Xresources", url = "https://wiki.archlinux.org/title/X_resources", label = "Xresources" },
3636
yazi = { ext = "toml", url = "https://github.com/sxyazi/yazi", label = "Yazi" },
3737
vim = { ext = "vim", url = "https://vimhelp.org/", label = "Vim", subdir = "colors", sep = "-" },
38+
vimium = { ext = "css", url = "https://vimium.github.io/", label = "Vimium" },
3839
zathura = { ext = "zathurarc", url = "https://pwmt.org/projects/zathura/", label = "Zathura" },
3940
zellij = { ext = "kdl", url = "https://zellij.dev/", label = "Zellij" },
4041
}

lua/tokyonight/extra/vimium.lua

+148
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
local util = require("tokyonight.util")
2+
3+
local M = {}
4+
5+
--- @param colors ColorScheme
6+
function M.generate(colors)
7+
local vimium = util.template(
8+
[[
9+
/* Copy the content into the `CSS for Vimium UI` textarea field on the vimium options page */
10+
11+
:root {
12+
--vimium-blue: ${blue};
13+
--vimium-green: ${green};
14+
--vimium-fg: ${fg};
15+
--vimium-fg-dark: ${fg_dark};
16+
--vimium-border: ${border};
17+
--vimium-border-highlight: ${border_highlight};
18+
--vimium-bg: ${bg};
19+
--vimium-bg-highlight: ${bg_highlight};
20+
}
21+
22+
#vimiumHintMarkerContainer div.internalVimiumHintMarker,
23+
#vimiumHintMarkerContainer div.vimiumHintMarker {
24+
padding: 3px 4px;
25+
border: 1;
26+
background: var(--vimium-blue);
27+
border-color: var(--vimium-border);
28+
box-shadow:
29+
0 1px 3px rgba(0, 0, 0, 0.12),
30+
0 1px 2px rgba(0, 0, 0, 0.24);
31+
}
32+
33+
#vimiumHintMarkerContainer div span {
34+
color: var(--vimium-border) !important;
35+
text-shadow: none;
36+
}
37+
38+
#vimiumHintMarkerContainer div > .matchingCharacter {
39+
opacity: 1;
40+
}
41+
42+
#vimiumHintMarkerContainer div > .matchingCharacter ~ span {
43+
color: var(--vimium-fg-dark);
44+
}
45+
46+
#vomnibar {
47+
background: var(--vimium-bg);
48+
border: 2px solid var(--vimium-border-highlight);
49+
animation: show 200ms cubic-bezier(0, 0, 0.2, 1) forwards;
50+
max-height: calc(100vh - 70px);
51+
overflow: hidden;
52+
}
53+
54+
@keyframes show {
55+
0% {
56+
transform: translateY(50px);
57+
opacity: 0;
58+
}
59+
100% {
60+
transform: translateY(0);
61+
opacity: 1;
62+
}
63+
}
64+
65+
#vomnibar input {
66+
color: var(--vimium-fg);
67+
background: var(--vimium-bg);
68+
border: none;
69+
height: unset;
70+
padding: 16px 30px;
71+
}
72+
73+
#vomnibar .vomnibarSearchArea {
74+
border: none;
75+
padding: unset;
76+
background: var(--vimium-bg);
77+
}
78+
79+
#vomnibar ul {
80+
padding: 0;
81+
margin: 0;
82+
background: var(--vimium-bg);
83+
border-top: 1px solid var(--vimium-border);
84+
}
85+
86+
#vomnibar li {
87+
padding: 10px;
88+
border-bottom: 1px solid var(--vimium-border);
89+
}
90+
91+
#vomnibar li .vomnibarTopHalf,
92+
#vomnibar li .vomnibarBottomHalf {
93+
padding: 3px 0;
94+
}
95+
96+
#vomnibar li .vomnibarSource {
97+
color: var(--vimium-green);
98+
}
99+
100+
#vomnibar li em,
101+
#vomnibar li .vomnibarTitle {
102+
color: var(--vimium-blue);
103+
}
104+
105+
#vomnibar li .vomnibarUrl {
106+
color: var(--vimium-fg);
107+
}
108+
109+
#vomnibar li .vomnibarMatch {
110+
color: var(--vimium-blue);
111+
}
112+
113+
#vomnibar li .vomnibarTitle .vomnibarMatch {
114+
color: var(--vimium-blue);
115+
}
116+
117+
#vomnibar li.vomnibarSelected {
118+
background-color: var(--vimium-bg-highlight);
119+
}
120+
121+
div.vimiumHUD {
122+
background: var(--vimium-bg);
123+
border: none;
124+
box-shadow:
125+
0 1px 3px rgba(0, 0, 0, 0.12),
126+
0 1px 2px rgba(0, 0, 0, 0.24);
127+
}
128+
129+
div.vimiumHUD span#hud-find-input,
130+
div.vimiumHUD .vimiumHUDSearchAreaInner {
131+
color: var(--vimium-fg);
132+
}
133+
134+
div.vimiumHUD .hud-find {
135+
background-color: var(--vimium-bg);
136+
border: none;
137+
}
138+
139+
div.vimiumHUD .vimiumHUDSearchArea {
140+
background-color: var(--vimium-bg);
141+
}
142+
]],
143+
colors
144+
)
145+
return vimium
146+
end
147+
148+
return M

0 commit comments

Comments
 (0)