summaryrefslogtreecommitdiff
path: root/nvim/.config/nvim/colors/nerdy.vim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/.config/nvim/colors/nerdy.vim')
-rw-r--r--nvim/.config/nvim/colors/nerdy.vim313
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"""
15hi clear
16
17if exists('syntax on')
18 syntax reset
19endif
20
21let g:colors_name='plain'
22
23let s:black = { "gui": "#222222", "cterm": "0" }
24let s:medium_gray = { "gui": "#767676", "cterm": "8" }
25let s:white = { "gui": "#F1F1F1", "cterm": "7" }
26let s:actual_white = { "gui": "#FFFFFF", "cterm": "15" }
27let s:light_black = { "gui": "#424242", "cterm": "8" }
28let s:lighter_black = { "gui": "#545454", "cterm": "8" }
29let s:subtle_black = { "gui": "#303030", "cterm": "11" }
30let s:light_gray = { "gui": "#999999", "cterm": "12" }
31let s:lighter_gray = { "gui": "#CCCCCC", "cterm": "7" }
32let s:lightest_gray = { "gui": "#E5E5E5", "cterm": "13" }
33let s:pink = { "gui": "#FB007A", "cterm": "5" }
34let s:dark_red = { "gui": "#C30771", "cterm": "1" }
35let s:light_red = { "gui": "#E32791", "cterm": "1" }
36let s:orange = { "gui": "#D75F5F", "cterm": "9" }
37let s:darker_blue = { "gui": "#005F87", "cterm": "4" }
38let s:dark_blue = { "gui": "#008EC4", "cterm": "4" }
39let s:blue = { "gui": "#20BBFC", "cterm": "4" }
40let s:light_blue = { "gui": "#B6D6FD", "cterm": "4" }
41let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" }
42let s:light_cyan = { "gui": "#4FB8CC", "cterm": "6" }
43let s:dark_green = { "gui": "#10A778", "cterm": "6" }
44let s:light_green = { "gui": "#5FD7A7", "cterm": "6" }
45let s:dark_purple = { "gui": "#523C79", "cterm": "5" }
46let s:light_purple = { "gui": "#6855DE", "cterm": "5" }
47let s:light_yellow = { "gui": "#F3E430", "cterm": "3" }
48let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" }
49
50if &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
69else
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
88endif
89
90" https://github.com/noahfrederick/vim-hemisu/
91function! 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")
100endfunction
101
102call s:h("firstAccent", {"bg": s:bg, "fg": s:cyan,})
103call s:h("secondAccent", {"bg": s:bg, "fg": s:purple,})
104
105call s:h("Normal", {"bg": s:bg, "fg": s:norm,})
106call s:h("Noise", {"bg": s:bg, "fg": s:norm_subtle})
107call s:h("Cursor", {"bg": s:green, "fg": s:norm})
108call s:h("Comment", {"fg": s:comment, "cterm": "italic"})
109call s:h("Function", {"fg": s:norm, "cterm": "bold"})
110
111call s:h("Constant", {"bg": s:bg, "fg": s:constant})
112hi! link Character Constant
113hi! link Number Constant
114hi! link Boolean Constant
115hi! link Float Constant
116hi! link String Constant
117
118"call s:h("Identifier", {"fg": s:dark_blue})
119hi! link Identifier Normal
120
121"hi! link Statement Normal
122call s:h("Statement", {"bg": s:bg, "fg": s:norm, "cterm": "bold"})
123hi! link Conditonal Statement
124hi! link Repeat Statement
125hi! link Label Statement
126hi! link Operator Noise
127hi! link Keyword Statement
128hi! link Exception Statement
129
130"call s:h("PreProc", {"fg": s:red})
131hi! link PreProc Normal
132hi! link Include Statement
133hi! link Define PreProc
134hi! link Macro PreProc
135hi! link PreCondit PreProc
136
137"call s:h("Type", {"fg": s:purple})
138hi! link Type Normal
139hi! link StorageClass Type
140hi! link Structure Type
141hi! link Typedef Type
142
143"call s:h("Special", {"fg": s:pink})
144hi! link Special StatusLine
145hi! link SpecialChar Special
146hi! link Tag Special
147hi! link Delimiter Special
148hi! link SpecialComment Special
149hi! link Debug Special
150
151hi! link Conceal NonText
152
153call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"})
154call s:h("Ignore", {"fg": s:bg})
155call s:h("Error", {"fg": s:red, "bg": s:bg, "cterm": "bold"})
156call s:h("Todo", {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"})
157call s:h("SpecialKey", {"fg": s:subtle_black})
158call s:h("NonText", {"fg": s:bg_very_subtle})
159call s:h("Directory", {"fg": s:dark_green})
160call s:h("ErrorMsg", {"fg": s:pink})
161call s:h("IncSearch", {"bg": s:selection, "fg": s:black})
162call s:h("Search", {"bg": s:selection, "fg": s:black})
163call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"})
164hi! link ModeMsg MoreMsg
165call s:h("LineNr", {"fg": s:medium_gray})
166call s:h("CursorLineNr", {"fg": s:green, "bg": s:bg_very_subtle})
167call s:h("Question", {"fg": s:red})
168call s:h("VertSplit", {"bg": s:bg, "fg": s:bg_very_subtle})
169call s:h("Title", {"fg": s:dark_green})
170call s:h("Visual", {"bg": s:visual})
171call s:h("VisualNOS", {"bg": s:bg_subtle})
172call s:h("WarningMsg", {"fg": s:warning})
173call s:h("WildMenu", {"fg": s:white, "bg": s:bg})
174call s:h("Folded", {"fg": s:medium_gray})
175call s:h("FoldColumn", {"fg": s:bg_subtle})
176call s:h("DiffAdd", {"fg": s:green})
177call s:h("DiffDelete", {"fg": s:red})
178call s:h("DiffChange", {"fg": s:dark_yellow})
179call s:h("DiffText", {"fg": s:dark_green})
180call s:h("SignColumn", {"fg": s:medium_gray})
181
182if 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})
187else
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})
192endif
193
194""" Help
195hi link helpHyperTextEntry Title
196hi link helpHyperTextJump String
197
198""" StatusLine
199
200call s:h("StatusLine", {"bg": s:bg, "fg": s:status_line})
201call 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.
205call s:h("StatusLineOk", {"gui": "underline", "bg": s:bg, "fg": s:green})
206call s:h("StatusLineError", {"gui": "underline", "bg": s:bg, "fg": s:pink})
207call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning})
208
209call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_very_subtle})
210call s:h("PmenuSel", {"fg": s:green, "bg": s:bg_very_subtle, "gui": "bold"})
211call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle})
212call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle})
213call s:h("TabLine", {"fg": s:norm_subtle, "bg": s:bg})
214call s:h("TabLineSel", {"fg": s:norm, "bg": s:bg, "gui": "bold", "cterm": "bold"})
215call s:h("TabLineFill", {"fg": s:norm_subtle, "bg": s:bg})
216call s:h("CursorColumn", {"bg": s:bg_very_subtle})
217call s:h("CursorLine", {"bg": s:cursor_line})
218call s:h("ColorColumn", {"bg": s:bg_subtle})
219
220call s:h("MatchParen", {"bg": s:bg_very_subtle, "fg": s:norm})
221call s:h("qfLineNr", {"fg": s:medium_gray})
222
223call s:h("htmlH1", {"bg": s:bg, "fg": s:norm})
224call s:h("htmlH2", {"bg": s:bg, "fg": s:norm})
225call s:h("htmlH3", {"bg": s:bg, "fg": s:norm})
226call s:h("htmlH4", {"bg": s:bg, "fg": s:norm})
227call s:h("htmlH5", {"bg": s:bg, "fg": s:norm})
228call s:h("htmlH6", {"bg": s:bg, "fg": s:norm})
229
230call s:h("htmlBold", {"bg": s:bg, "fg": s:norm})
231call s:h("htmlItalic", {"bg": s:bg, "fg": s:norm})
232call s:h("htmlEndTag", {"bg": s:bg, "fg": s:norm})
233call s:h("htmlTag", {"bg": s:bg, "fg": s:norm})
234call s:h("htmlTagName", {"bg": s:bg, "fg": s:norm})
235call s:h("htmlArg", {"bg": s:bg, "fg": s:norm})
236call s:h("htmlError", {"bg": s:bg, "fg": s:red})
237
238" JavaScript highlighting
239"
240call s:h("javaScript", {"bg": s:bg, "fg": s:norm})
241call s:h("javaScriptBraces", {"bg": s:bg, "fg": s:norm})
242call s:h("javaScriptNumber", {"bg": s:bg, "fg": s:green})
243
244hi link diffRemoved DiffDelete
245hi link diffAdded DiffAdd
246
247" Signify, git-gutter
248hi link SignifySignAdd LineNr
249hi link SignifySignDelete LineNr
250hi link SignifySignChange LineNr
251hi link GitGutterAdd LineNr
252hi link GitGutterDelete LineNr
253hi link GitGutterChange LineNr
254hi link GitGutterChangeDelete LineNr
255
256hi link jsFlowTypeKeyword Statement
257hi link jsFlowImportType Statement
258hi link jsFunction Function
259hi link jsGlobalObjects Noise
260hi link jsGlobalNodeObjects Normal
261hi link jsSwitchCase Constant
262
263call s:h("jsSpreadOperator ", {"bg": s:bg, "fg": s:selection})
264hi link jsReturn jsSpreadOperator
265hi link jsExport jsSpreadOperator
266
267call s:h("rustModPath ", {"bg": s:bg, "fg": s:lightest_gray})
268hi link rustMacro secondAccent
269hi link rustKeyword Noise
270hi link rustDerive secondAccent
271hi link rustDeriveTrait secondAccent
272hi link rustAttribute secondAccent
273hi link rustLifetime secondAccent
274
275hi link schemeSyntax Normal
276hi link schemeParentheses Noise
277hi link schemeIdentifier Noise
278
279hi link haskellType secondAccent
280hi link elmType secondAccent
281
282hi link shCommandSub secondAccent
283
284hi link cFormat secondAccent
285
286hi link nixBuiltin secondAccent
287hi link nixNamespacedBuiltin secondAccent
288
289hi link sqlSpecial firstAccent
290hi link sqlKeyword secondAccent
291
292hi link StorageClass Statement
293
294call s:h("xmlTag", {"bg": s:bg, "fg": s:constant})
295hi link xmlTagName xmlTag
296hi link xmlEndTag xmlTag
297hi link xmlAttrib xmlTag
298
299hi link markdownH1 Statement
300hi link markdownH2 Statement
301hi link markdownH3 Statement
302hi link markdownH4 Statement
303hi link markdownH5 Statement
304hi link markdownH6 Statement
305hi link markdownListMarker Constant
306hi link markdownCode Constant
307hi link markdownCodeBlock Constant
308hi link markdownCodeDelimiter Constant
309hi link markdownHeadingDelimiter Constant
310
311call s:h("cssBraces", {"bg": s:bg, "fg": s:selection})
312hi link cssTextProp Noise
313hi link cssTagName Normal