From 067640ad9484989d8b27dee89c0dd530344b4a8e Mon Sep 17 00:00:00 2001 From: Shubham Saini Date: Fri, 9 Sep 2022 16:31:41 -0700 Subject: added plain color --- nvim/.config/nvim/colors/plain.vim | 369 +++++++++++++++++++++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 nvim/.config/nvim/colors/plain.vim diff --git a/nvim/.config/nvim/colors/plain.vim b/nvim/.config/nvim/colors/plain.vim new file mode 100644 index 0000000..4b712bd --- /dev/null +++ b/nvim/.config/nvim/colors/plain.vim @@ -0,0 +1,369 @@ +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='plain' + +let s:black = { "gui": "#222222", "cterm": "0" } +let s:medium_gray = { "gui": "#767676", "cterm": "8" } +let s:white = { "gui": "#F1F1F1", "cterm": "7" } +let s:actual_white = { "gui": "#FFFFFF", "cterm": "15" } +let s:light_black = { "gui": "#424242", "cterm": "11" } +let s:lighter_black = { "gui": "#545454", "cterm": "12" } +let s:subtle_black = { "gui": "#303030", "cterm": "11" } +let s:light_gray = { "gui": "#999999", "cterm": "12" } +let s:lighter_gray = { "gui": "#CCCCCC", "cterm": "7" } +let s:lightest_gray = { "gui": "#E5E5E5", "cterm": "13" } +let s:pink = { "gui": "#FB007A", "cterm": "5" } +let s:dark_red = { "gui": "#C30771", "cterm": "1" } +let s:light_red = { "gui": "#E32791", "cterm": "1" } +let s:orange = { "gui": "#D75F5F", "cterm": "9" } +let s:darker_blue = { "gui": "#005F87", "cterm": "4" } +let s:dark_blue = { "gui": "#008EC4", "cterm": "4" } +let s:blue = { "gui": "#20BBFC", "cterm": "4" } +let s:light_blue = { "gui": "#B6D6FD", "cterm": "4" } +let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" } +let s:light_cyan = { "gui": "#4FB8CC", "cterm": "6" } +let s:dark_green = { "gui": "#10A778", "cterm": "6" } +let s:light_green = { "gui": "#5FD7A7", "cterm": "6" } +let s:dark_purple = { "gui": "#523C79", "cterm": "5" } +let s:light_purple = { "gui": "#6855DE", "cterm": "5" } +let s:light_yellow = { "gui": "#F3E430", "cterm": "3" } +let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" } + +if &background == "dark" + let s:bg = s:white + let s:bg_subtle = s:lighter_gray + let s:bg_very_subtle = s:light_gray + let s:norm = s:light_black + let s:norm_subtle = s:lighter_black + let s:purple = s:dark_purple + let s:cyan = s:dark_cyan + let s:green = s:dark_green + let s:red = s:dark_red + let s:yellow = s:dark_yellow + let s:visual = s:light_blue + let s:cursor_line = s:medium_gray + let s:status_line = s:lighter_gray + let s:status_line_nc = s:lighter_black + let s:constant = s:dark_blue + let s:comment = s:light_gray + let s:selection = s:light_yellow + let s:warning = s:yellow +else + let s:bg = s:black + let s:bg_subtle = s:light_black + let s:bg_very_subtle = s:subtle_black + let s:norm = s:lighter_gray + let s:norm_subtle = s:light_gray + let s:purple = s:light_purple + let s:cyan = s:light_cyan + let s:green = s:light_green + let s:red = s:light_red + let s:yellow = s:light_yellow + let s:visual = s:subtle_black + let s:cursor_line = s:subtle_black + let s:status_line = s:lighter_black + let s:status_line_nc = s:subtle_black + let s:constant = s:light_green + let s:comment = s:lighter_black + let s:selection = s:light_purple + let s:warning = s:yellow +endif + +" https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") +endfunction + +call s:h("firstAccent", {"fg": s:cyan}) +call s:h("secondAccent", {"fg": s:purple}) + +call s:h("Normal", {"fg": s:norm,}) +call s:h("Noise", {"fg": s:norm_subtle}) +call s:h("Cursor", {"bg": s:green, "fg": s:norm}) +call s:h("Comment", {"fg": s:comment, "cterm": "italic"}) +call s:h("Function", {"fg": s:norm, "cterm": "bold"}) +call s:h("FloatWin", {"fg": s:norm, "bg": s:black}) + +hi! link Constant firstAccent +hi! link Character Constant +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant +hi! link String Constant + +"call s:h("Identifier", {"fg": s:dark_blue}) +hi! link Identifier Normal + +"hi! link Statement Normal +call s:h("Statement", {"fg": s:norm, "cterm": "bold"}) +hi! link Conditonal Statement +hi! link Repeat Statement +hi! link Label Statement +hi! link Operator Noise +hi! link Keyword Statement +hi! link Exception Statement + +"call s:h("PreProc", {"fg": s:red}) +hi! link PreProc Normal +hi! link Include Statement +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + +"call s:h("Type", {"fg": s:purple}) +hi! link Type secondAccent +hi! link StorageClass Type +hi! link Structure Noise +hi! link Typedef Noise + +"call s:h("Special", {"fg": s:pink}) +hi! link Special StatusLine +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +hi! link Conceal NonText + +call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg}) +call s:h("Error", {"fg": s:red, "cterm": "bold"}) +call s:h("Todo", {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"}) +call s:h("SpecialKey", {"fg": s:subtle_black}) +call s:h("NonText", {"fg": s:bg_very_subtle}) +call s:h("Directory", {"fg": s:dark_green}) +call s:h("ErrorMsg", {"fg": s:pink}) +call s:h("IncSearch", {"bg": s:selection, "fg": s:black}) +call s:h("Search", {"bg": s:selection, "fg": s:black}) +call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:medium_gray}) +call s:h("CursorLineNr", {"fg": s:green, "bg": s:bg_very_subtle}) +call s:h("Question", {"fg": s:red}) +call s:h("VertSplit", {"bg": s:bg, "fg": s:bg_very_subtle}) +call s:h("Title", {"fg": s:dark_green}) +call s:h("Visual", {"bg": s:visual}) +call s:h("VisualNOS", {"bg": s:bg_subtle}) +call s:h("WarningMsg", {"fg": s:warning}) +call s:h("WildMenu", {"fg": s:white, "bg": s:bg}) +call s:h("Folded", {"fg": s:medium_gray}) +call s:h("FoldColumn", {"fg": s:bg_subtle}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:dark_yellow}) +call s:h("DiffText", {"fg": s:dark_green}) +call s:h("SignColumn", {"fg": s:medium_gray}) + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:light_green}) + call s:h("SpellRare", {"gui": "underline", "sp": s:pink}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) +else + call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:pink}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) +endif + +""" Help +hi link helpHyperTextEntry Title +hi link helpHyperTextJump String + +""" StatusLine + +call s:h("StatusLine", {"fg": s:status_line}) +call s:h("StatusLineNC", {"fg": s:status_line_nc}) + +" Those are not standard but are useful to emphasis different parts of the +" status line. +call s:h("StatusLineOk", {"gui": "underline", "bg": s:bg, "fg": s:green}) +call s:h("StatusLineError", {"gui": "underline", "bg": s:bg, "fg": s:pink}) +call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning}) + +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuSel", {"fg": s:green, "bg": s:bg_very_subtle, "gui": "bold"}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLine", {"fg": s:norm_subtle, "bg": s:bg}) +call s:h("TabLineSel", {"fg": s:norm, "bg": s:bg, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm_subtle, "bg": s:bg}) +call s:h("CursorColumn", {"bg": s:bg_very_subtle}) +call s:h("CursorLine", {"bg": s:cursor_line}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +call s:h("MatchParen", {"bg": s:bg_very_subtle, "fg": s:norm}) +hi link qfLineNr secondAccent +hi link qfFileName firstAccent + +call s:h("htmlH1", {"fg": s:norm}) +call s:h("htmlH2", {"fg": s:norm}) +call s:h("htmlH3", {"fg": s:norm}) +call s:h("htmlH4", {"fg": s:norm}) +call s:h("htmlH5", {"fg": s:norm}) +call s:h("htmlH6", {"fg": s:norm}) + +call s:h("htmlBold", {"fg": s:norm}) +call s:h("htmlItalic", {"fg": s:norm}) +call s:h("htmlEndTag", {"fg": s:norm}) +call s:h("htmlTag", {"fg": s:norm}) +call s:h("htmlTagName", {"fg": s:norm}) +call s:h("htmlArg", {"fg": s:norm}) +call s:h("htmlError", {"fg": s:red}) + +" JavaScript highlighting +" +call s:h("javaScript", {"bg": s:bg, "fg": s:norm}) +call s:h("javaScriptBraces", {"bg": s:bg, "fg": s:norm}) +call s:h("javaScriptNumber", {"bg": s:bg, "fg": s:green}) + +hi link diffRemoved DiffDelete +hi link diffAdded DiffAdd + +hi link TSAnnotation secondAccent +" unstable for now: +hi link TSAttribute secondAccent +hi link TSBoolean Constant +hi link TSCharacter Constant +hi link TSComment Comment +hi link TSConstructor Normal +hi link TSConditional Statement +hi link TSConstant Constant +hi link TSConstBuiltin secondAccent +hi link TSConstMacro secondAccent +hi link TSError Error +hi link TSException Error +hi link TSField Normal +hi link TSFloat Constant +hi link TSFunction Normal +hi link TSFuncBuiltin secondAccent +hi link TSFuncMacro secondAccent +hi link TSInclude Noise +hi link TSKeyword Statement +hi link TSKeywordFunction Statement +hi link TSLabel Noise +hi link TSMethod Normal +hi link TSNamespace Noise +hi link TSNone Noise +hi link TSNumber Constant +hi link TSOperator Normal +hi link TSParameter Noise +hi link TSParameterReference Statement +hi link TSProperty TSField +hi link TSPunctDelimiter Noise +hi link TSPunctBracket Noise +hi link TSPunctSpecial Noise +hi link TSRepeat Normal +hi link TSString Constant +hi link TSStringRegex secondAccent +hi link TSStringEscape secondAccent +hi link TSTag Statement +hi link TSTagDelimiter Noise +hi link TSText Normal +hi link TSEmphasis Statement +hi link TSUnderline Underlined +hi link TSStrike Underlined +hi link TSTitle Statement +hi link TSLiteral Noise +hi link TSURI Constant +hi link TSType Noise +hi link TSTypeBuiltin secondAccent +hi link TSVariable Normal +hi link TSVariableBuiltin Normal +hi link TSRepeat Statement + +" nvim-lsp diagnostics +hi link LspDiagnosticsDefaultError Error +hi link LspDiagnosticsDefaultWarning WarningMsg +hi link LspDiagnosticsDefaultInformation Noise +hi link LspDiagnosticsDefaultHint Constant + +" Signify, git-gutter +hi link SignifySignAdd LineNr +hi link SignifySignDelete LineNr +hi link SignifySignChange LineNr +hi link GitGutterAdd LineNr +hi link GitGutterDelete LineNr +hi link GitGutterChange LineNr +hi link GitGutterChangeDelete LineNr + +hi link jsFlowTypeKeyword Statement +hi link jsFlowImportType Statement +hi link jsFunction Function +hi link jsGlobalObjects Noise +hi link jsGlobalNodeObjects Normal +hi link jsSwitchCase Constant + +call s:h("jsSpreadOperator ", {"bg": s:bg, "fg": s:selection}) +hi link jsReturn jsSpreadOperator +hi link jsExport jsSpreadOperator + +call s:h("rustModPath ", {"fg": s:lightest_gray}) +hi link rustMacro secondAccent +hi link rustKeyword Noise +hi link rustDerive secondAccent +hi link rustDeriveTrait secondAccent +hi link rustAttribute secondAccent +hi link rustLifetime secondAccent + +hi link schemeSyntax Normal +hi link schemeParentheses Noise +hi link schemeIdentifier Noise + +hi link lispParen Noise +hi link lispSymbol Noise + +hi link shCommandSub secondAccent + +hi link cFormat secondAccent + +hi link nixBuiltin secondAccent +hi link nixNamespacedBuiltin secondAccent + +hi link sqlSpecial firstAccent +hi link sqlKeyword secondAccent + +hi link helpExample Noise +hi link helpCommand secondAccent +hi link helpBacktick secondAccent +hi link helpSpecial Noise + +hi link StorageClass Statement + +hi link elmType Type + +hi link xmlTag Constant +hi link xmlTagName xmlTag +hi link xmlEndTag xmlTag +hi link xmlAttrib xmlTag + +hi link markdownH1 Statement +hi link markdownH2 Statement +hi link markdownH3 Statement +hi link markdownH4 Statement +hi link markdownH5 Statement +hi link markdownH6 Statement +hi link markdownListMarker Constant +hi link markdownCode Constant +hi link markdownCodeBlock Constant +hi link markdownCodeDelimiter Constant +hi link markdownHeadingDelimiter Constant + +call s:h("cssBraces", {"bg": s:bg, "fg": s:selection}) +hi link cssTextProp Noise +hi link cssTagName Normal + +" floatwin +hi link NormalFloat FloatWin -- cgit v1.2.3