-
Notifications
You must be signed in to change notification settings - Fork 0
/
mad_unicorn.vim
235 lines (202 loc) · 11.1 KB
/
mad_unicorn.vim
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
229
230
231
232
233
234
" Vim color file
" Cterm colors:
"
" https://d.pr/i/3hs5k7
"
set background=dark
highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "mad_unicorn"
if !exists("*Syntax")
function Syntax(diction)
let t = {'fg': '231', 'bg': 'none', 'style': 'none'}
return extend(t,a:diction)
endfunction
endif
let colors = {}
let presets = {}
let syntax = {}
let colors.dark_blue = {'fg': 'darkblue', 'bg': 'none'}
let presets.comment = Syntax({'fg': '241'})
let presets.function = Syntax({'fg': '033'})
let presets.storage = Syntax({'fg': '099'})
let presets.variable = Syntax({'fg': '099'})
let presets.string = Syntax({'fg': '155'})
let presets.type = Syntax({'fg': '030'})
let presets.statement = Syntax({'fg': '214'})
let presets.number = Syntax({'fg': '074'})
let presets.operator = Syntax({'fg': '168'})
let colors = {
\'none': 'NONE',
\'026': '#005fd7',
\'033': '#005fd7',
\'030': '#008787',
\'067': '#5f87af',
\'074': '#5fafd7',
\'099': '#875fff',
\'149': '#afd75f',
\'155': '#afff5f',
\'168': '#d75f87',
\'214': '#ffaf00',
\'231': '#f5f5f5',
\'234': '#1e1e1e',
\'238': '#444444',
\'241': '#626262',
\'129': '#af00ff'
\}
hi elixirArguments ctermfg=204
hi elixirAtom ctermfg=99
hi elixirBlock ctermfg=243
hi elixirBlockDefinition ctermfg=204
hi elixirDefine ctermfg=204
hi elixirFunctionDeclaration ctermfg=33
hi elixirId ctermfg=254
hi elixirInclude ctermfg=99
hi elixirKeyword ctermfg=99
hi elixirModuleDefine ctermfg=162
hi elixirOperator ctermfg=162
hi elixirPrivateDefine ctermfg=235
hi elixirString ctermfg=155
hi elixirVariable ctermfg=206
hi Keyword ctermfg=206
hi Define ctermfg=208
hi elixirExUnitAssert ctermfg=226
hi elixirExUnitMacro ctermfg=226
hi Identifier ctermfg=206
hi Statement ctermfg=208
hi markdownH1 ctermfg=226 ctermbg=232 cterm=bold
hi markdownH2 ctermfg=220 ctermbg=232 cterm=bold
hi markdownH2Delimiter ctermfg=233
hi markdownCode ctermfg=226
"hi eblClass ctermfg=30
hi Cursor ctermfg=234 ctermbg=67 cterm=NONE guifg=#1e1e1e guibg=#3592a8 gui=NONE
hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#416269 gui=NONE
hi CursorLine ctermfg=NONE ctermbg=235 cterm=none guifg=NONE guibg=NONE gui=NONE
hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#333333 gui=NONE
hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#333333 gui=NONE
hi SignColumn ctermbg=234
hi LineNr ctermfg=245 ctermbg=236 cterm=NONE guifg=#8a8a8a guibg=#333333 gui=NONE
hi VertSplit ctermfg=240 ctermbg=240 cterm=NONE guifg=#5c5c5c guibg=#5c5c5c gui=NONE
hi MatchParen ctermfg=99 ctermbg=NONE cterm=reverse
hi StatusLine ctermfg=231 ctermbg=240 cterm=bold guifg=#f5f5f5 guibg=#5c5c5c gui=bold
hi StatusLineNC ctermfg=231 ctermbg=240 cterm=NONE guifg=#f5f5f5 guibg=#5c5c5c gui=NONE
hi Pmenu ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#416269 gui=NONE
hi IncSearch ctermfg=15 ctermbg=124 cterm=NONE guifg=#1e1e1e guibg=#add961 gui=NONE
hi Search ctermfg=NONE ctermbg=NONE cterm=reverse guifg=#000000 guibg=#666666 gui=NONE
"
"hi Directory ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
let syntax.Directory = copy(presets.string)
let syntax.NERDTreeDirSlash = copy(presets.comment)
let syntax.NERDTreeFile = copy(presets.comment)
hi Folded ctermfg=102 ctermbg=234 cterm=NONE guifg=#797c74 guibg=#1e1e1e gui=NONE
hi Normal ctermfg=231 ctermbg=234 cterm=NONE guifg=#f5f5f5 guibg=#1e1e1e gui=NONE
hi Boolean ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi Character ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
hi Comment ctermfg=238 ctermbg=234 cterm=NONE guifg=#444444 guibg=#121212 gui=italic
hi Conditional ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi Constant ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
hi DiffAdd ctermfg=46 ctermbg=NONE cterm=bold guifg=#f5f5f5 guibg=#44810b gui=bold
hi DiffDelete ctermfg=124 ctermbg=NONE cterm=NONE guifg=#af0000 guibg=NONE gui=NONE
hi DiffChange ctermfg=245 ctermbg=NONE cterm=NONE guifg=#f5f5f5 guibg=#1f3453 gui=NONE
hi DiffText ctermfg=46 ctermbg=NONE cterm=bold guifg=#f5f5f5 guibg=#204a87 gui=bold
hi ErrorMsg ctermfg=254 ctermbg=197 cterm=NONE guifg=#e5e5e5 guibg=#fc1768 gui=NONE
hi WarningMsg ctermfg=254 ctermbg=197 cterm=NONE guifg=#e5e5e5 guibg=#fc1768 gui=NONE
hi Float ctermfg=254 ctermbg=NONE cterm=NONE guifg=#e5e5e5 guibg=NONE gui=NONE
"
"hi Function ctermfg=67 ctermbg=NONE cterm=bold guifg=#3592a8 guibg=NONE gui=bold
let syntax.Function = copy(presets.function)
hi Keyword ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi Label ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi NonText ctermfg=236 ctermbg=235 cterm=NONE guifg=#333333 guibg=#292929 gui=NONE
"hi Number ctermfg=254 ctermbg=NONE cterm=NONE guifg=#e5e5e5 guibg=NONE gui=NONE
let syntax.Number = copy(presets.number)
hi Operator ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi PreProc ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f5f5f5 guibg=NONE gui=NONE
hi SpecialKey ctermfg=236 ctermbg=236 cterm=NONE guifg=#333333 guibg=#333333 gui=NONE
"hi StorageClass ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
let syntax.StorageClass = copy(presets.storage)
hi String ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi Tag ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f5f5f5 guibg=NONE gui=bold
hi Todo ctermfg=102 ctermbg=235 cterm=inverse,bold guifg=#797c74 guibg=#222222 gui=inverse,bold,italic
hi Type ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
let syntax.Type = copy(presets.type)
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline
hi rubyClass ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyFunction ctermfg=67 ctermbg=NONE cterm=bold guifg=#3592a8 guibg=NONE gui=bold
hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
hi rubySymbol ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
hi rubyConstant ctermfg=214 ctermbg=NONE cterm=NONE guifg=#ffb400 guibg=NONE gui=NONE
hi rubyStringDelimiter ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi rubyBlockParameter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
hi rubyInstanceVariable ctermfg=67 ctermbg=NONE cterm=NONE guifg=#3592a8 guibg=NONE gui=NONE
hi rubyInclude ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyGlobalVariable ctermfg=67 ctermbg=NONE cterm=NONE guifg=#3592a8 guibg=NONE gui=NONE
hi rubyRegexp ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi rubyRegexpDelimiter ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi rubyEscape ctermfg=59 ctermbg=NONE cterm=NONE guifg=#666961 guibg=NONE gui=NONE
hi rubyControl ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
hi rubyOperator ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyException ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyPseudoVariable ctermfg=67 ctermbg=NONE cterm=NONE guifg=#3592a8 guibg=NONE gui=NONE
hi rubyRailsUserClass ctermfg=214 ctermbg=NONE cterm=NONE guifg=#ffb400 guibg=NONE gui=NONE
hi rubyRailsARAssociationMethod ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyRailsARMethod ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyRailsRenderMethod ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi rubyRailsMethod ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
hi erubyComment ctermfg=102 ctermbg=235 cterm=NONE guifg=#797c74 guibg=#222222 gui=italic
hi erubyRailsMethod ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
"hi htmlTag ctermfg=229 ctermbg=NONE cterm=NONE guifg=#f8ecae guibg=NONE gui=NONE
"hi htmlEndTag ctermfg=229 ctermbg=NONE cterm=NONE guifg=#f8ecae guibg=NONE gui=NONE
"hi htmlTagName ctermfg=229 ctermbg=NONE cterm=NONE guifg=#f8ecae guibg=NONE gui=NONE
let presets.html = copy(presets.comment)
let syntax.htmlTag = copy(presets.html)
let syntax.htmlEndTag = copy(presets.html)
let syntax.htmlTagName = copy(presets.html)
let syntax.htmlArg = copy(presets.storage)
"hi htmlArg ctermfg=229 ctermbg=NONE cterm=NONE guifg=#f8ecae guibg=NONE gui=NONE
hi htmlSpecialChar ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
hi javaScriptFunction ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi javaScriptRailsFunction ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
let syntax.jsAssignExpIdent = copy(presets.storage)
let syntax.jsFuncCall = copy(presets.function)
let syntax.jsonKeyword = copy(presets.storage)
let syntax.jsFunctionKey = copy(presets.function)
let syntax.jsObjectKey = copy(presets.storage)
let syntax.jsModules = copy(presets.statement)
let syntax.jsModuleWords = copy(presets.statement)
let syntax.mustacheInside = copy(presets.function)
let syntax.mustacheDQString = copy(presets.storage)
hi yamlKey ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi yamlAnchor ctermfg=67 ctermbg=NONE cterm=NONE guifg=#3592a8 guibg=NONE gui=NONE
hi yamlAlias ctermfg=67 ctermbg=NONE cterm=NONE guifg=#3592a8 guibg=NONE gui=NONE
hi yamlDocumentHeader ctermfg=149 ctermbg=234 cterm=NONE guifg=#add961 guibg=#1e1e1e gui=NONE
hi cssURL ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
hi cssFunctionName ctermfg=168 ctermbg=NONE cterm=NONE guifg=#e84480 guibg=NONE gui=NONE
hi cssColor ctermfg=67 ctermbg=234 cterm=NONE guifg=#3592a8 guibg=#1e1e1e gui=NONE
hi cssPseudoClassId ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi cssClassName ctermfg=74 ctermbg=NONE cterm=NONE guifg=#34b9d6 guibg=NONE gui=NONE
hi cssValueLength ctermfg=254 ctermbg=NONE cterm=NONE guifg=#e5e5e5 guibg=NONE gui=NONE
hi cssCommonAttr ctermfg=106 ctermbg=NONE cterm=NONE guifg=#7abc08 guibg=NONE gui=NONE
hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE
let syntax.Noise = copy(presets.comment)
hi IndentGuidesEven ctermbg=235 guibg=#1e1e1e
hi IndentGuidesOdd ctermbg=none guibg=#1e1e1e
hi clear SpellBad
hi SpellBad cterm=underline
for [syn, v] in items(syntax)
let ctermfg = v['fg']
let ctermbg = v['bg']
let cterm = v['style']
let guifg = colors[ctermfg]
let guibg = colors[ctermbg]
let gui = cterm
execute "hi ". syn ." ctermfg=". ctermfg ." ctermbg=". ctermbg ." cterm=". cterm ." guifg=". guifg ." guibg=". guibg ." gui=". gui
endfor