all repos — dotfiles @ 0c24f03e03c6d88ff9d620d308a778bcbde8dc77

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