all repos — dotfiles @ d9063a1e2aaeab2e231b1e12ccb8f30413743923

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": "8"   }
 14let s:lighter_black   = { "gui": "#545454", "cterm": "8" }
 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:black, "bg": s:white})
 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_very_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
285
286" nvim-lsp diagnostics
287hi link LspDiagnosticsDefaultError Error
288hi link LspDiagnosticsDefaultWarning WarningMsg
289hi link LspDiagnosticsDefaultInformation Noise
290hi link LspDiagnosticsDefaultHint Constant
291
292" Signify, git-gutter
293hi link SignifySignAdd              LineNr
294hi link SignifySignDelete           LineNr
295hi link SignifySignChange           LineNr
296hi link GitGutterAdd                LineNr
297hi link GitGutterDelete             LineNr
298hi link GitGutterChange             LineNr
299hi link GitGutterChangeDelete       LineNr
300
301hi link jsFlowTypeKeyword Statement
302hi link jsFlowImportType Statement
303hi link jsFunction Function
304hi link jsGlobalObjects Noise
305hi link jsGlobalNodeObjects Normal
306hi link jsSwitchCase Constant
307
308call s:h("jsSpreadOperator ",     {"bg": s:bg, "fg": s:selection})
309hi link jsReturn jsSpreadOperator
310hi link jsExport jsSpreadOperator
311
312call s:h("rustModPath ",     {"fg": s:lightest_gray})
313hi link rustMacro secondAccent
314hi link rustKeyword Noise
315hi link rustDerive secondAccent
316hi link rustDeriveTrait secondAccent
317hi link rustAttribute secondAccent
318hi link rustLifetime secondAccent
319
320hi link schemeSyntax Normal
321hi link schemeParentheses Noise
322hi link schemeIdentifier Noise
323
324hi link lispParen Noise
325hi link lispSymbol Noise
326
327hi link shCommandSub secondAccent
328
329hi link cFormat secondAccent
330
331hi link nixBuiltin secondAccent
332hi link nixNamespacedBuiltin secondAccent
333
334hi link sqlSpecial firstAccent
335hi link sqlKeyword secondAccent
336
337hi link helpExample Noise
338hi link helpCommand secondAccent
339hi link helpBacktick secondAccent
340hi link helpSpecial Noise
341
342hi link StorageClass Statement
343
344hi link elmType Type
345
346hi link xmlTag Constant
347hi link xmlTagName xmlTag
348hi link xmlEndTag xmlTag
349hi link xmlAttrib xmlTag
350
351hi link markdownH1 Statement
352hi link markdownH2 Statement
353hi link markdownH3 Statement
354hi link markdownH4 Statement
355hi link markdownH5 Statement
356hi link markdownH6 Statement
357hi link markdownListMarker Constant
358hi link markdownCode Constant
359hi link markdownCodeBlock Constant
360hi link markdownCodeDelimiter Constant
361hi link markdownHeadingDelimiter Constant
362
363call s:h("cssBraces",     {"bg": s:bg, "fg": s:selection})
364hi link cssTextProp Noise
365hi link cssTagName Normal
366
367" floatwin
368hi link NormalFloat FloatWin