Skip to content

Commit 8d1a1d9

Browse files
committed
feat(extras): add Vimium theme
1 parent 7a8e826 commit 8d1a1d9

File tree

2 files changed

+126
-0
lines changed

2 files changed

+126
-0
lines changed

lua/astrotheme/extras/init.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ M.extras = {
3333
terminator = { ext = "conf", url = "https://gnome-terminator.readthedocs.io/en/latest/config.html", label = "Terminator" },
3434
tilix = { ext = "json", url = "https://github.com/gnunn1/tilix", label = "Tilix" },
3535
vim = { ext = "vim", url = "https://vimhelp.org/", label = "Vim", subdir = "colors"},
36+
vimium = { ext = "css", url = "https://vimium.github.io/", label = "Vimium" },
3637
wezterm = { ext = "toml", url = "https://wezfurlong.org/wezterm/config/files.html", label = "WezTerm" },
3738
windows_terminal = { ext = "json", url = "https://aka.ms/terminal-documentation", label = "Windows Terminal" },
3839
xfceterm = { ext = "theme", url = "https://docs.xfce.org/apps/terminal/advanced", label = "Xfce Terminal" },

lua/astrotheme/extras/vimium.lua

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

0 commit comments

Comments
 (0)