all repos — dotfiles @ 59eb251f2e66312d3fb43546b3e8ad898ff7885d

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
 98
 99hi! link Constant         firstAccent
100hi! link Character        Constant
101hi! link Number           Constant
102hi! link Boolean          Constant
103hi! link Float            Constant
104hi! link String           Constant
105
106"call s:h("Identifier",    {"fg": s:dark_blue})
107hi! link Identifier       Normal
108
109"hi! link Statement        Normal
110call s:h("Statement",     {"fg": s:norm, "cterm": "bold"})
111hi! link Conditonal       Statement
112hi! link Repeat           Statement
113hi! link Label            Statement
114hi! link Operator         Noise
115hi! link Keyword          Statement
116hi! link Exception        Statement
117
118"call s:h("PreProc",       {"fg": s:red})
119hi! link PreProc          Normal
120hi! link Include          Statement
121hi! link Define           PreProc
122hi! link Macro            PreProc
123hi! link PreCondit        PreProc
124
125"call s:h("Type",          {"fg": s:purple})
126hi! link Type             secondAccent
127hi! link StorageClass     Type
128hi! link Structure        Noise
129hi! link Typedef          Noise
130
131"call s:h("Special",       {"fg": s:pink})
132hi! link Special          StatusLine
133hi! link SpecialChar      Special
134hi! link Tag              Special
135hi! link Delimiter        Special
136hi! link SpecialComment   Special
137hi! link Debug            Special
138
139hi! link Conceal          NonText
140
141call s:h("Underlined",    {"fg": s:norm, "gui": "underline", "cterm": "underline"})
142call s:h("Ignore",        {"fg": s:bg})
143call s:h("Error",         {"fg": s:red, "cterm": "bold"})
144call s:h("Todo",          {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"})
145call s:h("SpecialKey",    {"fg": s:subtle_black})
146call s:h("NonText",       {"fg": s:bg_very_subtle})
147call s:h("Directory",     {"fg": s:dark_green})
148call s:h("ErrorMsg",      {"fg": s:pink})
149call s:h("IncSearch",     {"bg": s:selection, "fg": s:black})
150call s:h("Search",        {"bg": s:selection, "fg": s:black})
151call s:h("MoreMsg",       {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"})
152hi! link ModeMsg MoreMsg
153call s:h("LineNr",        {"fg": s:medium_gray})
154call s:h("CursorLineNr",  {"fg": s:green, "bg": s:bg_very_subtle})
155call s:h("Question",      {"fg": s:red})
156call s:h("VertSplit",     {"bg": s:bg, "fg": s:bg_very_subtle})
157call s:h("Title",         {"fg": s:dark_green})
158call s:h("Visual",        {"bg": s:visual})
159call s:h("VisualNOS",     {"bg": s:bg_subtle})
160call s:h("WarningMsg",    {"fg": s:warning})
161call s:h("WildMenu",      {"fg": s:white, "bg": s:bg})
162call s:h("Folded",        {"fg": s:medium_gray})
163call s:h("FoldColumn",    {"fg": s:bg_subtle})
164call s:h("DiffAdd",       {"fg": s:green})
165call s:h("DiffDelete",    {"fg": s:red})
166call s:h("DiffChange",    {"fg": s:dark_yellow})
167call s:h("DiffText",      {"fg": s:dark_green})
168call s:h("SignColumn",    {"fg": s:medium_gray})
169
170if has("gui_running")
171  call s:h("SpellBad",    {"gui": "underline", "sp": s:red})
172  call s:h("SpellCap",    {"gui": "underline", "sp": s:light_green})
173  call s:h("SpellRare",   {"gui": "underline", "sp": s:pink})
174  call s:h("SpellLocal",  {"gui": "underline", "sp": s:dark_green})
175else
176  call s:h("SpellBad",    {"cterm": "underline", "fg": s:red})
177  call s:h("SpellCap",    {"cterm": "underline", "fg": s:light_green})
178  call s:h("SpellRare",   {"cterm": "underline", "fg": s:pink})
179  call s:h("SpellLocal",  {"cterm": "underline", "fg": s:dark_green})
180endif
181
182""" Help
183hi link helpHyperTextEntry Title
184hi link helpHyperTextJump  String
185
186""" StatusLine
187
188call s:h("StatusLine",        {"fg": s:status_line})
189call s:h("StatusLineNC",      {"fg": s:status_line_nc})
190
191" Those are not standard but are useful to emphasis different parts of the
192" status line.
193call s:h("StatusLineOk",      {"gui": "underline", "bg": s:bg, "fg": s:green})
194call s:h("StatusLineError",   {"gui": "underline", "bg": s:bg, "fg": s:pink})
195call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning})
196
197call s:h("Pmenu",         {"fg": s:norm, "bg": s:bg_subtle})
198call s:h("PmenuSel",      {"fg": s:green, "bg": s:bg_very_subtle, "gui": "bold"})
199call s:h("PmenuSbar",     {"fg": s:norm, "bg": s:bg_subtle})
200call s:h("PmenuThumb",    {"fg": s:norm, "bg": s:bg_subtle})
201call s:h("TabLine",       {"fg": s:norm_subtle, "bg": s:bg})
202call s:h("TabLineSel",    {"fg": s:norm, "bg": s:bg, "gui": "bold", "cterm": "bold"})
203call s:h("TabLineFill",   {"fg": s:norm_subtle, "bg": s:bg})
204call s:h("CursorColumn",  {"bg": s:bg_very_subtle})
205call s:h("CursorLine",    {"bg": s:cursor_line})
206call s:h("ColorColumn",   {"bg": s:bg_subtle})
207
208call s:h("MatchParen",    {"bg": s:bg_very_subtle, "fg": s:norm, "cterm": "bold"})
209hi link qfLineNr secondAccent
210hi link qfFileName firstAccent
211
212call s:h("htmlH1",        {"fg": s:norm})
213call s:h("htmlH2",        {"fg": s:norm})
214call s:h("htmlH3",        {"fg": s:norm})
215call s:h("htmlH4",        {"fg": s:norm})
216call s:h("htmlH5",        {"fg": s:norm})
217call s:h("htmlH6",        {"fg": s:norm})
218
219call s:h("htmlBold",      {"fg": s:norm})
220call s:h("htmlItalic",    {"fg": s:norm})
221call s:h("htmlEndTag",    {"fg": s:norm})
222call s:h("htmlTag",       {"fg": s:norm})
223call s:h("htmlTagName",   {"fg": s:norm})
224call s:h("htmlArg",       {"fg": s:norm})
225call s:h("htmlError",     {"fg": s:red})
226
227" JavaScript highlighting
228"
229call s:h("javaScript",           {"bg": s:bg, "fg": s:norm})
230call s:h("javaScriptBraces",     {"bg": s:bg, "fg": s:norm})
231call s:h("javaScriptNumber",     {"bg": s:bg, "fg": s:green})
232
233hi link diffRemoved       DiffDelete
234hi link diffAdded         DiffAdd
235
236hi link TSAnnotation secondAccent
237" unstable for now:
238hi link TSAttribute secondAccent
239hi link TSBoolean Constant
240hi link TSCharacter Constant
241hi link TSComment Comment
242hi link TSConstructor Normal
243hi link TSConditional Statement
244hi link TSConstant Constant
245hi link TSConstBuiltin secondAccent
246hi link TSConstMacro secondAccent
247hi link TSError Error
248hi link TSException Error
249hi link TSField Normal
250hi link TSFloat Constant
251hi link TSFunction Normal
252hi link TSFuncBuiltin secondAccent
253hi link TSFuncMacro secondAccent
254hi link TSInclude Noise
255hi link TSKeyword Statement
256hi link TSKeywordFunction Statement
257hi link TSLabel Noise
258hi link TSMethod Normal
259hi link TSNamespace Noise
260hi link TSNone Noise
261hi link TSNumber Constant
262hi link TSOperator Normal
263hi link TSParameter Noise
264hi link TSParameterReference Statement
265hi link TSProperty TSField
266hi link TSPunctDelimiter Noise
267hi link TSPunctBracket Noise
268hi link TSPunctSpecial Noise
269hi link TSRepeat Normal
270hi link TSString Constant
271hi link TSStringRegex secondAccent
272hi link TSStringEscape secondAccent
273hi link TSTag Statement
274hi link TSTagDelimiter Noise
275hi link TSText Normal
276hi link TSEmphasis Comment
277hi link TSUnderline Underlined
278hi link TSStrike Underlined
279hi link TSTitle Statement
280hi link TSLiteral Noise
281hi link TSURI Constant
282hi link TSType Noise
283hi link TSTypeBuiltin secondAccent
284hi link TSVariable Normal
285hi link TSVariableBuiltin Normal
286hi link TSRepeat Statement
287
288" nvim-lsp diagnostics
289hi link LspDiagnosticsDefaultError Error
290hi link LspDiagnosticsDefaultWarning WarningMsg
291hi link LspDiagnosticsDefaultInformation Noise
292hi link LspDiagnosticsDefaultHint Constant
293
294" Signify, git-gutter
295hi link SignifySignAdd              LineNr
296hi link SignifySignDelete           LineNr
297hi link SignifySignChange           LineNr
298hi link GitGutterAdd                LineNr
299hi link GitGutterDelete             LineNr
300hi link GitGutterChange             LineNr
301hi link GitGutterChangeDelete       LineNr
302
303hi link jsFlowTypeKeyword Statement
304hi link jsFlowImportType Statement
305hi link jsFunction Function
306hi link jsGlobalObjects Noise
307hi link jsGlobalNodeObjects Normal
308hi link jsSwitchCase Constant
309
310call s:h("jsSpreadOperator ",     {"bg": s:bg, "fg": s:selection})
311hi link jsReturn jsSpreadOperator
312hi link jsExport jsSpreadOperator
313
314call s:h("rustModPath ",     {"fg": s:lightest_gray})
315hi link rustMacro secondAccent
316hi link rustKeyword Noise
317hi link rustDerive secondAccent
318hi link rustDeriveTrait secondAccent
319hi link rustAttribute secondAccent
320hi link rustLifetime secondAccent
321
322hi link schemeSyntax Normal
323hi link schemeParentheses Noise
324hi link schemeIdentifier Noise
325
326hi link lispParen Noise
327hi link lispSymbol Noise
328
329hi link shCommandSub secondAccent
330
331hi link cFormat secondAccent
332
333hi link nixBuiltin secondAccent
334hi link nixNamespacedBuiltin secondAccent
335
336hi link sqlSpecial firstAccent
337hi link sqlKeyword secondAccent
338
339hi link helpExample Noise
340hi link helpCommand secondAccent
341hi link helpBacktick secondAccent
342hi link helpSpecial Noise
343
344hi link StorageClass Statement
345
346hi link elmType Type
347
348hi link xmlTag Constant
349hi link xmlTagName xmlTag
350hi link xmlEndTag xmlTag
351hi link xmlAttrib xmlTag
352
353hi link markdownH1 Statement
354hi link markdownH2 Statement
355hi link markdownH3 Statement
356hi link markdownH4 Statement
357hi link markdownH5 Statement
358hi link markdownH6 Statement
359hi link markdownListMarker Constant
360hi link markdownCode Constant
361hi link markdownCodeBlock Constant
362hi link markdownCodeDelimiter Constant
363hi link markdownHeadingDelimiter Constant
364
365call s:h("cssBraces",     {"bg": s:bg, "fg": s:selection})
366hi link cssTextProp Noise
367hi link cssTagName Normal
368
369" floatwin
370hi link NormalFloat FloatWin
371hi link CmpItemKind firstAccent
372hi link CmpItemAbbrMatch secondAccent