diff options
Diffstat (limited to 'nvim/.config/nvim/colors/nerdy.vim')
-rw-r--r-- | nvim/.config/nvim/colors/nerdy.vim | 313 |
1 files changed, 313 insertions, 0 deletions
diff --git a/nvim/.config/nvim/colors/nerdy.vim b/nvim/.config/nvim/colors/nerdy.vim new file mode 100644 index 0000000..71e25eb --- /dev/null +++ b/nvim/.config/nvim/colors/nerdy.vim | |||
@@ -0,0 +1,313 @@ | |||
1 | " Name: plain.vim | ||
2 | " Version: 0.1 | ||
3 | " Maintainer: github.com/andreypopp | ||
4 | " License: The MIT License (MIT) | ||
5 | " | ||
6 | " Based on | ||
7 | " | ||
8 | " https://github.com/pbrisbin/vim-colors-off (MIT License) | ||
9 | " | ||
10 | " which in turn based on | ||
11 | " | ||
12 | " https://github.com/reedes/vim-colors-pencil (MIT License) | ||
13 | " | ||
14 | """ | ||
15 | hi clear | ||
16 | |||
17 | if exists('syntax on') | ||
18 | syntax reset | ||
19 | endif | ||
20 | |||
21 | let g:colors_name='plain' | ||
22 | |||
23 | let s:black = { "gui": "#222222", "cterm": "0" } | ||
24 | let s:medium_gray = { "gui": "#767676", "cterm": "8" } | ||
25 | let s:white = { "gui": "#F1F1F1", "cterm": "7" } | ||
26 | let s:actual_white = { "gui": "#FFFFFF", "cterm": "15" } | ||
27 | let s:light_black = { "gui": "#424242", "cterm": "8" } | ||
28 | let s:lighter_black = { "gui": "#545454", "cterm": "8" } | ||
29 | let s:subtle_black = { "gui": "#303030", "cterm": "11" } | ||
30 | let s:light_gray = { "gui": "#999999", "cterm": "12" } | ||
31 | let s:lighter_gray = { "gui": "#CCCCCC", "cterm": "7" } | ||
32 | let s:lightest_gray = { "gui": "#E5E5E5", "cterm": "13" } | ||
33 | let s:pink = { "gui": "#FB007A", "cterm": "5" } | ||
34 | let s:dark_red = { "gui": "#C30771", "cterm": "1" } | ||
35 | let s:light_red = { "gui": "#E32791", "cterm": "1" } | ||
36 | let s:orange = { "gui": "#D75F5F", "cterm": "9" } | ||
37 | let s:darker_blue = { "gui": "#005F87", "cterm": "4" } | ||
38 | let s:dark_blue = { "gui": "#008EC4", "cterm": "4" } | ||
39 | let s:blue = { "gui": "#20BBFC", "cterm": "4" } | ||
40 | let s:light_blue = { "gui": "#B6D6FD", "cterm": "4" } | ||
41 | let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" } | ||
42 | let s:light_cyan = { "gui": "#4FB8CC", "cterm": "6" } | ||
43 | let s:dark_green = { "gui": "#10A778", "cterm": "6" } | ||
44 | let s:light_green = { "gui": "#5FD7A7", "cterm": "6" } | ||
45 | let s:dark_purple = { "gui": "#523C79", "cterm": "5" } | ||
46 | let s:light_purple = { "gui": "#6855DE", "cterm": "5" } | ||
47 | let s:light_yellow = { "gui": "#F3E430", "cterm": "3" } | ||
48 | let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" } | ||
49 | |||
50 | if &background == "dark" | ||
51 | let s:bg = s:black | ||
52 | let s:bg_subtle = s:light_black | ||
53 | let s:bg_very_subtle = s:subtle_black | ||
54 | let s:norm = s:lighter_gray | ||
55 | let s:norm_subtle = s:light_gray | ||
56 | let s:purple = s:light_purple | ||
57 | let s:cyan = s:light_cyan | ||
58 | let s:green = s:light_green | ||
59 | let s:red = s:light_red | ||
60 | let s:yellow = s:light_yellow | ||
61 | let s:visual = s:subtle_black | ||
62 | let s:cursor_line = s:subtle_black | ||
63 | let s:status_line = s:medium_gray | ||
64 | let s:status_line_nc = s:light_black | ||
65 | let s:constant = s:light_green | ||
66 | let s:comment = s:lighter_black | ||
67 | let s:selection = s:light_purple | ||
68 | let s:warning = s:yellow | ||
69 | else | ||
70 | let s:bg = s:white | ||
71 | let s:bg_subtle = s:lighter_gray | ||
72 | let s:bg_very_subtle = s:light_gray | ||
73 | let s:norm = s:light_black | ||
74 | let s:norm_subtle = s:lighter_black | ||
75 | let s:purple = s:dark_purple | ||
76 | let s:cyan = s:dark_cyan | ||
77 | let s:green = s:dark_green | ||
78 | let s:red = s:dark_red | ||
79 | let s:yellow = s:dark_yellow | ||
80 | let s:visual = s:light_blue | ||
81 | let s:cursor_line = s:medium_gray | ||
82 | let s:status_line = s:medium_gray | ||
83 | let s:status_line_nc = s:light_gray | ||
84 | let s:constant = s:dark_blue | ||
85 | let s:comment = s:light_gray | ||
86 | let s:selection = s:light_yellow | ||
87 | let s:warning = s:yellow | ||
88 | endif | ||
89 | |||
90 | " https://github.com/noahfrederick/vim-hemisu/ | ||
91 | function! s:h(group, style) | ||
92 | execute "highlight" a:group | ||
93 | \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") | ||
94 | \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") | ||
95 | \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") | ||
96 | \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") | ||
97 | \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") | ||
98 | \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") | ||
99 | \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") | ||
100 | endfunction | ||
101 | |||
102 | call s:h("firstAccent", {"bg": s:bg, "fg": s:cyan,}) | ||
103 | call s:h("secondAccent", {"bg": s:bg, "fg": s:purple,}) | ||
104 | |||
105 | call s:h("Normal", {"bg": s:bg, "fg": s:norm,}) | ||
106 | call s:h("Noise", {"bg": s:bg, "fg": s:norm_subtle}) | ||
107 | call s:h("Cursor", {"bg": s:green, "fg": s:norm}) | ||
108 | call s:h("Comment", {"fg": s:comment, "cterm": "italic"}) | ||
109 | call s:h("Function", {"fg": s:norm, "cterm": "bold"}) | ||
110 | |||
111 | call s:h("Constant", {"bg": s:bg, "fg": s:constant}) | ||
112 | hi! link Character Constant | ||
113 | hi! link Number Constant | ||
114 | hi! link Boolean Constant | ||
115 | hi! link Float Constant | ||
116 | hi! link String Constant | ||
117 | |||
118 | "call s:h("Identifier", {"fg": s:dark_blue}) | ||
119 | hi! link Identifier Normal | ||
120 | |||
121 | "hi! link Statement Normal | ||
122 | call s:h("Statement", {"bg": s:bg, "fg": s:norm, "cterm": "bold"}) | ||
123 | hi! link Conditonal Statement | ||
124 | hi! link Repeat Statement | ||
125 | hi! link Label Statement | ||
126 | hi! link Operator Noise | ||
127 | hi! link Keyword Statement | ||
128 | hi! link Exception Statement | ||
129 | |||
130 | "call s:h("PreProc", {"fg": s:red}) | ||
131 | hi! link PreProc Normal | ||
132 | hi! link Include Statement | ||
133 | hi! link Define PreProc | ||
134 | hi! link Macro PreProc | ||
135 | hi! link PreCondit PreProc | ||
136 | |||
137 | "call s:h("Type", {"fg": s:purple}) | ||
138 | hi! link Type Normal | ||
139 | hi! link StorageClass Type | ||
140 | hi! link Structure Type | ||
141 | hi! link Typedef Type | ||
142 | |||
143 | "call s:h("Special", {"fg": s:pink}) | ||
144 | hi! link Special StatusLine | ||
145 | hi! link SpecialChar Special | ||
146 | hi! link Tag Special | ||
147 | hi! link Delimiter Special | ||
148 | hi! link SpecialComment Special | ||
149 | hi! link Debug Special | ||
150 | |||
151 | hi! link Conceal NonText | ||
152 | |||
153 | call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) | ||
154 | call s:h("Ignore", {"fg": s:bg}) | ||
155 | call s:h("Error", {"fg": s:red, "bg": s:bg, "cterm": "bold"}) | ||
156 | call s:h("Todo", {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"}) | ||
157 | call s:h("SpecialKey", {"fg": s:subtle_black}) | ||
158 | call s:h("NonText", {"fg": s:bg_very_subtle}) | ||
159 | call s:h("Directory", {"fg": s:dark_green}) | ||
160 | call s:h("ErrorMsg", {"fg": s:pink}) | ||
161 | call s:h("IncSearch", {"bg": s:selection, "fg": s:black}) | ||
162 | call s:h("Search", {"bg": s:selection, "fg": s:black}) | ||
163 | call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) | ||
164 | hi! link ModeMsg MoreMsg | ||
165 | call s:h("LineNr", {"fg": s:medium_gray}) | ||
166 | call s:h("CursorLineNr", {"fg": s:green, "bg": s:bg_very_subtle}) | ||
167 | call s:h("Question", {"fg": s:red}) | ||
168 | call s:h("VertSplit", {"bg": s:bg, "fg": s:bg_very_subtle}) | ||
169 | call s:h("Title", {"fg": s:dark_green}) | ||
170 | call s:h("Visual", {"bg": s:visual}) | ||
171 | call s:h("VisualNOS", {"bg": s:bg_subtle}) | ||
172 | call s:h("WarningMsg", {"fg": s:warning}) | ||
173 | call s:h("WildMenu", {"fg": s:white, "bg": s:bg}) | ||
174 | call s:h("Folded", {"fg": s:medium_gray}) | ||
175 | call s:h("FoldColumn", {"fg": s:bg_subtle}) | ||
176 | call s:h("DiffAdd", {"fg": s:green}) | ||
177 | call s:h("DiffDelete", {"fg": s:red}) | ||
178 | call s:h("DiffChange", {"fg": s:dark_yellow}) | ||
179 | call s:h("DiffText", {"fg": s:dark_green}) | ||
180 | call s:h("SignColumn", {"fg": s:medium_gray}) | ||
181 | |||
182 | if has("gui_running") | ||
183 | call s:h("SpellBad", {"gui": "underline", "sp": s:red}) | ||
184 | call s:h("SpellCap", {"gui": "underline", "sp": s:light_green}) | ||
185 | call s:h("SpellRare", {"gui": "underline", "sp": s:pink}) | ||
186 | call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) | ||
187 | else | ||
188 | call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) | ||
189 | call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green}) | ||
190 | call s:h("SpellRare", {"cterm": "underline", "fg": s:pink}) | ||
191 | call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) | ||
192 | endif | ||
193 | |||
194 | """ Help | ||
195 | hi link helpHyperTextEntry Title | ||
196 | hi link helpHyperTextJump String | ||
197 | |||
198 | """ StatusLine | ||
199 | |||
200 | call s:h("StatusLine", {"bg": s:bg, "fg": s:status_line}) | ||
201 | call s:h("StatusLineNC", {"bg": s:bg, "fg": s:status_line_nc}) | ||
202 | |||
203 | " Those are not standard but are useful to emphasis different parts of the | ||
204 | " status line. | ||
205 | call s:h("StatusLineOk", {"gui": "underline", "bg": s:bg, "fg": s:green}) | ||
206 | call s:h("StatusLineError", {"gui": "underline", "bg": s:bg, "fg": s:pink}) | ||
207 | call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning}) | ||
208 | |||
209 | call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_very_subtle}) | ||
210 | call s:h("PmenuSel", {"fg": s:green, "bg": s:bg_very_subtle, "gui": "bold"}) | ||
211 | call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) | ||
212 | call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) | ||
213 | call s:h("TabLine", {"fg": s:norm_subtle, "bg": s:bg}) | ||
214 | call s:h("TabLineSel", {"fg": s:norm, "bg": s:bg, "gui": "bold", "cterm": "bold"}) | ||
215 | call s:h("TabLineFill", {"fg": s:norm_subtle, "bg": s:bg}) | ||
216 | call s:h("CursorColumn", {"bg": s:bg_very_subtle}) | ||
217 | call s:h("CursorLine", {"bg": s:cursor_line}) | ||
218 | call s:h("ColorColumn", {"bg": s:bg_subtle}) | ||
219 | |||
220 | call s:h("MatchParen", {"bg": s:bg_very_subtle, "fg": s:norm}) | ||
221 | call s:h("qfLineNr", {"fg": s:medium_gray}) | ||
222 | |||
223 | call s:h("htmlH1", {"bg": s:bg, "fg": s:norm}) | ||
224 | call s:h("htmlH2", {"bg": s:bg, "fg": s:norm}) | ||
225 | call s:h("htmlH3", {"bg": s:bg, "fg": s:norm}) | ||
226 | call s:h("htmlH4", {"bg": s:bg, "fg": s:norm}) | ||
227 | call s:h("htmlH5", {"bg": s:bg, "fg": s:norm}) | ||
228 | call s:h("htmlH6", {"bg": s:bg, "fg": s:norm}) | ||
229 | |||
230 | call s:h("htmlBold", {"bg": s:bg, "fg": s:norm}) | ||
231 | call s:h("htmlItalic", {"bg": s:bg, "fg": s:norm}) | ||
232 | call s:h("htmlEndTag", {"bg": s:bg, "fg": s:norm}) | ||
233 | call s:h("htmlTag", {"bg": s:bg, "fg": s:norm}) | ||
234 | call s:h("htmlTagName", {"bg": s:bg, "fg": s:norm}) | ||
235 | call s:h("htmlArg", {"bg": s:bg, "fg": s:norm}) | ||
236 | call s:h("htmlError", {"bg": s:bg, "fg": s:red}) | ||
237 | |||
238 | " JavaScript highlighting | ||
239 | " | ||
240 | call s:h("javaScript", {"bg": s:bg, "fg": s:norm}) | ||
241 | call s:h("javaScriptBraces", {"bg": s:bg, "fg": s:norm}) | ||
242 | call s:h("javaScriptNumber", {"bg": s:bg, "fg": s:green}) | ||
243 | |||
244 | hi link diffRemoved DiffDelete | ||
245 | hi link diffAdded DiffAdd | ||
246 | |||
247 | " Signify, git-gutter | ||
248 | hi link SignifySignAdd LineNr | ||
249 | hi link SignifySignDelete LineNr | ||
250 | hi link SignifySignChange LineNr | ||
251 | hi link GitGutterAdd LineNr | ||
252 | hi link GitGutterDelete LineNr | ||
253 | hi link GitGutterChange LineNr | ||
254 | hi link GitGutterChangeDelete LineNr | ||
255 | |||
256 | hi link jsFlowTypeKeyword Statement | ||
257 | hi link jsFlowImportType Statement | ||
258 | hi link jsFunction Function | ||
259 | hi link jsGlobalObjects Noise | ||
260 | hi link jsGlobalNodeObjects Normal | ||
261 | hi link jsSwitchCase Constant | ||
262 | |||
263 | call s:h("jsSpreadOperator ", {"bg": s:bg, "fg": s:selection}) | ||
264 | hi link jsReturn jsSpreadOperator | ||
265 | hi link jsExport jsSpreadOperator | ||
266 | |||
267 | call s:h("rustModPath ", {"bg": s:bg, "fg": s:lightest_gray}) | ||
268 | hi link rustMacro secondAccent | ||
269 | hi link rustKeyword Noise | ||
270 | hi link rustDerive secondAccent | ||
271 | hi link rustDeriveTrait secondAccent | ||
272 | hi link rustAttribute secondAccent | ||
273 | hi link rustLifetime secondAccent | ||
274 | |||
275 | hi link schemeSyntax Normal | ||
276 | hi link schemeParentheses Noise | ||
277 | hi link schemeIdentifier Noise | ||
278 | |||
279 | hi link haskellType secondAccent | ||
280 | hi link elmType secondAccent | ||
281 | |||
282 | hi link shCommandSub secondAccent | ||
283 | |||
284 | hi link cFormat secondAccent | ||
285 | |||
286 | hi link nixBuiltin secondAccent | ||
287 | hi link nixNamespacedBuiltin secondAccent | ||
288 | |||
289 | hi link sqlSpecial firstAccent | ||
290 | hi link sqlKeyword secondAccent | ||
291 | |||
292 | hi link StorageClass Statement | ||
293 | |||
294 | call s:h("xmlTag", {"bg": s:bg, "fg": s:constant}) | ||
295 | hi link xmlTagName xmlTag | ||
296 | hi link xmlEndTag xmlTag | ||
297 | hi link xmlAttrib xmlTag | ||
298 | |||
299 | hi link markdownH1 Statement | ||
300 | hi link markdownH2 Statement | ||
301 | hi link markdownH3 Statement | ||
302 | hi link markdownH4 Statement | ||
303 | hi link markdownH5 Statement | ||
304 | hi link markdownH6 Statement | ||
305 | hi link markdownListMarker Constant | ||
306 | hi link markdownCode Constant | ||
307 | hi link markdownCodeBlock Constant | ||
308 | hi link markdownCodeDelimiter Constant | ||
309 | hi link markdownHeadingDelimiter Constant | ||
310 | |||
311 | call s:h("cssBraces", {"bg": s:bg, "fg": s:selection}) | ||
312 | hi link cssTextProp Noise | ||
313 | hi link cssTagName Normal | ||