all repos — dotfiles @ f77489d0eca3146d6fee1a41e7c5ae896dcdc83a

my *nix dotfiles

config/nvim/colors/plain.vim (view raw)

  1hi clear
  2
  3if exists('syntax on')
  4    syntax reset
  5endif
  6
  7let g:colors_name='plain'
  8
  9let s:black           = { "gui": "#222222", "cterm": "0"   }
 10let s:medium_gray     = { "gui": "#767676", "cterm": "8" }
 11let s:white           = { "gui": "#F1F1F1", "cterm": "7"  }
 12let s:actual_white    = { "gui": "#FFFFFF", "cterm": "15" }
 13let s:light_black     = { "gui": "#424242", "cterm": "11"   }
 14let s:lighter_black   = { "gui": "#545454", "cterm": "12" }
 15let s:subtle_black    = { "gui": "#303030", "cterm": "11" }
 16let s:light_gray      = { "gui": "#999999", "cterm": "12" }
 17let s:lighter_gray    = { "gui": "#CCCCCC", "cterm": "7" }
 18let s:lightest_gray   = { "gui": "#E5E5E5", "cterm": "13" }
 19let s:pink            = { "gui": "#FB007A", "cterm": "5"   }
 20let s:dark_red        = { "gui": "#C30771", "cterm": "1"   }
 21let s:light_red       = { "gui": "#E32791", "cterm": "1"   }
 22let s:orange          = { "gui": "#D75F5F", "cterm": "9" }
 23let s:darker_blue     = { "gui": "#005F87", "cterm": "4"  }
 24let s:dark_blue       = { "gui": "#008EC4", "cterm": "4"   }
 25let s:blue            = { "gui": "#20BBFC", "cterm": "4"  }
 26let s:light_blue      = { "gui": "#B6D6FD", "cterm": "4" }
 27let s:dark_cyan       = { "gui": "#20A5BA", "cterm": "6"   }
 28let s:light_cyan      = { "gui": "#4FB8CC", "cterm": "6"  }
 29let s:dark_green      = { "gui": "#10A778", "cterm": "6"   }
 30let s:light_green     = { "gui": "#5FD7A7", "cterm": "6"  }
 31let s:dark_purple     = { "gui": "#523C79", "cterm": "5"   }
 32let s:light_purple    = { "gui": "#6855DE", "cterm": "5"  }
 33let s:light_yellow    = { "gui": "#F3E430", "cterm": "3"  }
 34let s:dark_yellow     = { "gui": "#A89C14", "cterm": "3"   }
 35
 36if &background == "dark"
 37  let s:bg              = s:white
 38  let s:bg_subtle       = s:lighter_gray
 39  let s:bg_very_subtle  = s:light_gray
 40  let s:norm            = s:light_black
 41  let s:norm_subtle     = s:lighter_black
 42  let s:purple          = s:dark_purple
 43  let s:cyan            = s:dark_cyan
 44  let s:green           = s:dark_green
 45  let s:red             = s:dark_red
 46  let s:yellow          = s:dark_yellow
 47  let s:visual          = s:light_blue
 48  let s:cursor_line     = s:medium_gray
 49  let s:status_line     = s:lighter_gray
 50  let s:status_line_nc  = s:lighter_black
 51  let s:constant        = s:dark_blue
 52  let s:comment         = s:light_gray
 53  let s:selection       = s:light_yellow
 54  let s:warning         = s:yellow
 55else
 56  let s:bg              = s:black
 57  let s:bg_subtle       = s:light_black
 58  let s:bg_very_subtle  = s:subtle_black
 59  let s:norm            = s:lighter_gray
 60  let s:norm_subtle     = s:light_gray
 61  let s:purple          = s:light_purple
 62  let s:cyan            = s:light_cyan
 63  let s:green           = s:light_green
 64  let s:red             = s:light_red
 65  let s:yellow          = s:light_yellow
 66  let s:visual          = s:subtle_black
 67  let s:cursor_line     = s:subtle_black
 68  let s:status_line     = s:lighter_black
 69  let s:status_line_nc  = s:subtle_black
 70  let s:constant        = s:light_green
 71  let s:comment         = s:lighter_black
 72  let s:selection       = s:light_purple
 73  let s:warning         = s:yellow
 74endif
 75
 76" https://github.com/noahfrederick/vim-hemisu/
 77function! s:h(group, style)
 78  execute "highlight" a:group
 79    \ "guifg="   (has_key(a:style, "fg")    ? a:style.fg.gui   : "NONE")
 80    \ "guibg="   (has_key(a:style, "bg")    ? a:style.bg.gui   : "NONE")
 81    \ "guisp="   (has_key(a:style, "sp")    ? a:style.sp.gui   : "NONE")
 82    \ "gui="     (has_key(a:style, "gui")   ? a:style.gui      : "NONE")
 83    \ "ctermfg=" (has_key(a:style, "fg")    ? a:style.fg.cterm : "NONE")
 84    \ "ctermbg=" (has_key(a:style, "bg")    ? a:style.bg.cterm : "NONE")
 85    \ "cterm="   (has_key(a:style, "cterm") ? a:style.cterm    : "NONE")
 86endfunction
 87
 88call s:h("firstAccent",        {"fg": s:cyan})
 89call s:h("secondAccent",        {"fg": s:purple})
 90
 91call s:h("Normal",        {"fg": s:norm,})
 92call s:h("Noise",         {"fg": s:norm_subtle})
 93call s:h("Cursor",        {"bg": s:green, "fg": s:norm})
 94call s:h("Comment",       {"fg": s:comment, "cterm": "italic"})
 95call s:h("Function",      {"fg": s:norm, "cterm": "bold"})
 96call s:h("FloatWin",      {"fg": s:norm, "bg": s:black})
 97
 98hi! link Constant         firstAccent
 99hi! link Character        Constant
