-
Notifications
You must be signed in to change notification settings - Fork 164
/
gruvbox-material.lua
134 lines (130 loc) · 5.41 KB
/
gruvbox-material.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
-- =============================================================================
-- URL: https://github.com/sainnhe/gruvbox-material
-- Filename: lua/lualine/themes/gruvbox-material.lua
-- Author: sainnhe
-- Email: i@sainnhe.dev
-- License: MIT License
-- =============================================================================
local configuration = vim.fn['gruvbox_material#get_configuration']()
local palette = vim.fn['gruvbox_material#get_palette'](configuration.background, configuration.foreground, configuration.colors_override)
if configuration.transparent_background == 2 then
palette.bg_statusline1 = palette.none
palette.bg_statusline2 = palette.none
end
local theme
if configuration.statusline_style == 'default' then
theme = {
normal = {
a = {bg = palette.grey2[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
insert = {
a = {bg = palette.bg_green[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
visual = {
a = {bg = palette.bg_red[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
replace = {
a = {bg = palette.bg_yellow[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
command = {
a = {bg = palette.blue[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
terminal = {
a = {bg = palette.purple[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.fg1[1]}
},
inactive = {
a = {bg = palette.bg_statusline1[1], fg = palette.grey2[1]},
b = {bg = palette.bg_statusline1[1], fg = palette.grey2[1]},
c = {bg = palette.bg_statusline1[1], fg = palette.grey2[1]}
}
}
elseif configuration.statusline_style == 'mix' then
theme = {
normal = {
a = {bg = palette.grey2[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.grey2[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]}
},
insert = {
a = {bg = palette.bg_green[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.fg1[1]}
},
visual = {
a = {bg = palette.bg_red[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.fg1[1]}
},
replace = {
a = {bg = palette.bg_yellow[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.fg1[1]}
},
command = {
a = {bg = palette.blue[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.fg1[1]}
},
terminal = {
a = {bg = palette.purple[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.fg1[1]}
},
inactive = {
a = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]},
b = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]}
}
}
else
theme = {
normal = {
a = {bg = palette.grey2[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.grey2[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]}
},
insert = {
a = {bg = palette.blue[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]}
},
visual = {
a = {bg = palette.orange[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.grey0[1], fg = palette.bg0[1]}
},
replace = {
a = {bg = palette.aqua[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]}
},
command = {
a = {bg = palette.green[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]}
},
terminal = {
a = {bg = palette.purple[1], fg = palette.bg0[1], gui = 'bold'},
b = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]},
c = {bg = palette.bg_statusline3[1], fg = palette.fg1[1]}
},
inactive = {
a = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]},
b = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]},
c = {bg = palette.bg_statusline2[1], fg = palette.grey2[1]}
}
}
end
return theme