forked from ellisonleao/gruvbox.nvim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpalette.lua
117 lines (109 loc) · 2.71 KB
/
palette.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
-- gruvbox palette
local M = {}
M.colors = {
dark0_hard = "#1d2021",
dark0 = "#282828",
dark0_soft = "#32302f",
dark1 = "#3c3836",
dark2 = "#504945",
dark3 = "#665c54",
dark4 = "#7c6f64",
light0_hard = "#f9f5d7",
light0 = "#fbf1c7",
light0_soft = "#f2e5bc",
light1 = "#ebdbb2",
light2 = "#d5c4a1",
light3 = "#bdae93",
light4 = "#a89984",
bright_red = "#fb4934",
bright_green = "#b8bb26",
bright_yellow = "#fabd2f",
bright_blue = "#83a598",
bright_purple = "#d3869b",
bright_aqua = "#8ec07c",
bright_orange = "#fe8019",
neutral_red = "#cc241d",
neutral_green = "#98971a",
neutral_yellow = "#d79921",
neutral_blue = "#458588",
neutral_purple = "#b16286",
neutral_aqua = "#689d6a",
neutral_orange = "#d65d0e",
faded_red = "#9d0006",
faded_green = "#79740e",
faded_yellow = "#b57614",
faded_blue = "#076678",
faded_purple = "#8f3f71",
faded_aqua = "#427b58",
faded_orange = "#af3a03",
gray = "#928374",
}
M.get_base_colors = function(bg, contrast)
local config = require("gruvbox").config
local p = M.colors
for color, hex in pairs(config.palette_overrides) do
p[color] = hex
end
if bg == nil then
bg = vim.o.background
end
local colors = {
dark = {
bg0 = p.dark0,
bg1 = p.dark1,
bg2 = p.dark2,
bg3 = p.dark3,
bg4 = p.dark4,
fg0 = p.light0,
fg1 = p.light1,
fg2 = p.light2,
fg3 = p.light3,
fg4 = p.light4,
red = p.bright_red,
green = p.bright_green,
yellow = p.bright_yellow,
blue = p.bright_blue,
purple = p.bright_purple,
aqua = p.bright_aqua,
orange = p.bright_orange,
neutral_red = p.neutral_red,
neutral_green = p.neutral_green,
neutral_yellow = p.neutral_yellow,
neutral_blue = p.neutral_blue,
neutral_purple = p.neutral_purple,
neutral_aqua = p.neutral_aqua,
gray = p.gray,
},
light = {
bg0 = p.light0,
bg1 = p.light1,
bg2 = p.light2,
bg3 = p.light3,
bg4 = p.light4,
fg0 = p.dark0,
fg1 = p.dark1,
fg2 = p.dark2,
fg3 = p.dark3,
fg4 = p.dark4,
red = p.faded_red,
green = p.faded_green,
yellow = p.faded_yellow,
blue = p.faded_blue,
purple = p.faded_purple,
aqua = p.faded_aqua,
orange = p.faded_orange,
neutral_red = p.neutral_red,
neutral_green = p.neutral_green,
neutral_yellow = p.neutral_yellow,
neutral_blue = p.neutral_blue,
neutral_purple = p.neutral_purple,
neutral_aqua = p.neutral_aqua,
gray = p.gray,
},
}
if contrast ~= nil and contrast ~= "" then
colors[bg].bg0 = p[bg .. string.format("0_%s", contrast)]
end
return colors[bg]
end
return M