summaryrefslogtreecommitdiff
path: root/.vim/pack/default/start/gruvbox
diff options
context:
space:
mode:
authorSam Chudnick <sam@chudnick.com>2023-06-11 07:54:59 -0400
committerSam Chudnick <sam@chudnick.com>2023-06-11 07:54:59 -0400
commit3adcf542289a0883924ae9b9be8b898c36702c95 (patch)
treef02166ef4c95161ffa994eb1a3e5729c93c2c66b /.vim/pack/default/start/gruvbox
parentdfcc303e7cc284a45f55bae81ed888dc256432b8 (diff)
Add some Vim plugins
Diffstat (limited to '.vim/pack/default/start/gruvbox')
-rw-r--r--.vim/pack/default/start/gruvbox/autoload/airline/themes/gruvbox.vim79
-rw-r--r--.vim/pack/default/start/gruvbox/autoload/gruvbox.vim41
-rw-r--r--.vim/pack/default/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim57
-rw-r--r--.vim/pack/default/start/gruvbox/colors/gruvbox.vim1418
-rwxr-xr-x.vim/pack/default/start/gruvbox/gruvbox_256palette.sh118
-rwxr-xr-x.vim/pack/default/start/gruvbox/gruvbox_256palette_osx.sh116
6 files changed, 1829 insertions, 0 deletions
diff --git a/.vim/pack/default/start/gruvbox/autoload/airline/themes/gruvbox.vim b/.vim/pack/default/start/gruvbox/autoload/airline/themes/gruvbox.vim
new file mode 100644
index 0000000..6862a81
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/autoload/airline/themes/gruvbox.vim
@@ -0,0 +1,79 @@
1" -----------------------------------------------------------------------------
2" File: gruvbox.vim
3" Description: Retro groove color scheme for Airline
4" Author: morhetz <morhetz@gmail.com>
5" Source: https://github.com/morhetz/gruvbox
6" Last Modified: 12 Aug 2017
7" -----------------------------------------------------------------------------
8
9let g:airline#themes#gruvbox#palette = {}
10
11function! airline#themes#gruvbox#refresh()
12
13 let M0 = airline#themes#get_highlight('Identifier')
14 let accents_group = airline#themes#get_highlight('Special')
15 let modified_group = [M0[0], '', M0[2], '', '']
16 let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
17 let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg'])
18
19 let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg'])
20 let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg'])
21 let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg'])
22 let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
23 let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group }
24 let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group
25 let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group
26 let g:airline#themes#gruvbox#palette.normal.airline_error = error_group
27 let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group
28
29 let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg'])
30 let s:I2 = s:N2
31 let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg'])
32 let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
33 let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified
34 let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
35 let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
36 let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
37 let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
38
39 let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg'])
40 let s:R2 = s:I2
41 let s:R3 = s:I3
42 let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
43 let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified
44 let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
45 let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
46 let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
47 let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
48
49 let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
50 let s:V2 = s:N2
51 let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg'])
52 let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
53 let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] }
54 let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
55 let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
56 let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
57 let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
58
59 let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg'])
60 let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
61 let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group }
62
63 let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group }
64
65 let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg'])
66 let g:airline#themes#gruvbox#palette.tabline = {
67 \ 'airline_tab': s:N2,
68 \ 'airline_tabsel': s:N1,
69 \ 'airline_tabtype': s:V1,
70 \ 'airline_tabfill': s:TF,
71 \ 'airline_tabhid': s:IA,
72 \ 'airline_tabmod': s:I1
73 \ }
74
75endfunction
76
77call airline#themes#gruvbox#refresh()
78
79" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/.vim/pack/default/start/gruvbox/autoload/gruvbox.vim b/.vim/pack/default/start/gruvbox/autoload/gruvbox.vim
new file mode 100644
index 0000000..44bec6e
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/autoload/gruvbox.vim
@@ -0,0 +1,41 @@
1" -----------------------------------------------------------------------------
2" File: gruvbox.vim
3" Description: Retro groove color scheme for Vim
4" Author: morhetz <morhetz@gmail.com>
5" Source: https://github.com/morhetz/gruvbox
6" Last Modified: 09 Apr 2014
7" -----------------------------------------------------------------------------
8
9function! gruvbox#invert_signs_toggle()
10 if g:gruvbox_invert_signs == 0
11 let g:gruvbox_invert_signs=1
12 else
13 let g:gruvbox_invert_signs=0
14 endif
15
16 colorscheme gruvbox
17endfunction
18
19" Search Highlighting {{{
20
21function! gruvbox#hls_show()
22 set hlsearch
23 call GruvboxHlsShowCursor()
24endfunction
25
26function! gruvbox#hls_hide()
27 set nohlsearch
28 call GruvboxHlsHideCursor()
29endfunction
30
31function! gruvbox#hls_toggle()
32 if &hlsearch
33 call gruvbox#hls_hide()
34 else
35 call gruvbox#hls_show()
36 endif
37endfunction
38
39" }}}
40
41" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/.vim/pack/default/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim b/.vim/pack/default/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim
new file mode 100644
index 0000000..4730c09
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim
@@ -0,0 +1,57 @@
1" -----------------------------------------------------------------------------
2" File: gruvbox.vim
3" Description: Gruvbox colorscheme for Lightline (itchyny/lightline.vim)
4" Author: gmoe <me@griffinmoe.com>
5" Source: https://github.com/morhetz/gruvbox
6" Last Modified: 20 Sep 2017
7" -----------------------------------------------------------------------------
8
9function! s:getGruvColor(group)
10 let guiColor = synIDattr(hlID(a:group), "fg", "gui")
11 let termColor = synIDattr(hlID(a:group), "fg", "cterm")
12 return [ guiColor, termColor ]
13endfunction
14
15if exists('g:lightline')
16
17 let s:bg0 = s:getGruvColor('GruvboxBg0')
18 let s:bg1 = s:getGruvColor('GruvboxBg1')
19 let s:bg2 = s:getGruvColor('GruvboxBg2')
20 let s:bg4 = s:getGruvColor('GruvboxBg4')
21 let s:fg1 = s:getGruvColor('GruvboxFg1')
22 let s:fg4 = s:getGruvColor('GruvboxFg4')
23
24 let s:yellow = s:getGruvColor('GruvboxYellow')
25 let s:blue = s:getGruvColor('GruvboxBlue')
26 let s:aqua = s:getGruvColor('GruvboxAqua')
27 let s:orange = s:getGruvColor('GruvboxOrange')
28 let s:green = s:getGruvColor('GruvboxGreen')
29
30 let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}, 'terminal':{}}
31 let s:p.normal.left = [ [ s:bg0, s:fg4, 'bold' ], [ s:fg4, s:bg2 ] ]
32 let s:p.normal.right = [ [ s:bg0, s:fg4 ], [ s:fg4, s:bg2 ] ]
33 let s:p.normal.middle = [ [ s:fg4, s:bg1 ] ]
34 let s:p.inactive.right = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ]
35 let s:p.inactive.left = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ]
36 let s:p.inactive.middle = [ [ s:bg4, s:bg1 ] ]
37 let s:p.insert.left = [ [ s:bg0, s:blue, 'bold' ], [ s:fg1, s:bg2 ] ]
38 let s:p.insert.right = [ [ s:bg0, s:blue ], [ s:fg1, s:bg2 ] ]
39 let s:p.insert.middle = [ [ s:fg4, s:bg2 ] ]
40 let s:p.terminal.left = [ [ s:bg0, s:green, 'bold' ], [ s:fg1, s:bg2 ] ]
41 let s:p.terminal.right = [ [ s:bg0, s:green ], [ s:fg1, s:bg2 ] ]
42 let s:p.terminal.middle = [ [ s:fg4, s:bg2 ] ]
43 let s:p.replace.left = [ [ s:bg0, s:aqua, 'bold' ], [ s:fg1, s:bg2 ] ]
44 let s:p.replace.right = [ [ s:bg0, s:aqua ], [ s:fg1, s:bg2 ] ]
45 let s:p.replace.middle = [ [ s:fg4, s:bg2 ] ]
46 let s:p.visual.left = [ [ s:bg0, s:orange, 'bold' ], [ s:bg0, s:bg4 ] ]
47 let s:p.visual.right = [ [ s:bg0, s:orange ], [ s:bg0, s:bg4 ] ]
48 let s:p.visual.middle = [ [ s:fg4, s:bg1 ] ]
49 let s:p.tabline.left = [ [ s:fg4, s:bg2 ] ]
50 let s:p.tabline.tabsel = [ [ s:bg0, s:fg4 ] ]
51 let s:p.tabline.middle = [ [ s:bg0, s:bg0 ] ]
52 let s:p.tabline.right = [ [ s:bg0, s:orange ] ]
53 let s:p.normal.error = [ [ s:bg0, s:orange ] ]
54 let s:p.normal.warning = [ [ s:bg2, s:yellow ] ]
55
56 let g:lightline#colorscheme#gruvbox#palette = lightline#colorscheme#flatten(s:p)
57endif
diff --git a/.vim/pack/default/start/gruvbox/colors/gruvbox.vim b/.vim/pack/default/start/gruvbox/colors/gruvbox.vim
new file mode 100644
index 0000000..66246fb
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/colors/gruvbox.vim
@@ -0,0 +1,1418 @@
1" -----------------------------------------------------------------------------
2" File: gruvbox.vim
3" Description: Retro groove color scheme for Vim
4" Author: morhetz <morhetz@gmail.com>
5" Source: https://github.com/morhetz/gruvbox
6" Last Modified: 12 Aug 2017
7" -----------------------------------------------------------------------------
8
9" Supporting code -------------------------------------------------------------
10" Initialisation: {{{
11
12if version > 580
13 hi clear
14 if exists("syntax_on")
15 syntax reset
16 endif
17endif
18
19let g:colors_name='gruvbox'
20
21if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
22 finish
23endif
24
25" }}}
26" Global Settings: {{{
27
28if !exists('g:gruvbox_bold')
29 let g:gruvbox_bold=1
30endif
31if !exists('g:gruvbox_italic')
32 if has('gui_running') || $TERM_ITALICS == 'true'
33 let g:gruvbox_italic=1
34 else
35 let g:gruvbox_italic=0
36 endif
37endif
38if !exists('g:gruvbox_undercurl')
39 let g:gruvbox_undercurl=1
40endif
41if !exists('g:gruvbox_underline')
42 let g:gruvbox_underline=1
43endif
44if !exists('g:gruvbox_inverse')
45 let g:gruvbox_inverse=1
46endif
47
48if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
49 let g:gruvbox_guisp_fallback='NONE'
50endif
51
52if !exists('g:gruvbox_improved_strings')
53 let g:gruvbox_improved_strings=0
54endif
55
56if !exists('g:gruvbox_improved_warnings')
57 let g:gruvbox_improved_warnings=0
58endif
59
60if !exists('g:gruvbox_termcolors')
61 let g:gruvbox_termcolors=256
62endif
63
64if !exists('g:gruvbox_invert_indent_guides')
65 let g:gruvbox_invert_indent_guides=0
66endif
67
68if exists('g:gruvbox_contrast')
69 echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
70endif
71
72if !exists('g:gruvbox_contrast_dark')
73 let g:gruvbox_contrast_dark='medium'
74endif
75
76if !exists('g:gruvbox_contrast_light')
77 let g:gruvbox_contrast_light='medium'
78endif
79
80let s:is_dark=(&background == 'dark')
81
82" }}}
83" Palette: {{{
84
85" setup palette dictionary
86let s:gb = {}
87
88" fill it with absolute colors
89let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
90let s:gb.dark0 = ['#282828', 235] " 40-40-40
91let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
92let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
93let s:gb.dark2 = ['#504945', 239] " 80-73-69
94let s:gb.dark3 = ['#665c54', 241] " 102-92-84
95let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
96let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
97
98let s:gb.gray_245 = ['#928374', 245] " 146-131-116
99let s:gb.gray_244 = ['#928374', 244] " 146-131-116
100
101let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
102let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193
103let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
104let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
105let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
106let s:gb.light3 = ['#bdae93', 248] " 189-174-147
107let s:gb.light4 = ['#a89984', 246] " 168-153-132
108let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
109
110let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
111let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
112let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
113let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
114let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
115let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
116let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
117
118let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
119let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
120let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
121let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
122let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
123let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
124let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
125
126let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
127let s:gb.faded_green = ['#79740e', 100] " 121-116-14
128let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
129let s:gb.faded_blue = ['#076678', 24] " 7-102-120
130let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
131let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
132let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
133
134" }}}
135" Setup Emphasis: {{{
136
137let s:bold = 'bold,'
138if g:gruvbox_bold == 0
139 let s:bold = ''
140endif
141
142let s:italic = 'italic,'
143if g:gruvbox_italic == 0
144 let s:italic = ''
145endif
146
147let s:underline = 'underline,'
148if g:gruvbox_underline == 0
149 let s:underline = ''
150endif
151
152let s:undercurl = 'undercurl,'
153if g:gruvbox_undercurl == 0
154 let s:undercurl = ''
155endif
156
157let s:inverse = 'inverse,'
158if g:gruvbox_inverse == 0
159 let s:inverse = ''
160endif
161
162" }}}
163" Setup Colors: {{{
164
165let s:vim_bg = ['bg', 'bg']
166let s:vim_fg = ['fg', 'fg']
167let s:none = ['NONE', 'NONE']
168
169" determine relative colors
170if s:is_dark
171 let s:bg0 = s:gb.dark0
172 if g:gruvbox_contrast_dark == 'soft'
173 let s:bg0 = s:gb.dark0_soft
174 elseif g:gruvbox_contrast_dark == 'hard'
175 let s:bg0 = s:gb.dark0_hard
176 endif
177
178 let s:bg1 = s:gb.dark1
179 let s:bg2 = s:gb.dark2
180 let s:bg3 = s:gb.dark3
181 let s:bg4 = s:gb.dark4
182
183 let s:gray = s:gb.gray_245
184
185 let s:fg0 = s:gb.light0
186 let s:fg1 = s:gb.light1
187 let s:fg2 = s:gb.light2
188 let s:fg3 = s:gb.light3
189 let s:fg4 = s:gb.light4
190
191 let s:fg4_256 = s:gb.light4_256
192
193 let s:red = s:gb.bright_red
194 let s:green = s:gb.bright_green
195 let s:yellow = s:gb.bright_yellow
196 let s:blue = s:gb.bright_blue
197 let s:purple = s:gb.bright_purple
198 let s:aqua = s:gb.bright_aqua
199 let s:orange = s:gb.bright_orange
200else
201 let s:bg0 = s:gb.light0
202 if g:gruvbox_contrast_light == 'soft'
203 let s:bg0 = s:gb.light0_soft
204 elseif g:gruvbox_contrast_light == 'hard'
205 let s:bg0 = s:gb.light0_hard
206 endif
207
208 let s:bg1 = s:gb.light1
209 let s:bg2 = s:gb.light2
210 let s:bg3 = s:gb.light3
211 let s:bg4 = s:gb.light4
212
213 let s:gray = s:gb.gray_244
214
215 let s:fg0 = s:gb.dark0
216 let s:fg1 = s:gb.dark1
217 let s:fg2 = s:gb.dark2
218 let s:fg3 = s:gb.dark3
219 let s:fg4 = s:gb.dark4
220
221 let s:fg4_256 = s:gb.dark4_256
222
223 let s:red = s:gb.faded_red
224 let s:green = s:gb.faded_green
225 let s:yellow = s:gb.faded_yellow
226 let s:blue = s:gb.faded_blue
227 let s:purple = s:gb.faded_purple
228 let s:aqua = s:gb.faded_aqua
229 let s:orange = s:gb.faded_orange
230endif
231
232" reset to 16 colors fallback
233if g:gruvbox_termcolors == 16
234 let s:bg0[1] = 0
235 let s:fg4[1] = 7
236 let s:gray[1] = 8
237 let s:red[1] = 9
238 let s:green[1] = 10
239 let s:yellow[1] = 11
240 let s:blue[1] = 12
241 let s:purple[1] = 13
242 let s:aqua[1] = 14
243 let s:fg1[1] = 15
244endif
245
246" save current relative colors back to palette dictionary
247let s:gb.bg0 = s:bg0
248let s:gb.bg1 = s:bg1
249let s:gb.bg2 = s:bg2
250let s:gb.bg3 = s:bg3
251let s:gb.bg4 = s:bg4
252
253let s:gb.gray = s:gray
254
255let s:gb.fg0 = s:fg0
256let s:gb.fg1 = s:fg1
257let s:gb.fg2 = s:fg2
258let s:gb.fg3 = s:fg3
259let s:gb.fg4 = s:fg4
260
261let s:gb.fg4_256 = s:fg4_256
262
263let s:gb.red = s:red
264let s:gb.green = s:green
265let s:gb.yellow = s:yellow
266let s:gb.blue = s:blue
267let s:gb.purple = s:purple
268let s:gb.aqua = s:aqua
269let s:gb.orange = s:orange
270
271" }}}
272" Setup Terminal Colors For Neovim: {{{
273
274if has('nvim')
275 let g:terminal_color_0 = s:bg0[0]
276 let g:terminal_color_8 = s:gray[0]
277
278 let g:terminal_color_1 = s:gb.neutral_red[0]
279 let g:terminal_color_9 = s:red[0]
280
281 let g:terminal_color_2 = s:gb.neutral_green[0]
282 let g:terminal_color_10 = s:green[0]
283
284 let g:terminal_color_3 = s:gb.neutral_yellow[0]
285 let g:terminal_color_11 = s:yellow[0]
286
287 let g:terminal_color_4 = s:gb.neutral_blue[0]
288 let g:terminal_color_12 = s:blue[0]
289
290 let g:terminal_color_5 = s:gb.neutral_purple[0]
291 let g:terminal_color_13 = s:purple[0]
292
293 let g:terminal_color_6 = s:gb.neutral_aqua[0]
294 let g:terminal_color_14 = s:aqua[0]
295
296 let g:terminal_color_7 = s:fg4[0]
297 let g:terminal_color_15 = s:fg1[0]
298endif
299
300" }}}
301" Overload Setting: {{{
302
303let s:hls_cursor = s:orange
304if exists('g:gruvbox_hls_cursor')
305 let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
306endif
307
308let s:number_column = s:none
309if exists('g:gruvbox_number_column')
310 let s:number_column = get(s:gb, g:gruvbox_number_column)
311endif
312
313let s:sign_column = s:bg1
314
315if exists('g:gitgutter_override_sign_column_highlight') &&
316 \ g:gitgutter_override_sign_column_highlight == 1
317 let s:sign_column = s:number_column
318else
319 let g:gitgutter_override_sign_column_highlight = 0
320
321 if exists('g:gruvbox_sign_column')
322 let s:sign_column = get(s:gb, g:gruvbox_sign_column)
323 endif
324endif
325
326let s:color_column = s:bg1
327if exists('g:gruvbox_color_column')
328 let s:color_column = get(s:gb, g:gruvbox_color_column)
329endif
330
331let s:vert_split = s:bg0
332if exists('g:gruvbox_vert_split')
333 let s:vert_split = get(s:gb, g:gruvbox_vert_split)
334endif
335
336let s:invert_signs = ''
337if exists('g:gruvbox_invert_signs')
338 if g:gruvbox_invert_signs == 1
339 let s:invert_signs = s:inverse
340 endif
341endif
342
343let s:invert_selection = s:inverse
344if exists('g:gruvbox_invert_selection')
345 if g:gruvbox_invert_selection == 0
346 let s:invert_selection = ''
347 endif
348endif
349
350let s:invert_tabline = ''
351if exists('g:gruvbox_invert_tabline')
352 if g:gruvbox_invert_tabline == 1
353 let s:invert_tabline = s:inverse
354 endif
355endif
356
357let s:italicize_comments = s:italic
358if exists('g:gruvbox_italicize_comments')
359 if g:gruvbox_italicize_comments == 0
360 let s:italicize_comments = ''
361 endif
362endif
363
364let s:italicize_strings = ''
365if exists('g:gruvbox_italicize_strings')
366 if g:gruvbox_italicize_strings == 1
367 let s:italicize_strings = s:italic
368 endif
369endif
370
371" }}}
372" Highlighting Function: {{{
373
374function! s:HL(group, fg, ...)
375 " Arguments: group, guifg, guibg, gui, guisp
376
377 " foreground
378 let fg = a:fg
379
380 " background
381 if a:0 >= 1
382 let bg = a:1
383 else
384 let bg = s:none
385 endif
386
387 " emphasis
388 if a:0 >= 2 && strlen(a:2)
389 let emstr = a:2
390 else
391 let emstr = 'NONE,'
392 endif
393
394 " special fallback
395 if a:0 >= 3
396 if g:gruvbox_guisp_fallback != 'NONE'
397 let fg = a:3
398 endif
399
400 " bg fallback mode should invert higlighting
401 if g:gruvbox_guisp_fallback == 'bg'
402 let emstr .= 'inverse,'
403 endif
404 endif
405
406 let histring = [ 'hi', a:group,
407 \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
408 \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
409 \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
410 \ ]
411
412 " special
413 if a:0 >= 3
414 call add(histring, 'guisp=' . a:3[0])
415 endif
416
417 execute join(histring, ' ')
418endfunction
419
420" }}}
421" Gruvbox Hi Groups: {{{
422
423" memoize common hi groups
424call s:HL('GruvboxFg0', s:fg0)
425call s:HL('GruvboxFg1', s:fg1)
426call s:HL('GruvboxFg2', s:fg2)
427call s:HL('GruvboxFg3', s:fg3)
428call s:HL('GruvboxFg4', s:fg4)
429call s:HL('GruvboxGray', s:gray)
430call s:HL('GruvboxBg0', s:bg0)
431call s:HL('GruvboxBg1', s:bg1)
432call s:HL('GruvboxBg2', s:bg2)
433call s:HL('GruvboxBg3', s:bg3)
434call s:HL('GruvboxBg4', s:bg4)
435
436call s:HL('GruvboxRed', s:red)
437call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
438call s:HL('GruvboxGreen', s:green)
439call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
440call s:HL('GruvboxYellow', s:yellow)
441call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
442call s:HL('GruvboxBlue', s:blue)
443call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
444call s:HL('GruvboxPurple', s:purple)
445call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
446call s:HL('GruvboxAqua', s:aqua)
447call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
448call s:HL('GruvboxOrange', s:orange)
449call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
450
451call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
452call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
453call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
454call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
455call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
456call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
457call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs)
458
459" }}}
460
461" Vanilla colorscheme ---------------------------------------------------------
462" General UI: {{{
463
464" Normal text
465call s:HL('Normal', s:fg1, s:bg0)
466
467" Correct background (see issue #7):
468" --- Problem with changing between dark and light on 256 color terminal
469" --- https://github.com/morhetz/gruvbox/issues/7
470if s:is_dark
471 set background=dark
472else
473 set background=light
474endif
475
476if version >= 700
477 " Screen line that the cursor is
478 call s:HL('CursorLine', s:none, s:bg1)
479 " Screen column that the cursor is
480 hi! link CursorColumn CursorLine
481
482 " Tab pages line filler
483 call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)
484 " Active tab page label
485 call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)
486 " Not active tab page label
487 hi! link TabLine TabLineFill
488
489 " Match paired bracket under the cursor
490 call s:HL('MatchParen', s:none, s:bg3, s:bold)
491endif
492
493if version >= 703
494 " Highlighted screen columns
495 call s:HL('ColorColumn', s:none, s:color_column)
496
497 " Concealed element: \lambda → λ
498 call s:HL('Conceal', s:blue, s:none)
499
500 " Line number of CursorLine
501 call s:HL('CursorLineNr', s:yellow, s:bg1)
502endif
503
504hi! link NonText GruvboxBg2
505hi! link SpecialKey GruvboxBg2
506
507call s:HL('Visual', s:none, s:bg3, s:invert_selection)
508hi! link VisualNOS Visual
509
510call s:HL('Search', s:yellow, s:bg0, s:inverse)
511call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)
512
513call s:HL('Underlined', s:blue, s:none, s:underline)
514
515call s:HL('StatusLine', s:bg2, s:fg1, s:inverse)
516call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)
517
518" The column separating vertically split windows
519call s:HL('VertSplit', s:bg3, s:vert_split)
520
521" Current match in wildmenu completion
522call s:HL('WildMenu', s:blue, s:bg2, s:bold)
523
524" Directory names, special names in listing
525hi! link Directory GruvboxGreenBold
526
527" Titles for output from :set all, :autocmd, etc.
528hi! link Title GruvboxGreenBold
529
530" Error messages on the command line
531call s:HL('ErrorMsg', s:bg0, s:red, s:bold)
532" More prompt: -- More --
533hi! link MoreMsg GruvboxYellowBold
534" Current mode message: -- INSERT --
535hi! link ModeMsg GruvboxYellowBold
536" 'Press enter' prompt and yes/no questions
537hi! link Question GruvboxOrangeBold
538" Warning messages
539hi! link WarningMsg GruvboxRedBold
540
541" }}}
542" Gutter: {{{
543
544" Line number for :number and :# commands
545call s:HL('LineNr', s:bg4, s:number_column)
546
547" Column where signs are displayed
548call s:HL('SignColumn', s:none, s:sign_column)
549
550" Line used for closed folds
551call s:HL('Folded', s:gray, s:bg1, s:italic)
552" Column where folds are displayed
553call s:HL('FoldColumn', s:gray, s:bg1)
554
555" }}}
556" Cursor: {{{
557
558" Character under cursor
559call s:HL('Cursor', s:none, s:none, s:inverse)
560" Visual mode cursor, selection
561hi! link vCursor Cursor
562" Input moder cursor
563hi! link iCursor Cursor
564" Language mapping cursor
565hi! link lCursor Cursor
566
567" }}}
568" Syntax Highlighting: {{{
569
570if g:gruvbox_improved_strings == 0
571 hi! link Special GruvboxOrange
572else
573 call s:HL('Special', s:orange, s:bg1, s:italicize_strings)
574endif
575
576call s:HL('Comment', s:gray, s:none, s:italicize_comments)
577call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
578call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
579
580" Generic statement
581hi! link Statement GruvboxRed
582" if, then, else, endif, swicth, etc.
583hi! link Conditional GruvboxRed
584" for, do, while, etc.
585hi! link Repeat GruvboxRed
586" case, default, etc.
587hi! link Label GruvboxRed
588" try, catch, throw
589hi! link Exception GruvboxRed
590" sizeof, "+", "*", etc.
591hi! link Operator Normal
592" Any other keyword
593hi! link Keyword GruvboxRed
594
595" Variable name
596hi! link Identifier GruvboxBlue
597" Function name
598hi! link Function GruvboxGreenBold
599
600" Generic preprocessor
601hi! link PreProc GruvboxAqua
602" Preprocessor #include
603hi! link Include GruvboxAqua
604" Preprocessor #define
605hi! link Define GruvboxAqua
606" Same as Define
607hi! link Macro GruvboxAqua
608" Preprocessor #if, #else, #endif, etc.
609hi! link PreCondit GruvboxAqua
610
611" Generic constant
612hi! link Constant GruvboxPurple
613" Character constant: 'c', '/n'
614hi! link Character GruvboxPurple
615" String constant: "this is a string"
616if g:gruvbox_improved_strings == 0
617 call s:HL('String', s:green, s:none, s:italicize_strings)
618else
619 call s:HL('String', s:fg1, s:bg1, s:italicize_strings)
620endif
621" Boolean constant: TRUE, false
622hi! link Boolean GruvboxPurple
623" Number constant: 234, 0xff
624hi! link Number GruvboxPurple
625" Floating point constant: 2.3e10
626hi! link Float GruvboxPurple
627
628" Generic type
629hi! link Type GruvboxYellow
630" static, register, volatile, etc
631hi! link StorageClass GruvboxOrange
632" struct, union, enum, etc.
633hi! link Structure GruvboxAqua
634" typedef
635hi! link Typedef GruvboxYellow
636
637" }}}
638" Completion Menu: {{{
639
640if version >= 700
641 " Popup menu: normal item
642 call s:HL('Pmenu', s:fg1, s:bg2)
643 " Popup menu: selected item
644 call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
645 " Popup menu: scrollbar
646 call s:HL('PmenuSbar', s:none, s:bg2)
647 " Popup menu: scrollbar thumb
648 call s:HL('PmenuThumb', s:none, s:bg4)
649endif
650
651" }}}
652" Diffs: {{{
653
654call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
655call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
656"call s:HL('DiffChange', s:bg0, s:blue)
657"call s:HL('DiffText', s:bg0, s:yellow)
658
659" Alternative setting
660call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
661call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
662
663" }}}
664" Spelling: {{{
665
666if has("spell")
667 " Not capitalised word, or compile warnings
668 if g:gruvbox_improved_warnings == 0
669 call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
670 else
671 call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
672 endif
673 " Not recognized word
674 call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
675 " Wrong spelling for selected region
676 call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
677 " Rare word
678 call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
679endif
680
681" }}}
682
683" Plugin specific -------------------------------------------------------------
684" EasyMotion: {{{
685
686hi! link EasyMotionTarget Search
687hi! link EasyMotionShade Comment
688
689" }}}
690" Sneak: {{{
691
692hi! link Sneak Search
693hi! link SneakLabel Search
694
695" }}}
696" Indent Guides: {{{
697
698if !exists('g:indent_guides_auto_colors')
699 let g:indent_guides_auto_colors = 0
700endif
701
702if g:indent_guides_auto_colors == 0
703 if g:gruvbox_invert_indent_guides == 0
704 call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
705 call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
706 else
707 call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
708 call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
709 endif
710endif
711
712" }}}
713" IndentLine: {{{
714
715if !exists('g:indentLine_color_term')
716 let g:indentLine_color_term = s:bg2[1]
717endif
718if !exists('g:indentLine_color_gui')
719 let g:indentLine_color_gui = s:bg2[0]
720endif
721
722" }}}
723" Rainbow Parentheses: {{{
724
725if !exists('g:rbpt_colorpairs')
726 let g:rbpt_colorpairs =
727 \ [
728 \ ['blue', '#458588'], ['magenta', '#b16286'],
729 \ ['red', '#cc241d'], ['166', '#d65d0e']
730 \ ]
731endif
732
733let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
734let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
735
736if !exists('g:rainbow_conf')
737 let g:rainbow_conf = {}
738endif
739if !has_key(g:rainbow_conf, 'guifgs')
740 let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
741endif
742if !has_key(g:rainbow_conf, 'ctermfgs')
743 let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
744endif
745
746let g:niji_dark_colours = g:rbpt_colorpairs
747let g:niji_light_colours = g:rbpt_colorpairs
748
749"}}}
750" GitGutter: {{{
751
752hi! link GitGutterAdd GruvboxGreenSign
753hi! link GitGutterChange GruvboxAquaSign
754hi! link GitGutterDelete GruvboxRedSign
755hi! link GitGutterChangeDelete GruvboxAquaSign
756
757" }}}
758" GitCommit: "{{{
759
760hi! link gitcommitSelectedFile GruvboxGreen
761hi! link gitcommitDiscardedFile GruvboxRed
762
763" }}}
764" Signify: {{{
765
766hi! link SignifySignAdd GruvboxGreenSign
767hi! link SignifySignChange GruvboxAquaSign
768hi! link SignifySignDelete GruvboxRedSign
769
770" }}}
771" Syntastic: {{{
772
773call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
774call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
775
776hi! link SyntasticErrorSign GruvboxRedSign
777hi! link SyntasticWarningSign GruvboxYellowSign
778
779" }}}
780" Signature: {{{
781hi! link SignatureMarkText GruvboxBlueSign
782hi! link SignatureMarkerText GruvboxPurpleSign
783
784" }}}
785" ShowMarks: {{{
786
787hi! link ShowMarksHLl GruvboxBlueSign
788hi! link ShowMarksHLu GruvboxBlueSign
789hi! link ShowMarksHLo GruvboxBlueSign
790hi! link ShowMarksHLm GruvboxBlueSign
791
792" }}}
793" CtrlP: {{{
794
795hi! link CtrlPMatch GruvboxYellow
796hi! link CtrlPNoEntries GruvboxRed
797hi! link CtrlPPrtBase GruvboxBg2
798hi! link CtrlPPrtCursor GruvboxBlue
799hi! link CtrlPLinePre GruvboxBg2
800
801call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
802call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
803call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
804
805" }}}
806" Startify: {{{
807
808hi! link StartifyBracket GruvboxFg3
809hi! link StartifyFile GruvboxFg1
810hi! link StartifyNumber GruvboxBlue
811hi! link StartifyPath GruvboxGray
812hi! link StartifySlash GruvboxGray
813hi! link StartifySection GruvboxYellow
814hi! link StartifySpecial GruvboxBg2
815hi! link StartifyHeader GruvboxOrange
816hi! link StartifyFooter GruvboxBg2
817
818" }}}
819" Vimshell: {{{
820
821let g:vimshell_escape_colors = [
822 \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
823 \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
824 \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
825 \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
826 \ ]
827
828" }}}
829" BufTabLine: {{{
830
831call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
832call s:HL('BufTabLineActive', s:fg4, s:bg2)
833call s:HL('BufTabLineHidden', s:bg4, s:bg1)
834call s:HL('BufTabLineFill', s:bg0, s:bg0)
835
836" }}}
837" Asynchronous Lint Engine: {{{
838
839call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
840call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
841call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
842
843hi! link ALEErrorSign GruvboxRedSign
844hi! link ALEWarningSign GruvboxYellowSign
845hi! link ALEInfoSign GruvboxBlueSign
846
847" }}}
848" Dirvish: {{{
849
850hi! link DirvishPathTail GruvboxAqua
851hi! link DirvishArg GruvboxYellow
852
853" }}}
854" Netrw: {{{
855
856hi! link netrwDir GruvboxAqua
857hi! link netrwClassify GruvboxAqua
858hi! link netrwLink GruvboxGray
859hi! link netrwSymLink GruvboxFg1
860hi! link netrwExe GruvboxYellow
861hi! link netrwComment GruvboxGray
862hi! link netrwList GruvboxBlue
863hi! link netrwHelpCmd GruvboxAqua
864hi! link netrwCmdSep GruvboxFg3
865hi! link netrwVersion GruvboxGreen
866
867" }}}
868" NERDTree: {{{
869
870hi! link NERDTreeDir GruvboxAqua
871hi! link NERDTreeDirSlash GruvboxAqua
872
873hi! link NERDTreeOpenable GruvboxOrange
874hi! link NERDTreeClosable GruvboxOrange
875
876hi! link NERDTreeFile GruvboxFg1
877hi! link NERDTreeExecFile GruvboxYellow
878
879hi! link NERDTreeUp GruvboxGray
880hi! link NERDTreeCWD GruvboxGreen
881hi! link NERDTreeHelp GruvboxFg1
882
883hi! link NERDTreeToggleOn GruvboxGreen
884hi! link NERDTreeToggleOff GruvboxRed
885
886" }}}
887" Vim Multiple Cursors: {{{
888
889call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)
890call s:HL('multiple_cursors_visual', s:none, s:bg2)
891
892" }}}
893" coc.nvim: {{{
894
895hi! link CocErrorSign GruvboxRedSign
896hi! link CocWarningSign GruvboxOrangeSign
897hi! link CocInfoSign GruvboxYellowSign
898hi! link CocHintSign GruvboxBlueSign
899hi! link CocErrorFloat GruvboxRed
900hi! link CocWarningFloat GruvboxOrange
901hi! link CocInfoFloat GruvboxYellow
902hi! link CocHintFloat GruvboxBlue
903hi! link CocDiagnosticsError GruvboxRed
904hi! link CocDiagnosticsWarning GruvboxOrange
905hi! link CocDiagnosticsInfo GruvboxYellow
906hi! link CocDiagnosticsHint GruvboxBlue
907
908hi! link CocSelectedText GruvboxRed
909hi! link CocCodeLens GruvboxGray
910
911call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
912call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange)
913call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
914call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
915
916" }}}
917
918" Filetype specific -----------------------------------------------------------
919" Diff: {{{
920
921hi! link diffAdded GruvboxGreen
922hi! link diffRemoved GruvboxRed
923hi! link diffChanged GruvboxAqua
924
925hi! link diffFile GruvboxOrange
926hi! link diffNewFile GruvboxYellow
927
928hi! link diffLine GruvboxBlue
929
930" }}}
931" Html: {{{
932
933hi! link htmlTag GruvboxBlue
934hi! link htmlEndTag GruvboxBlue
935
936hi! link htmlTagName GruvboxAquaBold
937hi! link htmlArg GruvboxAqua
938
939hi! link htmlScriptTag GruvboxPurple
940hi! link htmlTagN GruvboxFg1
941hi! link htmlSpecialTagName GruvboxAquaBold
942
943call s:HL('htmlLink', s:fg4, s:none, s:underline)
944
945hi! link htmlSpecialChar GruvboxOrange
946
947call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
948call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
949call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
950call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
951
952call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
953call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
954call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
955
956" }}}
957" Xml: {{{
958
959hi! link xmlTag GruvboxBlue
960hi! link xmlEndTag GruvboxBlue
961hi! link xmlTagName GruvboxBlue
962hi! link xmlEqual GruvboxBlue
963hi! link docbkKeyword GruvboxAquaBold
964
965hi! link xmlDocTypeDecl GruvboxGray
966hi! link xmlDocTypeKeyword GruvboxPurple
967hi! link xmlCdataStart GruvboxGray
968hi! link xmlCdataCdata GruvboxPurple
969hi! link dtdFunction GruvboxGray
970hi! link dtdTagName GruvboxPurple
971
972hi! link xmlAttrib GruvboxAqua
973hi! link xmlProcessingDelim GruvboxGray
974hi! link dtdParamEntityPunct GruvboxGray
975hi! link dtdParamEntityDPunct GruvboxGray
976hi! link xmlAttribPunct GruvboxGray
977
978hi! link xmlEntity GruvboxOrange
979hi! link xmlEntityPunct GruvboxOrange
980" }}}
981" Vim: {{{
982
983call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
984
985hi! link vimNotation GruvboxOrange
986hi! link vimBracket GruvboxOrange
987hi! link vimMapModKey GruvboxOrange
988hi! link vimFuncSID GruvboxFg3
989hi! link vimSetSep GruvboxFg3
990hi! link vimSep GruvboxFg3
991hi! link vimContinue GruvboxFg3
992
993" }}}
994" Clojure: {{{
995
996hi! link clojureKeyword GruvboxBlue
997hi! link clojureCond GruvboxOrange
998hi! link clojureSpecial GruvboxOrange
999hi! link clojureDefine GruvboxOrange
1000
1001hi! link clojureFunc GruvboxYellow
1002hi! link clojureRepeat GruvboxYellow
1003hi! link clojureCharacter GruvboxAqua
1004hi! link clojureStringEscape GruvboxAqua
1005hi! link clojureException GruvboxRed
1006
1007hi! link clojureRegexp GruvboxAqua
1008hi! link clojureRegexpEscape GruvboxAqua
1009call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
1010hi! link clojureRegexpMod clojureRegexpCharClass
1011hi! link clojureRegexpQuantifier clojureRegexpCharClass
1012
1013hi! link clojureParen GruvboxFg3
1014hi! link clojureAnonArg GruvboxYellow
1015hi! link clojureVariable GruvboxBlue
1016hi! link clojureMacro GruvboxOrange
1017
1018hi! link clojureMeta GruvboxYellow
1019hi! link clojureDeref GruvboxYellow
1020hi! link clojureQuote GruvboxYellow
1021hi! link clojureUnquote GruvboxYellow
1022
1023" }}}
1024" C: {{{
1025
1026hi! link cOperator GruvboxPurple
1027hi! link cStructure GruvboxOrange
1028
1029" }}}
1030" Python: {{{
1031
1032hi! link pythonBuiltin GruvboxOrange
1033hi! link pythonBuiltinObj GruvboxOrange
1034hi! link pythonBuiltinFunc GruvboxOrange
1035hi! link pythonFunction GruvboxAqua
1036hi! link pythonDecorator GruvboxRed
1037hi! link pythonInclude GruvboxBlue
1038hi! link pythonImport GruvboxBlue
1039hi! link pythonRun GruvboxBlue
1040hi! link pythonCoding GruvboxBlue
1041hi! link pythonOperator GruvboxRed
1042hi! link pythonException GruvboxRed
1043hi! link pythonExceptions GruvboxPurple
1044hi! link pythonBoolean GruvboxPurple
1045hi! link pythonDot GruvboxFg3
1046hi! link pythonConditional GruvboxRed
1047hi! link pythonRepeat GruvboxRed
1048hi! link pythonDottedName GruvboxGreenBold
1049
1050" }}}
1051" CSS: {{{
1052
1053hi! link cssBraces GruvboxBlue
1054hi! link cssFunctionName GruvboxYellow
1055hi! link cssIdentifier GruvboxOrange
1056hi! link cssClassName GruvboxGreen
1057hi! link cssColor GruvboxBlue
1058hi! link cssSelectorOp GruvboxBlue
1059hi! link cssSelectorOp2 GruvboxBlue
1060hi! link cssImportant GruvboxGreen
1061hi! link cssVendor GruvboxFg1
1062
1063hi! link cssTextProp GruvboxAqua
1064hi! link cssAnimationProp GruvboxAqua
1065hi! link cssUIProp GruvboxYellow
1066hi! link cssTransformProp GruvboxAqua
1067hi! link cssTransitionProp GruvboxAqua
1068hi! link cssPrintProp GruvboxAqua
1069hi! link cssPositioningProp GruvboxYellow
1070hi! link cssBoxProp GruvboxAqua
1071hi! link cssFontDescriptorProp GruvboxAqua
1072hi! link cssFlexibleBoxProp GruvboxAqua
1073hi! link cssBorderOutlineProp GruvboxAqua
1074hi! link cssBackgroundProp GruvboxAqua
1075hi! link cssMarginProp GruvboxAqua
1076hi! link cssListProp GruvboxAqua
1077hi! link cssTableProp GruvboxAqua
1078hi! link cssFontProp GruvboxAqua
1079hi! link cssPaddingProp GruvboxAqua
1080hi! link cssDimensionProp GruvboxAqua
1081hi! link cssRenderProp GruvboxAqua
1082hi! link cssColorProp GruvboxAqua
1083hi! link cssGeneratedContentProp GruvboxAqua
1084
1085" }}}
1086" JavaScript: {{{
1087
1088hi! link javaScriptBraces GruvboxFg1
1089hi! link javaScriptFunction GruvboxAqua
1090hi! link javaScriptIdentifier GruvboxRed
1091hi! link javaScriptMember GruvboxBlue
1092hi! link javaScriptNumber GruvboxPurple
1093hi! link javaScriptNull GruvboxPurple
1094hi! link javaScriptParens GruvboxFg3
1095
1096" }}}
1097" YAJS: {{{
1098
1099hi! link javascriptImport GruvboxAqua
1100hi! link javascriptExport GruvboxAqua
1101hi! link javascriptClassKeyword GruvboxAqua
1102hi! link javascriptClassExtends GruvboxAqua
1103hi! link javascriptDefault GruvboxAqua
1104
1105hi! link javascriptClassName GruvboxYellow
1106hi! link javascriptClassSuperName GruvboxYellow
1107hi! link javascriptGlobal GruvboxYellow
1108
1109hi! link javascriptEndColons GruvboxFg1
1110hi! link javascriptFuncArg GruvboxFg1
1111hi! link javascriptGlobalMethod GruvboxFg1
1112hi! link javascriptNodeGlobal GruvboxFg1
1113hi! link javascriptBOMWindowProp GruvboxFg1
1114hi! link javascriptArrayMethod GruvboxFg1
1115hi! link javascriptArrayStaticMethod GruvboxFg1
1116hi! link javascriptCacheMethod GruvboxFg1
1117hi! link javascriptDateMethod GruvboxFg1
1118hi! link javascriptMathStaticMethod GruvboxFg1
1119
1120" hi! link javascriptProp GruvboxFg1
1121hi! link javascriptURLUtilsProp GruvboxFg1
1122hi! link javascriptBOMNavigatorProp GruvboxFg1
1123hi! link javascriptDOMDocMethod GruvboxFg1
1124hi! link javascriptDOMDocProp GruvboxFg1
1125hi! link javascriptBOMLocationMethod GruvboxFg1
1126hi! link javascriptBOMWindowMethod GruvboxFg1
1127hi! link javascriptStringMethod GruvboxFg1
1128
1129hi! link javascriptVariable GruvboxOrange
1130" hi! link javascriptVariable GruvboxRed
1131" hi! link javascriptIdentifier GruvboxOrange
1132" hi! link javascriptClassSuper GruvboxOrange
1133hi! link javascriptIdentifier GruvboxOrange
1134hi! link javascriptClassSuper GruvboxOrange
1135
1136" hi! link javascriptFuncKeyword GruvboxOrange
1137" hi! link javascriptAsyncFunc GruvboxOrange
1138hi! link javascriptFuncKeyword GruvboxAqua
1139hi! link javascriptAsyncFunc GruvboxAqua
1140hi! link javascriptClassStatic GruvboxOrange
1141
1142hi! link javascriptOperator GruvboxRed
1143hi! link javascriptForOperator GruvboxRed
1144hi! link javascriptYield GruvboxRed
1145hi! link javascriptExceptions GruvboxRed
1146hi! link javascriptMessage GruvboxRed
1147
1148hi! link javascriptTemplateSB GruvboxAqua
1149hi! link javascriptTemplateSubstitution GruvboxFg1
1150
1151" hi! link javascriptLabel GruvboxBlue
1152" hi! link javascriptObjectLabel GruvboxBlue
1153" hi! link javascriptPropertyName GruvboxBlue
1154hi! link javascriptLabel GruvboxFg1
1155hi! link javascriptObjectLabel GruvboxFg1
1156hi! link javascriptPropertyName GruvboxFg1
1157
1158hi! link javascriptLogicSymbols GruvboxFg1
1159hi! link javascriptArrowFunc GruvboxYellow
1160
1161hi! link javascriptDocParamName GruvboxFg4
1162hi! link javascriptDocTags GruvboxFg4
1163hi! link javascriptDocNotation GruvboxFg4
1164hi! link javascriptDocParamType GruvboxFg4
1165hi! link javascriptDocNamedParamType GruvboxFg4
1166
1167hi! link javascriptBrackets GruvboxFg1
1168hi! link javascriptDOMElemAttrs GruvboxFg1
1169hi! link javascriptDOMEventMethod GruvboxFg1
1170hi! link javascriptDOMNodeMethod GruvboxFg1
1171hi! link javascriptDOMStorageMethod GruvboxFg1
1172hi! link javascriptHeadersMethod GruvboxFg1
1173
1174hi! link javascriptAsyncFuncKeyword GruvboxRed
1175hi! link javascriptAwaitFuncKeyword GruvboxRed
1176
1177" }}}
1178" PanglossJS: {{{
1179
1180hi! link jsClassKeyword GruvboxAqua
1181hi! link jsExtendsKeyword GruvboxAqua
1182hi! link jsExportDefault GruvboxAqua
1183hi! link jsTemplateBraces GruvboxAqua
1184hi! link jsGlobalNodeObjects GruvboxFg1
1185hi! link jsGlobalObjects GruvboxFg1
1186hi! link jsFunction GruvboxAqua
1187hi! link jsFuncParens GruvboxFg3
1188hi! link jsParens GruvboxFg3
1189hi! link jsNull GruvboxPurple
1190hi! link jsUndefined GruvboxPurple
1191hi! link jsClassDefinition GruvboxYellow
1192
1193" }}}
1194" TypeScript: {{{
1195
1196hi! link typeScriptReserved GruvboxAqua
1197hi! link typeScriptLabel GruvboxAqua
1198hi! link typeScriptFuncKeyword GruvboxAqua
1199hi! link typeScriptIdentifier GruvboxOrange
1200hi! link typeScriptBraces GruvboxFg1
1201hi! link typeScriptEndColons GruvboxFg1
1202hi! link typeScriptDOMObjects GruvboxFg1
1203hi! link typeScriptAjaxMethods GruvboxFg1
1204hi! link typeScriptLogicSymbols GruvboxFg1
1205hi! link typeScriptDocSeeTag Comment
1206hi! link typeScriptDocParam Comment
1207hi! link typeScriptDocTags vimCommentTitle
1208hi! link typeScriptGlobalObjects GruvboxFg1
1209hi! link typeScriptParens GruvboxFg3
1210hi! link typeScriptOpSymbols GruvboxFg3
1211hi! link typeScriptHtmlElemProperties GruvboxFg1
1212hi! link typeScriptNull GruvboxPurple
1213hi! link typeScriptInterpolationDelimiter GruvboxAqua
1214
1215" }}}
1216" PureScript: {{{
1217
1218hi! link purescriptModuleKeyword GruvboxAqua
1219hi! link purescriptModuleName GruvboxFg1
1220hi! link purescriptWhere GruvboxAqua
1221hi! link purescriptDelimiter GruvboxFg4
1222hi! link purescriptType GruvboxFg1
1223hi! link purescriptImportKeyword GruvboxAqua
1224hi! link purescriptHidingKeyword GruvboxAqua
1225hi! link purescriptAsKeyword GruvboxAqua
1226hi! link purescriptStructure GruvboxAqua
1227hi! link purescriptOperator GruvboxBlue
1228
1229hi! link purescriptTypeVar GruvboxFg1
1230hi! link purescriptConstructor GruvboxFg1
1231hi! link purescriptFunction GruvboxFg1
1232hi! link purescriptConditional GruvboxOrange
1233hi! link purescriptBacktick GruvboxOrange
1234
1235" }}}
1236" CoffeeScript: {{{
1237
1238hi! link coffeeExtendedOp GruvboxFg3
1239hi! link coffeeSpecialOp GruvboxFg3
1240hi! link coffeeCurly GruvboxOrange
1241hi! link coffeeParen GruvboxFg3
1242hi! link coffeeBracket GruvboxOrange
1243
1244" }}}
1245" Ruby: {{{
1246
1247hi! link rubyStringDelimiter GruvboxGreen
1248hi! link rubyInterpolationDelimiter GruvboxAqua
1249
1250" }}}
1251" ObjectiveC: {{{
1252
1253hi! link objcTypeModifier GruvboxRed
1254hi! link objcDirective GruvboxBlue
1255
1256" }}}
1257" Go: {{{
1258
1259hi! link goDirective GruvboxAqua
1260hi! link goConstants GruvboxPurple
1261hi! link goDeclaration GruvboxRed
1262hi! link goDeclType GruvboxBlue
1263hi! link goBuiltins GruvboxOrange
1264
1265" }}}
1266" Lua: {{{
1267
1268hi! link luaIn GruvboxRed
1269hi! link luaFunction GruvboxAqua
1270hi! link luaTable GruvboxOrange
1271
1272" }}}
1273" MoonScript: {{{
1274
1275hi! link moonSpecialOp GruvboxFg3
1276hi! link moonExtendedOp GruvboxFg3
1277hi! link moonFunction GruvboxFg3
1278hi! link moonObject GruvboxYellow
1279
1280" }}}
1281" Java: {{{
1282
1283hi! link javaAnnotation GruvboxBlue
1284hi! link javaDocTags GruvboxAqua
1285hi! link javaCommentTitle vimCommentTitle
1286hi! link javaParen GruvboxFg3
1287hi! link javaParen1 GruvboxFg3
1288hi! link javaParen2 GruvboxFg3
1289hi! link javaParen3 GruvboxFg3
1290hi! link javaParen4 GruvboxFg3
1291hi! link javaParen5 GruvboxFg3
1292hi! link javaOperator GruvboxOrange
1293
1294hi! link javaVarArg GruvboxGreen
1295
1296" }}}
1297" Elixir: {{{
1298
1299hi! link elixirDocString Comment
1300
1301hi! link elixirStringDelimiter GruvboxGreen
1302hi! link elixirInterpolationDelimiter GruvboxAqua
1303
1304hi! link elixirModuleDeclaration GruvboxYellow
1305
1306" }}}
1307" Scala: {{{
1308
1309" NB: scala vim syntax file is kinda horrible
1310hi! link scalaNameDefinition GruvboxFg1
1311hi! link scalaCaseFollowing GruvboxFg1
1312hi! link scalaCapitalWord GruvboxFg1
1313hi! link scalaTypeExtension GruvboxFg1
1314
1315hi! link scalaKeyword GruvboxRed
1316hi! link scalaKeywordModifier GruvboxRed
1317
1318hi! link scalaSpecial GruvboxAqua
1319hi! link scalaOperator GruvboxFg1
1320
1321hi! link scalaTypeDeclaration GruvboxYellow
1322hi! link scalaTypeTypePostDeclaration GruvboxYellow
1323
1324hi! link scalaInstanceDeclaration GruvboxFg1
1325hi! link scalaInterpolation GruvboxAqua
1326
1327" }}}
1328" Markdown: {{{
1329
1330call s:HL('markdownItalic', s:fg3, s:none, s:italic)
1331
1332hi! link markdownH1 GruvboxGreenBold
1333hi! link markdownH2 GruvboxGreenBold
1334hi! link markdownH3 GruvboxYellowBold
1335hi! link markdownH4 GruvboxYellowBold
1336hi! link markdownH5 GruvboxYellow
1337hi! link markdownH6 GruvboxYellow
1338
1339hi! link markdownCode GruvboxAqua
1340hi! link markdownCodeBlock GruvboxAqua
1341hi! link markdownCodeDelimiter GruvboxAqua
1342
1343hi! link markdownBlockquote GruvboxGray
1344hi! link markdownListMarker GruvboxGray
1345hi! link markdownOrderedListMarker GruvboxGray
1346hi! link markdownRule GruvboxGray
1347hi! link markdownHeadingRule GruvboxGray
1348
1349hi! link markdownUrlDelimiter GruvboxFg3
1350hi! link markdownLinkDelimiter GruvboxFg3
1351hi! link markdownLinkTextDelimiter GruvboxFg3
1352
1353hi! link markdownHeadingDelimiter GruvboxOrange
1354hi! link markdownUrl GruvboxPurple
1355hi! link markdownUrlTitleDelimiter GruvboxGreen
1356
1357call s:HL('markdownLinkText', s:gray, s:none, s:underline)
1358hi! link markdownIdDeclaration markdownLinkText
1359
1360" }}}
1361" Haskell: {{{
1362
1363" hi! link haskellType GruvboxYellow
1364" hi! link haskellOperators GruvboxOrange
1365" hi! link haskellConditional GruvboxAqua
1366" hi! link haskellLet GruvboxOrange
1367"
1368hi! link haskellType GruvboxFg1
1369hi! link haskellIdentifier GruvboxFg1
1370hi! link haskellSeparator GruvboxFg1
1371hi! link haskellDelimiter GruvboxFg4
1372hi! link haskellOperators GruvboxBlue
1373"
1374hi! link haskellBacktick GruvboxOrange
1375hi! link haskellStatement GruvboxOrange
1376hi! link haskellConditional GruvboxOrange
1377
1378hi! link haskellLet GruvboxAqua
1379hi! link haskellDefault GruvboxAqua
1380hi! link haskellWhere GruvboxAqua
1381hi! link haskellBottom GruvboxAqua
1382hi! link haskellBlockKeywords GruvboxAqua
1383hi! link haskellImportKeywords GruvboxAqua
1384hi! link haskellDeclKeyword GruvboxAqua
1385hi! link haskellDeriving GruvboxAqua
1386hi! link haskellAssocType GruvboxAqua
1387
1388hi! link haskellNumber GruvboxPurple
1389hi! link haskellPragma GruvboxPurple
1390
1391hi! link haskellString GruvboxGreen
1392hi! link haskellChar GruvboxGreen
1393
1394" }}}
1395" Json: {{{
1396
1397hi! link jsonKeyword GruvboxGreen
1398hi! link jsonQuote GruvboxGreen
1399hi! link jsonBraces GruvboxFg1
1400hi! link jsonString GruvboxFg1
1401
1402" }}}
1403
1404
1405" Functions -------------------------------------------------------------------
1406" Search Highlighting Cursor {{{
1407
1408function! GruvboxHlsShowCursor()
1409 call s:HL('Cursor', s:bg0, s:hls_cursor)
1410endfunction
1411
1412function! GruvboxHlsHideCursor()
1413 call s:HL('Cursor', s:none, s:none, s:inverse)
1414endfunction
1415
1416" }}}
1417
1418" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/.vim/pack/default/start/gruvbox/gruvbox_256palette.sh b/.vim/pack/default/start/gruvbox/gruvbox_256palette.sh
new file mode 100755
index 0000000..c7fd190
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/gruvbox_256palette.sh
@@ -0,0 +1,118 @@
1#!/bin/sh
2
3if [ "${TERM%%-*}" = "screen" ]; then
4 if [ -n "$TMUX" ]; then
5 printf "\033Ptmux;\033\033]4;236;rgb:32/30/2f\007\033\\"
6 printf "\033Ptmux;\033\033]4;234;rgb:1d/20/21\007\033\\"
7
8 printf "\033Ptmux;\033\033]4;235;rgb:28/28/28\007\033\\"
9 printf "\033Ptmux;\033\033]4;237;rgb:3c/38/36\007\033\\"
10 printf "\033Ptmux;\033\033]4;239;rgb:50/49/45\007\033\\"
11 printf "\033Ptmux;\033\033]4;241;rgb:66/5c/54\007\033\\"
12 printf "\033Ptmux;\033\033]4;243;rgb:7c/6f/64\007\033\\"
13
14 printf "\033Ptmux;\033\033]4;244;rgb:92/83/74\007\033\\"
15 printf "\033Ptmux;\033\033]4;245;rgb:92/83/74\007\033\\"
16
17 printf "\033Ptmux;\033\033]4;228;rgb:f2/e5/bc\007\033\\"
18 printf "\033Ptmux;\033\033]4;230;rgb:f9/f5/d7\007\033\\"
19
20 printf "\033Ptmux;\033\033]4;229;rgb:fb/f1/c7\007\033\\"
21 printf "\033Ptmux;\033\033]4;223;rgb:eb/db/b2\007\033\\"
22 printf "\033Ptmux;\033\033]4;250;rgb:d5/c4/a1\007\033\\"
23 printf "\033Ptmux;\033\033]4;248;rgb:bd/ae/93\007\033\\"
24 printf "\033Ptmux;\033\033]4;246;rgb:a8/99/84\007\033\\"
25
26 printf "\033Ptmux;\033\033]4;167;rgb:fb/49/34\007\033\\"
27 printf "\033Ptmux;\033\033]4;142;rgb:b8/bb/26\007\033\\"
28 printf "\033Ptmux;\033\033]4;214;rgb:fa/bd/2f\007\033\\"
29 printf "\033Ptmux;\033\033]4;109;rgb:83/a5/98\007\033\\"
30 printf "\033Ptmux;\033\033]4;175;rgb:d3/86/9b\007\033\\"
31 printf "\033Ptmux;\033\033]4;108;rgb:8e/c0/7c\007\033\\"
32 printf "\033Ptmux;\033\033]4;208;rgb:fe/80/19\007\033\\"
33
34 printf "\033Ptmux;\033\033]4;88;rgb:9d/00/06\007\033\\"
35 printf "\033Ptmux;\033\033]4;100;rgb:79/74/0e\007\033\\"
36 printf "\033Ptmux;\033\033]4;136;rgb:b5/76/14\007\033\\"
37 printf "\033Ptmux;\033\033]4;24;rgb:07/66/78\007\033\\"
38 printf "\033Ptmux;\033\033]4;96;rgb:8f/3f/71\007\033\\"
39 printf "\033Ptmux;\033\033]4;66;rgb:42/7b/58\007\033\\"
40 printf "\033Ptmux;\033\033]4;130;rgb:af/3a/03\007\033\\"
41 else
42 printf "\033P\033]4;236;rgb:32/30/2f\007\033\\"
43 printf "\033P\033]4;234;rgb:1d/20/21\007\033\\"
44
45 printf "\033P\033]4;235;rgb:28/28/28\007\033\\"
46 printf "\033P\033]4;237;rgb:3c/38/36\007\033\\"
47 printf "\033P\033]4;239;rgb:50/49/45\007\033\\"
48 printf "\033P\033]4;241;rgb:66/5c/54\007\033\\"
49 printf "\033P\033]4;243;rgb:7c/6f/64\007\033\\"
50
51 printf "\033P\033]4;244;rgb:92/83/74\007\033\\"
52 printf "\033P\033]4;245;rgb:92/83/74\007\033\\"
53
54 printf "\033P\033]4;228;rgb:f2/e5/bc\007\033\\"
55 printf "\033P\033]4;230;rgb:f9/f5/d7\007\033\\"
56
57 printf "\033P\033]4;229;rgb:fb/f1/c7\007\033\\"
58 printf "\033P\033]4;223;rgb:eb/db/b2\007\033\\"
59 printf "\033P\033]4;250;rgb:d5/c4/a1\007\033\\"
60 printf "\033P\033]4;248;rgb:bd/ae/93\007\033\\"
61 printf "\033P\033]4;246;rgb:a8/99/84\007\033\\"
62
63 printf "\033P\033]4;167;rgb:fb/49/34\007\033\\"
64 printf "\033P\033]4;142;rgb:b8/bb/26\007\033\\"
65 printf "\033P\033]4;214;rgb:fa/bd/2f\007\033\\"
66 printf "\033P\033]4;109;rgb:83/a5/98\007\033\\"
67 printf "\033P\033]4;175;rgb:d3/86/9b\007\033\\"
68 printf "\033P\033]4;108;rgb:8e/c0/7c\007\033\\"
69 printf "\033P\033]4;208;rgb:fe/80/19\007\033\\"
70
71 printf "\033P\033]4;88;rgb:9d/00/06\007\033\\"
72 printf "\033P\033]4;100;rgb:79/74/0e\007\033\\"
73 printf "\033P\033]4;136;rgb:b5/76/14\007\033\\"
74 printf "\033P\033]4;24;rgb:07/66/78\007\033\\"
75 printf "\033P\033]4;96;rgb:8f/3f/71\007\033\\"
76 printf "\033P\033]4;66;rgb:42/7b/58\007\033\\"
77 printf "\033P\033]4;130;rgb:af/3a/03\007\033\\"
78 fi
79
80elif [ "$TERM" != "linux" ] && [ "$TERM" != "vt100" ] && [ "$TERM" != "vt220" ]; then
81
82 printf "\033]4;236;rgb:32/30/2f\033\\"
83 printf "\033]4;234;rgb:1d/20/21\033\\"
84
85 printf "\033]4;235;rgb:28/28/28\033\\"
86 printf "\033]4;237;rgb:3c/38/36\033\\"
87 printf "\033]4;239;rgb:50/49/45\033\\"
88 printf "\033]4;241;rgb:66/5c/54\033\\"
89 printf "\033]4;243;rgb:7c/6f/64\033\\"
90
91 printf "\033]4;244;rgb:92/83/74\033\\"
92 printf "\033]4;245;rgb:92/83/74\033\\"
93
94 printf "\033]4;228;rgb:f2/e5/bc\033\\"
95 printf "\033]4;230;rgb:f9/f5/d7\033\\"
96
97 printf "\033]4;229;rgb:fb/f1/c7\033\\"
98 printf "\033]4;223;rgb:eb/db/b2\033\\"
99 printf "\033]4;250;rgb:d5/c4/a1\033\\"
100 printf "\033]4;248;rgb:bd/ae/93\033\\"
101 printf "\033]4;246;rgb:a8/99/84\033\\"
102
103 printf "\033]4;167;rgb:fb/49/34\033\\"
104 printf "\033]4;142;rgb:b8/bb/26\033\\"
105 printf "\033]4;214;rgb:fa/bd/2f\033\\"
106 printf "\033]4;109;rgb:83/a5/98\033\\"
107 printf "\033]4;175;rgb:d3/86/9b\033\\"
108 printf "\033]4;108;rgb:8e/c0/7c\033\\"
109 printf "\033]4;208;rgb:fe/80/19\033\\"
110
111 printf "\033]4;88;rgb:9d/00/06\033\\"
112 printf "\033]4;100;rgb:79/74/0e\033\\"
113 printf "\033]4;136;rgb:b5/76/14\033\\"
114 printf "\033]4;24;rgb:07/66/78\033\\"
115 printf "\033]4;96;rgb:8f/3f/71\033\\"
116 printf "\033]4;66;rgb:42/7b/58\033\\"
117 printf "\033]4;130;rgb:af/3a/03\033\\"
118fi
diff --git a/.vim/pack/default/start/gruvbox/gruvbox_256palette_osx.sh b/.vim/pack/default/start/gruvbox/gruvbox_256palette_osx.sh
new file mode 100755
index 0000000..ad5111a
--- /dev/null
+++ b/.vim/pack/default/start/gruvbox/gruvbox_256palette_osx.sh
@@ -0,0 +1,116 @@
1#!/bin/sh
2
3if [ "${TERM%%-*}" = "screen" ]; then
4 if [ -n "$TMUX" ]; then
5 printf "\033Ptmux;\033\033]4;236;rgb:26/24/23\007\033\\"
6 printf "\033Ptmux;\033\033]4;234;rgb:16/18/19\007\033\\"
7
8 printf "\033Ptmux;\033\033]4;235;rgb:1e/1e/1e\007\033\\"
9 printf "\033Ptmux;\033\033]4;237;rgb:2e/2a/29\007\033\\"
10 printf "\033Ptmux;\033\033]4;239;rgb:3f/39/35\007\033\\"
11 printf "\033Ptmux;\033\033]4;241;rgb:53/4a/42\007\033\\"
12 printf "\033Ptmux;\033\033]4;243;rgb:68/5c/51\007\033\\"
13
14 printf "\033Ptmux;\033\033]4;244;rgb:7f/70/61\007\033\\"
15 printf "\033Ptmux;\033\033]4;245;rgb:7f/70/61\007\033\\"
16
17 printf "\033Ptmux;\033\033]4;228;rgb:ef/df/ae\007\033\\"
18 printf "\033Ptmux;\033\033]4;230;rgb:f8/f4/cd\007\033\\"
19
20 printf "\033Ptmux;\033\033]4;229;rgb:fa/ee/bb\007\033\\"
21 printf "\033Ptmux;\033\033]4;223;rgb:e6/d4/a3\007\033\\"
22 printf "\033Ptmux;\033\033]4;250;rgb:cb/b8/90\007\033\\"
23 printf "\033Ptmux;\033\033]4;248;rgb:af/9f/81\007\033\\"
24 printf "\033Ptmux;\033\033]4;246;rgb:97/87/71\007\033\\"
25
26 printf "\033Ptmux;\033\033]4;167;rgb:f7/30/28\007\033\\"
27 printf "\033Ptmux;\033\033]4;142;rgb:aa/b0/1e\007\033\\"
28 printf "\033Ptmux;\033\033]4;214;rgb:f7/b1/25\007\033\\"
29 printf "\033Ptmux;\033\033]4;109;rgb:71/95/86\007\033\\"
30 printf "\033Ptmux;\033\033]4;175;rgb:c7/70/89\007\033\\"
31 printf "\033Ptmux;\033\033]4;108;rgb:7d/b6/69\007\033\\"
32 printf "\033Ptmux;\033\033]4;208;rgb:fb/6a/16\007\033\\"
33
34 printf "\033Ptmux;\033\033]4;88;rgb:89/00/09\007\033\\"
35 printf "\033Ptmux;\033\033]4;100;rgb:66/62/0d\007\033\\"
36 printf "\033Ptmux;\033\033]4;136;rgb:a5/63/11\007\033\\"
37 printf "\033Ptmux;\033\033]4;24;rgb:0e/53/65\007\033\\"
38 printf "\033Ptmux;\033\033]4;96;rgb:7b/2b/5e\007\033\\"
39 printf "\033Ptmux;\033\033]4;66;rgb:35/6a/46\007\033\\"
40 printf "\033Ptmux;\033\033]4;130;rgb:9d/28/07\007\033\\"
41 else
42 printf "\033P\033]4;236;rgb:26/24/23\007\033\\"
43 printf "\033P\033]4;234;rgb:16/18/19\007\033\\"
44
45 printf "\033P\033]4;235;rgb:1e/1e/1e\007\033\\"
46 printf "\033P\033]4;237;rgb:2e/2a/29\007\033\\"
47 printf "\033P\033]4;239;rgb:3f/39/35\007\033\\"
48 printf "\033P\033]4;241;rgb:53/4a/42\007\033\\"
49 printf "\033P\033]4;243;rgb:68/5c/51\007\033\\"
50
51 printf "\033P\033]4;244;rgb:7f/70/61\007\033\\"
52 printf "\033P\033]4;245;rgb:7f/70/61\007\033\\"
53
54 printf "\033P\033]4;228;rgb:ef/df/ae\007\033\\"
55 printf "\033P\033]4;230;rgb:f8/f4/cd\007\033\\"
56
57 printf "\033P\033]4;229;rgb:fa/ee/bb\007\033\\"
58 printf "\033P\033]4;223;rgb:e6/d4/a3\007\033\\"
59 printf "\033P\033]4;250;rgb:cb/b8/90\007\033\\"
60 printf "\033P\033]4;248;rgb:af/9f/81\007\033\\"
61 printf "\033P\033]4;246;rgb:97/87/71\007\033\\"
62
63 printf "\033P\033]4;167;rgb:f7/30/28\007\033\\"
64 printf "\033P\033]4;142;rgb:aa/b0/1e\007\033\\"
65 printf "\033P\033]4;214;rgb:f7/b1/25\007\033\\"
66 printf "\033P\033]4;109;rgb:71/95/86\007\033\\"
67 printf "\033P\033]4;175;rgb:c7/70/89\007\033\\"
68 printf "\033P\033]4;108;rgb:7d/b6/69\007\033\\"
69 printf "\033P\033]4;208;rgb:fb/6a/16\007\033\\"
70
71 printf "\033P\033]4;88;rgb:89/00/09\007\033\\"
72 printf "\033P\033]4;100;rgb:66/62/0d\007\033\\"
73 printf "\033P\033]4;136;rgb:a5/63/11\007\033\\"
74 printf "\033P\033]4;24;rgb:0e/53/65\007\033\\"
75 printf "\033P\033]4;96;rgb:7b/2b/5e\007\033\\"
76 printf "\033P\033]4;66;rgb:35/6a/46\007\033\\"
77 printf "\033P\033]4;130;rgb:9d/28/07\007\033\\"
78 fi
79else
80 printf "\033]4;236;rgb:26/24/23\033\\"
81 printf "\033]4;234;rgb:16/18/19\033\\"
82
83 printf "\033]4;235;rgb:1e/1e/1e\033\\"
84 printf "\033]4;237;rgb:2e/2a/29\033\\"
85 printf "\033]4;239;rgb:3f/39/35\033\\"
86 printf "\033]4;241;rgb:53/4a/42\033\\"
87 printf "\033]4;243;rgb:68/5c/51\033\\"
88
89 printf "\033]4;244;rgb:7f/70/61\033\\"
90 printf "\033]4;245;rgb:7f/70/61\033\\"
91
92 printf "\033]4;228;rgb:ef/df/ae\033\\"
93 printf "\033]4;230;rgb:f8/f4/cd\033\\"
94
95 printf "\033]4;229;rgb:fa/ee/bb\033\\"
96 printf "\033]4;223;rgb:e6/d4/a3\033\\"
97 printf "\033]4;250;rgb:cb/b8/90\033\\"
98 printf "\033]4;248;rgb:af/9f/81\033\\"
99 printf "\033]4;246;rgb:97/87/71\033\\"
100
101 printf "\033]4;167;rgb:f7/30/28\033\\"
102 printf "\033]4;142;rgb:aa/b0/1e\033\\"
103 printf "\033]4;214;rgb:f7/b1/25\033\\"
104 printf "\033]4;109;rgb:71/95/86\033\\"
105 printf "\033]4;175;rgb:c7/70/89\033\\"
106 printf "\033]4;108;rgb:7d/b6/69\033\\"
107 printf "\033]4;208;rgb:fb/6a/16\033\\"
108
109 printf "\033]4;88;rgb:89/00/09\033\\"
110 printf "\033]4;100;rgb:66/62/0d\033\\"
111 printf "\033]4;136;rgb:a5/63/11\033\\"
112 printf "\033]4;24;rgb:0e/53/65\033\\"
113 printf "\033]4;96;rgb:7b/2b/5e\033\\"
114 printf "\033]4;66;rgb:35/6a/46\033\\"
115 printf "\033]4;130;rgb:9d/28/07\033\\"
116fi