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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
" GruberDarker Theme for Vim
"
" Adapted from an Emacs theme:
" https://github.com/rexim/gruber-darker-theme
"
" Colorscheme template: https://github.com/mhartington/oceanic-next/blob/master/colors/OceanicNext.vim
" --------------------------------------------
" {{{ Setup
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="GruberDarker"
" }}}
" {{{ Italics
let g:gruber_terminal_italic = get(g:, 'gruber_terminal_italic', 0)
let s:italic = ""
if g:gruber_terminal_italic == 1
let s:italic = "italic"
endif
"}}}
" {{{ Bold
let g:gruber_terminal_bold = get(g:, 'gruber_terminal_bold', 0)
let s:bold = ""
if g:gruber_terminal_bold == 1
let s:bold = "bold"
endif
"}}}
" {{{ Colors
let s:gruberFG=['#e4e4ef', '253']
let s:gruberFG1=['#f4f4ff', '254']
let s:gruberFG2=['#f5f5ff', '240']
let s:gruberFG3=['#65737e', '243']
let s:gruberWhite=['#ffffff', '15']
let s:gruberBlack=['#000000', '0']
let s:gruberBG=['#181818', '233']
let s:gruberBG1=['#282828', '235']
let s:gruberBG2=['#453d41', '238']
let s:gruberLightRed=['#c73c3f', '203']
let s:gruberRed=['#f43841', '160']
let s:gruberNiagara=['#96a6c8', '147']
let s:gruberQuartz=['#95a99f', '108']
let s:gruberGreen=['#73c936', '70']
let s:gruberMain=['#ffdd33', '220']
let s:gruberBrown=['#cc8c3c', '172']
let s:gruberPurple=['#9e95c7', '98']
let s:gruberLightBlue=['#0087d7', '32']
let s:gruberBlue=['#0000d7', '20']
let s:gruberGold=['#d7af00', '178']
let s:none=['NONE', 'NONE']
" {{{ Highlight function
function! <sid>hi(group, fg, bg, attr, attrsp)
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(a:attrsp)
exec "hi " . a:group . " guisp=" . a:attrsp[0]
endif
endfunction
" }}}
" {{{ call <sid>:hi(group, fg, bg, gui, guisp)
call <sid>hi('Bold', '', '', 'bold', '')
call <sid>hi('Debug', s:gruberFG2, '', '', '')
call <sid>hi('Directory', s:gruberLightBlue, '', '', '')
call <sid>hi('ErrorMsg', s:gruberWhite, s:gruberRed, '', '')
call <sid>hi('Exception', s:gruberBrown, '', '', '')
call <sid>hi('FoldColumn', s:gruberBrown, s:gruberFG2, '', '')
call <sid>hi('Folded', s:gruberBrown, s:gruberFG2, s:italic, '')
call <sid>hi('IncSearch', s:gruberBlack, s:gruberFG2, 'NONE', '')
call <sid>hi('Italic', '', '', s:italic, '')
call <sid>hi('Macro', s:gruberFG, '', '', '')
call <sid>hi('MatchParen', s:gruberBG2, s:gruberMain, '', '')
call <sid>hi('ModeMsg', s:gruberFG2, '', '', '')
call <sid>hi('MoreMsg', s:gruberFG2, '', '', '')
call <sid>hi('Question', s:gruberNiagara, '', '', '')
call <sid>hi('Search', s:gruberBlack, s:gruberMain, '', '')
call <sid>hi('SpecialKey', s:gruberFG2, '', '', '')
call <sid>hi('TooLong', s:gruberFG2, '', '', '')
call <sid>hi('Underlined', s:gruberPurple, '', '', '')
call <sid>hi('Visual', '', s:gruberBG2, '', '')
call <sid>hi('VisualNOS', s:gruberRed, '', '', '')
call <sid>hi('WarningMsg', s:gruberRed, '', '', '')
call <sid>hi('WildMenu', s:gruberBlack, s:gruberMain, '', '')
call <sid>hi('Title', s:gruberQuartz, '', '', '')
call <sid>hi('Conceal', s:gruberFG, s:gruberBG, '', '')
call <sid>hi('Cursor', s:gruberBG, s:gruberFG, '', '')
call <sid>hi('NonText', s:gruberFG2, '', '', '')
call <sid>hi('Normal', s:gruberFG, s:gruberBG, '', '')
call <sid>hi('EndOfBuffer', s:gruberFG, s:gruberBG, '', '')
call <sid>hi('LineNr', s:gruberFG, s:gruberBG, '', '')
call <sid>hi('SignColumn', s:none, s:none, '', '')
call <sid>hi('VertSplit', s:gruberFG2, s:gruberBG1, '', '')
call <sid>hi('ColorColumn', '', s:gruberBG2, '', '')
call <sid>hi('CursorColumn', '', s:gruberBG2, '', '')
call <sid>hi('CursorLine', '', s:gruberBG2, 'NONE', '')
call <sid>hi('CursorLineNr', s:gruberMain, s:gruberBG, '', '')
call <sid>hi('PMenu', s:gruberFG, s:gruberBG1, '', '')
call <sid>hi('PMenuSel', s:gruberFG, s:gruberBG2, '', '')
call <sid>hi('PmenuSbar', '', s:gruberBG, '', '')
call <sid>hi('PmenuThumb', '', s:gruberBG, '', '')
call <sid>hi('helpExample', s:gruberMain, '', '', '')
call <sid>hi('helpCommand', s:gruberMain, '', '', '')
" Standard syntax highlighting
call <sid>hi('Boolean', s:gruberQuartz, '', '', '')
call <sid>hi('Character', s:gruberGreen, '', '', '')
call <sid>hi('Comment', s:gruberBrown, '', s:italic, '')
call <sid>hi('Conditional', s:gruberMain, '', '', '')
call <sid>hi('Constant', s:gruberQuartz, '', '', '')
call <sid>hi('Define', s:gruberMain, '', '', '')
call <sid>hi('Delimiter', s:gruberFG, '', '', '')
call <sid>hi('Float', s:gruberQuartz, '', '', '')
call <sid>hi('Function', s:gruberNiagara, '', '', '')
call <sid>hi('Identifier', s:gruberNiagara, '', '', '')
call <sid>hi('Include', s:gruberMain, '', '', '')
call <sid>hi('Keyword', s:gruberMain, '', '', '')
call <sid>hi('Label', s:gruberFG, '', '', '')
call <sid>hi('Number', s:gruberQuartz, '', '', '')
call <sid>hi('Operator', s:gruberFG, '', '', '')
call <sid>hi('PreProc', s:gruberFG1, '', '', '')
call <sid>hi('Repeat', s:gruberMain, '', '', '')
call <sid>hi('Special', s:gruberMain, '', '', '')
call <sid>hi('SpecialChar', s:gruberMain, '', '', '')
call <sid>hi('Statement', s:gruberMain, '', '', '')
call <sid>hi('StorageClass', s:gruberMain, '', '', '')
call <sid>hi('String', s:gruberGreen, '', '', '')
call <sid>hi('Structure', s:gruberMain, '', '', '')
call <sid>hi('Todo', s:gruberBG, s:gruberMain, '', '')
call <sid>hi('Type', s:gruberQuartz, '', '', '')
call <sid>hi('Typedef', s:gruberQuartz, '', '', '')
call <sid>hi('SpellBad', '', '', 'undercurl', '')
call <sid>hi('SpellLocal', '', '', 'undercurl', '')
call <sid>hi('SpellCap', '', '', 'undercurl', '')
call <sid>hi('SpellRare', '', '', 'undercurl', '')
" Haskell Highlighting
call <sid>hi('hsTypeDef', s:gruberMain, '', '', '')
call <sid>hi('hsStructure', s:gruberMain, '', '', '')
call <sid>hi('hsStatement', s:gruberMain, '', '', '')
call <sid>hi('hsconditional', s:gruberMain, '', '', '')
call <sid>hi('hsconditional', s:gruberMain, '', '', '')
call <sid>hi('hsconditional', s:gruberMain, '', '', '')
" Java Highlighting
" TODO Fix function definitions
call <sid>hi('javaConstant', s:gruberQuartz, '', '', '')
call <sid>hi('javaConditional', s:gruberMain, '', '', '')
call <sid>hi('javaOperator', s:gruberMain, '', '', '')
call <sid>hi('javaExceptions', s:gruberMain, '', '', '')
call <sid>hi('javaAssert', s:gruberMain, '', '', '')
call <sid>hi('javaClassDecl', s:gruberMain, '', '', '')
call <sid>hi('javaBraces', s:gruberFG, '', '', '')
call <sid>hi('javaLangObject', s:gruberFG, '', '', '')
call <sid>hi('javaType', s:gruberQuartz, '', '', '')
" Python Highlighting
call <sid>hi('pythonRepeat', s:gruberMain, '', '', '')
call <sid>hi('pythonOperator', s:gruberMain, '', '', '')
call <sid>hi('pythonException', s:gruberMain, '', '', '')
call <sid>hi('markdownCode', s:gruberGreen, '', '', '')
call <sid>hi('markdownCodeBlock', s:gruberGreen, '', '', '')
call <sid>hi('markdownHeadingDelimiter', s:gruberNiagara, '', '', '')
call <sid>hi('markdownItalic', s:gruberPurple, '', s:italic, '')
call <sid>hi('markdownBold', s:gruberMain, '', s:bold, '')
call <sid>hi('markdownCodeDelimiter', s:gruberBrown, '', s:italic, '')
call <sid>hi('markdownError', s:gruberFG, s:gruberBG1, '', '')
call <sid>hi('ALEErrorSign', s:gruberRed, s:gruberBG2, s:bold, '')
call <sid>hi('ALEWarningSign', s:gruberMain, s:gruberBG2, s:bold, '')
call <sid>hi('ALEInfoSign', s:gruberGreen, s:gruberBG2, s:bold, '')
call <sid>hi('NERDTreeExecFile', s:gruberFG, '', '', '')
call <sid>hi('NERDTreeDirSlash', s:gruberNiagara, '', '', '')
call <sid>hi('NERDTreeOpenable', s:gruberNiagara, '', '', '')
call <sid>hi('NERDTreeFile', '', s:none, '', '')
call <sid>hi('NERDTreeFlags', s:gruberNiagara, '', '', '')
call <sid>hi('vimfilerLeaf', s:gruberFG, '', '', '')
call <sid>hi('vimfilerNormalFile', s:gruberFG, s:gruberBG1, '', '')
call <sid>hi('vimfilerOpenedFile', s:gruberNiagara, '', '', '')
call <sid>hi('vimfilerClosedFile', s:gruberNiagara, '', '', '')
" }}}
let g:terminal_color_0=s:gruberBG1[0]
let g:terminal_color_8=s:gruberBG1[0]
let g:terminal_color_1=s:gruberLightRed[0]
let g:terminal_color_9=s:gruberLightRed[0]
let g:terminal_color_2=s:gruberGreen[0]
let g:terminal_color_10=s:gruberGreen[0]
let g:terminal_color_3=s:gruberMain[0]
let g:terminal_color_11=s:gruberMain[0]
let g:terminal_color_4=s:gruberNiagara[0]
let g:terminal_color_12=s:gruberNiagara[0]
let g:terminal_color_5=s:gruberPurple[0]
let g:terminal_color_13=s:gruberPurple[0]
let g:terminal_color_6=s:gruberNiagara[0]
let g:terminal_color_14=s:gruberNiagara[0]
let g:terminal_color_7=s:gruberFG[0]
let g:terminal_color_15=s:gruberFG[0]
let g:terminal_color_background=s:gruberBG1[0]
let g:terminal_color_foreground=s:gruberWhite[0]
|