100hi! link Number           Constant
101hi! link Boolean          Constant
102hi! link Float            Constant
103hi! link String           Constant
104
105"call s:h("Identifier",    {"fg": s:dark_blue})
106hi! link Identifier       Normal
107
108"hi! link Statement        Normal
109call s:h("Statement",     {"fg": s:norm, "cterm": "bold"})
110hi! link Conditonal       Statement
111hi! link Repeat           Statement
112hi! link Label            Statement
113hi! link Operator         Noise
114hi! link Keyword          Statement
115hi! link Exception        Statement
116
117"call s:h("PreProc",       {"fg": s:red})
118hi! link PreProc          Normal
119hi! link Include          Statement
120hi! link Define           PreProc
121hi! link Macro            PreProc
122hi! link PreCondit        PreProc
123
124"call s:h("Type",          {"fg": s:purple})
125hi! link Type             secondAccent
126hi! link StorageClass     Type
127hi! link Structure        Noise
128hi! link Typedef          Noise
129
130"call s:h("Special",       {"fg": s:pink})
131hi! link Special          StatusLine
132hi! link SpecialChar      Special
133hi! link Tag              Special
134hi! link Delimiter        Special
135hi! link SpecialComment   Special
136hi! link Debug            Special
137
138hi! link Conceal          NonText
139
140call s:h("Underlined",    {"fg": s:norm, "gui": "underline", "cterm": "underline"})
141call s:h("Ignore",        {"fg": s:bg})
142call s:h("Error",         {"fg": s:red, "cterm": "bold"})
143call s:h("Todo",          {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"})
144call s:h("SpecialKey",    {"fg": s:subtle_black})
145call s:h("NonText",       {"fg": s:bg_very_subtle})
146call s:h("Directory",     {"fg": s:dark_green})
147call s:h("ErrorMsg",      {"fg": s:pink})
148call s:h("IncSearch",     {"bg": s:selection, "fg": s:black})
149call s:h("Search",        {"bg": s:selection, "fg": s:black})
150call s:h("MoreMsg",       {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"})
151hi! link ModeMsg MoreMsg
152call s:h("LineNr",        {"fg": s:medium_gray})
153call s:h("CursorLineNr",  {"fg": s:green, "bg": s:bg_very_subtle})
154call s:h("Question",      {"fg": s:red})
155call s:h("VertSplit",     {"bg": s:bg, "fg": s:bg_very_subtle})
156call s:h("Title",         {"fg": s:dark_green})
157call s:h("Visual",        {"bg": s:visual})
158call s:h("VisualNOS",     {"bg": s:bg_subtle})
159call s:h("WarningMsg",    {"fg": s:warning})
160call s:h("WildMenu",      {"fg": s:white, "bg": s:bg})
161call s:h("Folded",        {"fg": s:medium_gray})
162call s:h("FoldColumn",    {"fg": s:bg_subtle})
163call s:h("DiffAdd",       {"fg": s:green})
164call s:h("DiffDelete",    {"fg": s:red})
165call s:h("DiffChange",    {"fg": s:dark_yellow})
166call s:h("DiffText",      {"fg": s:dark_green})
167call s:h("SignColumn",    {"fg": s:medium_gray})
168
169if has("gui_running")
170  call s:h("SpellBad",    {"gui": "underline", "sp": s:red})
171  call s:h("SpellCap",    {"gui": "underline", "sp": s:light_green})
172  call s:h("SpellRare",   {"gui": "underline", "sp": s:pink})
173  call s:h("SpellLocal",  {"gui": "underline", "sp": s:dark_green})
174else
175  call s:h("SpellBad",    {"cterm": "underline", "fg": s:red})
176  call s:h("SpellCap",    {"cterm": "underline", "fg": s:light_green})
177  call s:h("SpellRare",   {"cterm": "underline", "fg": s:pink})
178  call s:h("SpellLocal",  {"cterm": "underline", "fg": s:dark_green})
179endif
180
181""" Help
182hi link helpHyperTextEntry Title
183hi link helpHyperTextJump  String
184
185""" StatusLine
186
187call s:h("StatusLine",        {"fg": s:status_line})
188call s:h("StatusLineNC",      {"fg": s:status_line_nc})
189
190" Those are not standard but are useful to emphasis different parts of the
191" status line.
192call s:h("StatusLineOk",      {"gui": "underline", "bg": s:bg, "fg": s:green})
193call s:h("StatusLineError",   {"gui": "underline", "bg": s:bg, "fg": s:pink})
194call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning})
195
196call s:h("Pmenu",         {"fg": s:norm, "bg": s:bg_subtle})
197call s:h("PmenuSel",      {"fg": s:green, "bg": s:bg_very_subtle, "gui": "bold"})
198call s:h("PmenuSbar",     {"fg": s:norm, "bg": s:bg_subtle})
199call s:h("PmenuThumb",    {"fg": s:norm, "bg": s:bg_subtle})
200call s:h("TabLine",       {"fg": s:norm_subtle, "bg": s:bg})
201call s:h("TabLineSel",    {"fg": s:norm, "bg": s:bg, "gui": "bold", "cterm": "bold"})
202call s:h("TabLineFill",   {"fg": s:norm_subtle, "bg": s:bg})
203call s:h("CursorColumn",  {"bg": s:bg_very_subtle})
204call s:h("CursorLine",    {"bg": s:cursor_line})
205call s:h("ColorColumn",   {"bg": s:bg_subtle})
206
207call s:h("MatchParen",    {"bg": s:bg_very_subtle, "fg": s:norm})
208hi link qfLineNr secondAccent
209hi link qfFileName firstAccent
210
211call s:h("htmlH1",        {"fg": s:norm})
212call s:h("htmlH2",        {"fg": s:norm})
213call s:h("htmlH3",        {"fg": s:norm})
214call s:h("htmlH4",        {"fg": s:norm})
215call s:h("htmlH5",        {"fg": s:norm})
216call s:h("htmlH6",        {"fg": s:norm})
217
218call s:h("htmlBold",      {"fg": s:norm})
219call s:h("htmlItalic",    {"fg": s:norm})
220call s:h("htmlEndTag",    {"fg": s:norm})
221call s:h("htmlTag",       {"fg": s:norm})
222call s:h("htmlTagName",   {"fg": s:norm})
223call s:h("htmlArg",       {"fg": s:norm})
224call s:h("htmlError",     {"fg": s:red})
225
226" JavaScript highlighting
227"
228call s:h("javaScript",           {"bg": s:bg, "fg": s:norm})
229call s:h("javaScriptBraces",     {"bg": s:bg, "fg": s:norm})
230call s:h("javaScriptNumber",     {"bg": s:bg, "fg": s:green})
231
232hi link diffRemoved       DiffDelete
233hi link diffAdded         DiffAdd
234
235hi link TSAnnotation secondAccent
236" unstable for now:
237hi link TSAttribute secondAccent
238hi link TSBoolean Constant
239hi link TSCharacter Constant
240hi link TSComment Comment
241hi link TSConstructor Normal
242hi link TSConditional Statement
243hi link TSConstant Constant
244hi link TSConstBuiltin secondAccent
245hi link TSConstMacro secondAccent
246hi link TSError Error
247hi link TSException Error
248hi link TSField Normal
249hi link TSFloat Constant
250hi link TSFunction Normal
251hi link TSFuncBuiltin secondAccent
252hi link TSFuncMacro secondAccent
253hi link TSInclude Noise
254hi link TSKeyword Statement
255hi link TSKeywordFunction Statement
256hi link TSLabel Noise
257hi link TSMethod Normal
258hi link TSNamespace Noise
259hi link TSNone Noise
260hi link TSNumber Constant
261hi link TSOperator Normal
262hi link TSParameter Noise
263hi link TSParameterReference Statement
264hi link TSProperty TSField
265hi link TSPunctDelimiter Noise
266hi link TSPunctBracket Noise
267hi link TSPunctSpecial Noise
268hi link TSRepeat Normal
269hi link TSString Constant
270hi link TSStringRegex secondAccent
271hi link TSStringEscape secondAccent
272hi link TSTag Statement
273hi link TSTagDelimiter Noise
274hi link TSText Normal
275hi link TSEmphasis Statement
276hi link TSUnderline Underlined
277hi link TSStrike Underlined
278hi link TSTitle Statement
279hi link TSLiteral Noise
280hi link TSURI Constant
281hi link TSType Noise
282hi link TSTypeBuiltin secondAccent
283hi link TSVariable Normal
284hi link TSVariableBuiltin Normal
285hi link TSRepeat Statement
286
287" nvim-lsp diagnostics
288hi link LspDiagnosticsDefaultError Error
289hi link LspDiagnosticsDefaultWarning WarningMsg
290hi link LspDiagnosticsDefaultInformation Noise
291hi link LspDiagnosticsDefaultHint Constant
292
293" Signify, git-gutter
294hi link SignifySignAdd              LineNr
295hi link SignifySignDelete           LineNr
296hi link SignifySignChange           LineNr
297hi link GitGutterAdd                LineNr
298hi link GitGutterDelete             LineNr
299hi link GitGutterChange             LineNr
300hi link GitGutterChangeDelete       LineNr
301
302hi link jsFlowTypeKeyword Statement
303hi link jsFlowImportType Statement
304hi link jsFunction Function
305hi link jsGlobalObjects Noise
306hi link jsGlobalNodeObjects Normal
307hi link jsSwitchCase Constant
308
309call s:h("jsSpreadOperator ",     {"bg": s:bg, "fg": s:selection})
310hi link jsReturn jsSpreadOperator
311hi link jsExport jsSpreadOperator
312
313call s:h("rustModPath ",     {"fg": s:lightest_gray})
314hi link rustMacro secondAccent
315hi link rustKeyword Noise
316hi link rustDerive secondAccent
317hi link rustDeriveTrait secondAccent
318hi link rustAttribute secondAccent
319hi link rustLifetime secondAccent
320
321hi link schemeSyntax Normal
322hi link schemeParentheses Noise
323hi link schemeIdentifier Noise
324
325hi link lispParen Noise
326hi link lispSymbol Noise
327
328hi link shCommandSub secondAccent
329
330hi link cFormat secondAccent
331
332hi link nixBuiltin secondAccent
333hi link nixNamespacedBuiltin secondAccent
334
335hi link sqlSpecial firstAccent
336hi link sqlKeyword secondAccent
337
338hi link helpExample Noise
339hi link helpCommand secondAccent
340hi link helpBacktick secondAccent
341hi link helpSpecial Noise
342
343hi link StorageClass Statement
344
345hi link elmType Type
346
347hi link xmlTag Constant
348hi link xmlTagName xmlTag
349hi link xmlEndTag xmlTag
350hi link xmlAttrib xmlTag
351
352hi link markdownH1 Statement
353hi link markdownH2 Statement
354hi link markdownH3 Statement
355hi link markdownH4 Statement
356hi link markdownH5 Statement
357hi link markdownH6 Statement
358hi link markdownListMarker Constant
359hi link markdownCode Constant
360hi link markdownCodeBlock Constant
361hi link markdownCodeDelimiter Constant
362hi link markdownHeadingDelimiter Constant
363
364call s:h("cssBraces",     {"bg": s:bg, "fg": s:selection})
365hi link cssTextProp Noise
366hi link cssTagName Normal
367
368" floatwin
369hi link NormalFloat FloatWin