" vi:syntax=vim " " Top-level remarks: " " - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors " for GUI and terminal Vim. " - `link` allows for linking one syntax group to another, reusing the same color " settings. Language-specific groups can then point to one of the base color highlight " groups, for example, without needing to repeat the raw color values. " " There are several kinds of syntax identifiers: " " - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim " elements, like whitespace, bold text, the foldcolumn, etc " - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for " syntax elements that various language syntax files link to. For instance, Python " syntax files might have specific patterns that match function keywords like "def," and " the resulting syntax region can be highlighted by linking it to the core "Function" " highlight identifier. " - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for " treesitter-based syntax highlighting, which can replace regex-based matching when " enabled for richer (and often faster) highlighting. These groups can be linked to the " core identifiers like any other language. " " *Note*: each of these identifiers can add a lang-specific suffix to style those groups " as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style " Python booleans red, while the lang-agnostic `@boolean` definition remains. " - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core " to vim/nvim, but often appear only in the context of plugins or certain modules (like " LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's " built-in LSP hover info. " GUI color definitions let s:gui00 = "#27201f" let g:base16_gui00 = "#27201f" let s:gui01 = "#332c2b" let g:base16_gui01 = "#332c2b" let s:gui02 = "#403837" let g:base16_gui02 = "#403837" let s:gui03 = "#4d4644" let g:base16_gui03 = "#4d4644" let s:gui04 = "#b5abaa" let g:base16_gui04 = "#b5abaa" let s:gui05 = "#c5bbba" let g:base16_gui05 = "#c5bbba" let s:gui06 = "#d5cbca" let g:base16_gui06 = "#d5cbca" let s:gui07 = "#e5dbda" let g:base16_gui07 = "#e5dbda" let s:gui08 = "#e95949" let g:base16_gui08 = "#e95949" let s:gui09 = "#c97920" let g:base16_gui09 = "#c97920" let s:gui0A = "#989250" let g:base16_gui0A = "#989250" let s:gui0B = "#5da268" let g:base16_gui0B = "#5da268" let s:gui0C = "#5da268" let g:base16_gui0C = "#5da268" let s:gui0D = "#658ed9" let g:base16_gui0D = "#658ed9" let s:gui0E = "#658ed9" let g:base16_gui0E = "#658ed9" let s:gui0F = "#e95949" let g:base16_gui0F = "#e95949" let s:grey = "#786f6e" " Terminal color definitions let s:cterm00 = "00" let g:base16_cterm00 = "00" let s:cterm03 = "08" let g:base16_cterm03 = "08" let s:cterm05 = "07" let g:base16_cterm05 = "07" let s:cterm07 = "15" let g:base16_cterm07 = "15" let s:cterm08 = "01" let g:base16_cterm08 = "01" let s:cterm0A = "03" let g:base16_cterm0A = "03" let s:cterm0B = "02" let g:base16_cterm0B = "02" let s:cterm0C = "06" let g:base16_cterm0C = "06" let s:cterm0D = "04" let g:base16_cterm0D = "04" let s:cterm0E = "05" let g:base16_cterm0E = "05" let s:cterm01 = "10" let g:base16_cterm01 = "10" let s:cterm02 = "11" let g:base16_cterm02 = "11" let s:cterm04 = "12" let g:base16_cterm04 = "12" let s:cterm06 = "13" let g:base16_cterm06 = "13" let s:cterm09 = "09" let g:base16_cterm09 = "09" let s:cterm0F = "14" let g:base16_cterm0F = "14" " Neovim terminal colours if has("nvim") let g:terminal_color_0 = "#27201f" let g:terminal_color_1 = "#e95949" let g:terminal_color_2 = "#5da268" let g:terminal_color_3 = "#989250" let g:terminal_color_4 = "#658ed9" let g:terminal_color_5 = "#658ed9" let g:terminal_color_6 = "#5da268" let g:terminal_color_7 = "#c5bbba" let g:terminal_color_8 = "#4d4644" let g:terminal_color_9 = "#e95949" let g:terminal_color_10 = "#5da268" let g:terminal_color_11 = "#989250" let g:terminal_color_12 = "#658ed9" let g:terminal_color_13 = "#658ed9" let g:terminal_color_14 = "#5da268" let g:terminal_color_15 = "#e5dbda" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 if &background == "light" let g:terminal_color_background = g:terminal_color_7 let g:terminal_color_foreground = g:terminal_color_2 endif elseif has("terminal") let g:terminal_ansi_colors = [ \ "#27201f", \ "#e95949", \ "#5da268", \ "#989250", \ "#658ed9", \ "#658ed9", \ "#5da268", \ "#c5bbba", \ "#4d4644", \ "#e95949", \ "#5da268", \ "#989250", \ "#658ed9", \ "#658ed9", \ "#5da268", \ "#e5dbda", \ ] endif let s:guibg = s:gui00 let s:ctermbg = s:cterm00 " Theme setup hi clear syntax reset let g:colors_name = "active" " Highlighting function " Optional variables are attributes and guisp function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) " For a given syntax group, sets the GUI and terminal foreground and backgrounds " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be " 'special' colors used for underlines in the GUI. let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") " See :help highlight-guifg let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] if a:guifg != "" if index(l:gui_special_names, a:guifg) >= 0 exec "hi " . a:group . " guifg=" . a:guifg else exec "hi " . a:group . " guifg=" . a:guifg endif endif if a:guibg != "" if index(l:gui_special_names, a:guibg) >= 0 exec "hi " . a:group . " guibg=" . a:guibg else exec "hi " . a:group . " guibg=" . a:guibg endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg endif if a:ctermbg != "" exec "hi " . a:group . " ctermbg=" . a:ctermbg endif if l:attr != "" exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" if index(l:gui_special_names, l:guisp) >= 0 exec "hi " . a:group . " guisp=" . l:guisp else exec "hi " . a:group . " guisp=" . l:guisp endif endif endfunction fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) endfun " color groups for interpretability call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") " Vim editor colors call hi("Bold", "", "", "", "", "bold", "") call hi("Italic", "", "", "", "", "italic", "") call hi("BoldItalic", "", "", "", "", "italic,bold", "") call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") call hi("Debug", s:gui08, "", s:cterm08, "", "", "") call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") call hi("Exception", s:gui08, "", s:cterm08, "", "", "") call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") call hi("Underlined", "", "", "", "", "underline", "fg") call hi("Visual", "", s:gui02, "", s:cterm02, "", "") call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") "call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") hi! link Conceal ThemeBlue call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") call hi("NonText", s:gui03, "", s:cterm03, "", "", "") call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") " Standard syntax call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") hi! link Boolean ThemeOrange hi! link Character ThemeRed hi! link Comment ThemeGreyItalic hi! link Conditional ThemeRed hi! link Constant ThemeOrange hi! link Delimiter ThemeFg1 hi! link Float ThemeOrange hi! link Function ThemeBlue hi! link Include ThemeBlue hi! link Constant ThemeOrange hi! link Label ThemeOrange hi! link Number ThemeOrange hi! link Operator ThemeYellow hi! link PreProc ThemeOrange hi! link Repeat ThemeViolet hi! link Special ThemeYellow hi! link SpecialChar ThemeMagenta hi! link Statement ThemeRed hi! link StorageClass ThemeOrange hi! link String ThemeGreen hi! link Structure ThemeOrange hi! link Tag ThemeOrange hi! link Type ThemeYellow hi! link Typedef ThemeOrange " Treesitter if has("nvim-0.8.0") hi! link @field ThemeRed hi! link @property ThemeRed hi! link @namespace ThemeFg1Italic hi! link @variable.builtin ThemeFg1Italic hi! link @variable ThemeFg2 hi! link @conceal ThemeBlue hi! link @text.uri ThemeRedItalic hi! link @text.reference ThemeRed hi! link @annotation ThemeViolet hi! link @attribute ThemeBlue hi! link @boolean ThemeOrange hi! link @character ThemeRed hi! link @character.special ThemeMagenta hi! link @comment Comment hi! link @constant ThemeBlue hi! link @constant.builtin ThemeBlue hi! link @constant.macro ThemeRed hi! link @keyword.directive.define ThemeViolet hi! link @keyword.exception ThemeRed hi! link @comment.error ThemeRed hi! link @number.float ThemeRed hi! link @keyword.function ThemeRed hi! link @function ThemeBlue hi! link @function.builtin ThemeBlue hi! link @function.call ThemeBlue hi! link @function.macro ThemeRed hi! link @function.method ThemeBlue hi! link @function.method.call ThemeBlue hi! link @keyword.debug ThemeRed hi! link @keyword.conditional ThemeRed hi! link @keyword.import ThemeViolet hi! link @keyword.coroutine ThemeViolet hi! link @keyword.operator ThemeYellow hi! link @keyword.directive ThemeViolet hi! link @keyword.repeat ThemeViolet hi! link @keyword.storage ThemeViolet hi! link @keyword.return ThemeRed hi! link @constructor ThemeBlue hi! link @namespace.builtin ThemeViolet hi! link @none ThemeFg1 hi! link @number ThemeOrange hi! link @string ThemeGreen hi! link @tag ThemeRed hi! link @tag.delimiter ThemeViolet hi! link @tag.attribute ThemeYellow " affects markdown hi! link @markup ThemeYellow hi! link @markup.raw ThemeGreen hi! link @markup.raw.block.lang ThemeFg2Bold hi! link @markup.raw.block.marker ThemeRed "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") hi! link @markup.list ThemeBlue hi! link @markup.quote ThemeGrey hi! link @markup.link ThemeYellow " borders hi! link @markup.link.text ThemeBlue hi! link @markup.link.label ThemeYellow hi! link @markup.link.url ThemeYellow hi! link @markup.link.dest ThemeFg3 hi! link @markup.link.wiki ThemeYellow hi! link @markup.link.wiki.text ThemeBlue hi! link @markup.link.wiki.label ThemeYellow "hi! link @markup.link.label.symbol ThemeGreen "hi! link markdownWikiLink ThemeViolet " hi! link @markup.environment ThemeYellow hi! link @markup.environment.name ThemeYellow hi! link @markup.math ThemeYellow hi! link @punctuation.delimiter.latex ThemeOrange hi! link @markup.strong Bold hi! link @markup.emphasis Bold hi! link @markup.strikethrough ThemeYellow hi! link @markup.underline ThemeYellow hi! link @comment.info ThemeBlue hi! link @comment.todo ThemeYellow hi! link @comment.note ThemeBg3 hi! link @comment.hint ThemeGreen hi! link @comment.warning ThemeOrange hi! link @type ThemeYellow hi! link @type.builtin ThemeOrange hi! link @type.definition ThemeViolet hi! link @type.qualifier ThemeViolet " Markdown " hi! link @spell.markdown ThemeFg3 "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") "hi! link @markup.heading ThemeRed hi! link @markup.heading.marker ThemeOrange hi! link @markup.heading.title ThemeRed "Italic " set this for a strong background "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") hi! link @markup.heading.title.1 Bold hi! link @markup.heading.title.3 Italic "hi! link @markup.heading.4.title Italic " YAML hi! link @string.yaml ThemeBlue hi! link @punctuation.delimiter.yaml ThemeGreen hi! link @property.yaml ThemeFg2 " Diff hi! link @diff.minus ThemeRed hi! link @diff.plus ThemeGreen call hi("TreesitterContext", "", s:gui00, "", "", "", "") "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) endif " Standard highlights to be used by plugins if has("patch-8.0.1038") call hi("Deprecated", "", "", "", "", "strikethrough", "") endif call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") " LSP if has("nvim") hi! link DiagnosticError ErrorSign hi! link DiagnosticWarn WarningSign hi! link DiagnosticInfo InfoSign hi! link DiagnosticHint HintSign hi! link DiagnosticOk OkSign hi! link DiagnosticFloatingError ErrorFloat hi! link DiagnosticFloatingWarn WarningFloat hi! link DiagnosticFloatingInfo InfoFloat hi! link DiagnosticFloatingHint HintFloat hi! link DiagnosticFloatingOk OkFloat hi! link DiagnosticUnderlineError ErrorHighlight hi! link DiagnosticUnderlineWarn WarningHighlight hi! link DiagnosticUnderlineInfo InfoHighlight hi! link DiagnosticUnderlineHint HintHighlight hi! link DiagnosticUnderlineOk OkHighlight hi! link DiagnosticsVirtualTextError ErrorSign hi! link DiagnosticsVirtualTextWarning WarningSign hi! link DiagnosticsVirtualTextInfo InfoSign hi! link DiagnosticsVirtualTextHint HintSign hi! link DiagnosticsVirtualTextOk OkSign " Remove untill endif on next nvim release hi! link LspDiagnosticsSignError ErrorSign hi! link LspDiagnosticsSignWarning WarningSign hi! link LspDiagnosticsSignInfo InfoSign hi! link LspDiagnosticsSignHint HintSign hi! link LspDiagnosticsVirtualTextError ErrorSign hi! link LspDiagnosticsVirtualTextWarning WarningSign hi! link LspDiagnosticsVirtualTextInfo InfoSign hi! link LspDiagnosticsVirtualTextHint HintSign hi! link LspDiagnosticsFloatingError ErrorFloat hi! link LspDiagnosticsFloatingWarning WarningFloat hi! link LspDiagnosticsFloatingInfo InfoFloat hi! link LspDiagnosticsFloatingHint HintFloat hi! link LspDiagnosticsUnderlineError ErrorHighlight hi! link LspDiagnosticsUnderlineWarning WarningHighlight hi! link LspDiagnosticsUnderlineInfo InfoHighlight hi! link LspDiagnosticsUnderlineHint HintHighlight hi! link LspReferenceText ReferenceText hi! link LspReferenceRead ReferenceRead hi! link LspReferenceWrite ReferenceWrite endif " " " LANGUAGES " " " C call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") " C# call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") call hi("csType", s:gui08, "", s:cterm08, "", "", "") call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") " Clap hi! link ClapInput ColorColumn hi! link ClapSpinner ColorColumn hi! link ClapDisplay Default hi! link ClapPreview ColorColumn hi! link ClapCurrentSelection CursorLine hi! link ClapNoMatchesFound ErrorFloat " Coc hi! link CocErrorSign ErrorSign hi! link CocWarningSign WarningSign hi! link CocInfoSign InfoSign hi! link CocHintSign HintSign hi! link CocErrorFloat ErrorFloat hi! link CocWarningFloat WarningFloat hi! link CocInfoFloat InfoFloat hi! link CocHintFloat HintFloat hi! link CocErrorHighlight ErrorHighlight hi! link CocWarningHighlight WarningHighlight hi! link CocInfoHighlight InfoHighlight hi! link CocHintHighlight HintHighlight hi! link CocSem_angle Keyword hi! link CocSem_annotation Keyword hi! link CocSem_attribute Type hi! link CocSem_bitwise Keyword hi! link CocSem_boolean Boolean hi! link CocSem_brace Normal hi! link CocSem_bracket Normal hi! link CocSem_builtinAttribute Type hi! link CocSem_builtinType Type hi! link CocSem_character String hi! link CocSem_class Structure hi! link CocSem_colon Normal hi! link CocSem_comma Normal hi! link CocSem_comment Comment hi! link CocSem_comparison Keyword hi! link CocSem_concept Keyword hi! link CocSem_constParameter Identifier hi! link CocSem_dependent Keyword hi! link CocSem_dot Keyword hi! link CocSem_enum Structure hi! link CocSem_enumMember Constant hi! link CocSem_escapeSequence Type hi! link CocSem_event Identifier hi! link CocSem_formatSpecifier Type hi! link CocSem_function Function hi! link CocSem_interface Type hi! link CocSem_keyword Keyword hi! link CocSem_label Keyword hi! link CocSem_logical Keyword hi! link CocSem_macro Macro hi! link CocSem_method Function hi! link CocSem_modifier Keyword hi! link CocSem_namespace Identifier hi! link CocSem_number Number hi! link CocSem_operator Operator hi! link CocSem_parameter Identifier hi! link CocSem_parenthesis Normal hi! link CocSem_property Identifier hi! link CocSem_punctuation Keyword hi! link CocSem_regexp Type hi! link CocSem_selfKeyword Constant hi! link CocSem_semicolon Normal hi! link CocSem_string String hi! link CocSem_struct Structure hi! link CocSem_type Type hi! link CocSem_typeAlias Type hi! link CocSem_typeParameter Type hi! link CocSem_unknown Normal hi! link CocSem_variable Identifier call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") " CSS hi! link cssBraces ThemeBlue hi! link cssFunctionName ThemeYellow hi! link cssIdentifier ThemeOrange hi! link cssClassName ThemeGreen hi! link cssColor ThemeBlue hi! link cssSelectorOp ThemeBlue hi! link cssSelectorOp2 ThemeBlue hi! link cssImportant ThemeGreen hi! link cssVendor ThemeFg1 hi! link cssTextProp ThemeCyan hi! link cssAnimationProp ThemeCyan hi! link cssUIProp ThemeYellow hi! link cssTransformProp ThemeCyan hi! link cssTransitionProp ThemeCyan hi! link cssPrintProp ThemeCyan hi! link cssPositioningProp ThemeYellow hi! link cssBoxProp ThemeCyan hi! link cssFontDescriptorProp ThemeCyan hi! link cssFlexibleBoxProp ThemeCyan hi! link cssBorderOutlineProp ThemeCyan hi! link cssBackgroundProp ThemeCyan hi! link cssMarginProp ThemeCyan hi! link cssListProp ThemeCyan hi! link cssTableProp ThemeCyan hi! link cssFontProp ThemeCyan hi! link cssPaddingProp ThemeCyan hi! link cssDimensionProp ThemeCyan hi! link cssRenderProp ThemeCyan hi! link cssColorProp ThemeCyan hi! link cssGeneratedContentProp ThemeCyan " CMP hi! link CmpItemAbbrDeprecated Deprecated hi! link CmpItemAbbrMatch SearchMatch hi! link CmpItemAbbrMatchFuzzy SearchMatch hi! link CmpItemKindClass Type hi! link CmpItemKindColor Keyword hi! link CmpItemKindConstant Constant hi! link CmpItemKindConstructor Special hi! link CmpItemKindEnum Type hi! link CmpItemKindEnumMember Constant hi! link CmpItemKindEvent Identifier hi! link CmpItemKindField Character hi! link CmpItemKindFile Directory hi! link CmpItemKindFolder Directory hi! link CmpItemKindFunction Function hi! link CmpItemKindInterface Type hi! link CmpItemKindKeyword Keyword hi! link CmpItemKindMethod Function hi! link CmpItemKindModule Namespace hi! link CmpItemKindOperator Operator hi! link CmpItemKindProperty Identifier hi! link CmpItemKindReference Character hi! link CmpItemKindSnippet String hi! link CmpItemKindStruct Type hi! link CmpItemKindText Text hi! link CmpItemKindUnit Namespace hi! link CmpItemKindValue Comment hi! link CmpItemKindVariable Identifier if has("nvim-0.8.0") hi! link CmpItemKindField @field hi! link CmpItemKindProperty @property endif " Diff call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") " Git call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") " GitGutter hi! link GitGutterAdd GitAddSign hi! link GitGutterChange GitChangeSign hi! link GitGutterDelete GitDeleteSign hi! link GitGutterChangeDelete GitChangeDeleteSign " indent-blankline (nvim) if has("nvim") call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") endif " HTML call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") " JavaScript call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") " pangloss/vim-javascript call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") " Mail call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") " Markdown call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") " Matchup call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") " NERDTree call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") " Netrw hi! link netrwDir ThemeCyan hi! link netrwClassify ThemeCyan hi! link netrwLink ThemeBg3 hi! link netrwSymLink ThemeFg1 hi! link netrwExe ThemeYellow hi! link netrwComment ThemeBg3 hi! link netrwList ThemeBlue hi! link netrwHelpCmd ThemeCyan hi! link netrwCmdSep ThemeFg3 hi! link netrwVersion ThemeGreen " PHP call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") " Python "call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") "call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") "call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") "call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") " hi! link pythonBuiltin ThemeCyan " hi! link pythonBuiltinObj ThemeCyan " hi! link pythonBuiltinFunc ThemeGreen " hi! link pythonFunction Function " hi! link pythonDecorator ThemeYellow " hi! link pythonDecoratorName ThemeYellow " hi! link pythonTripleQuotes ThemeGreenItalic " hi! link pythonInclude ThemeBlue " hi! link pythonImport ThemeBlue " hi! link pythonRun ThemeBlue " hi! link pythonCoding ThemeBlue " hi! link pythonOperator ThemeRed " hi! link pythonException ThemeRed " hi! link pythonExceptions ThemeYellow " hi! link pythonBoolean ThemeYellow " hi! link pythonDot ThemeFg3 " hi! link pythonConditional ThemeCyan " hi! link pythonRepeat ThemeRed " hi! link pythonDottedName ThemeGreen " Ruby call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") " SASS call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") " Signify hi! link SignifySignAdd GitAddSign hi! link SignifySignChange GitChangeSign hi! link SignifySignDelete GitDeleteSign " Startify call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") " Java call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") " JSON hi! link jsonKeyword ThemeGreen hi! link jsonQuote ThemeGreen hi! link jsonBraces ThemeFg1 hi! link jsonString ThemeFg1 " Markdown hi! link markdownH1 ThemeRedBold hi! link markdownH2 ThemeRed hi! link markdownH3 ThemeRed hi! link markdownH4 ThemeRed hi! link markdownH5 ThemeRed hi! link markdownH6 ThemeRed hi! link markdownCode ThemeYellow hi! link markdownCodeBlock ThemeYellow hi! link markdownCodeDelimiter ThemeYellow hi! link markdownBlockquote ThemeGrey hi! link markdownListMarker ThemeBlue hi! link markdownOrderedListMarker ThemeBlue hi! link markdownRule ThemeGrey hi! link markdownHeadingRule ThemeGrey hi! link markdownUrlDelimiter ThemeFg3 hi! link markdownLinkDelimiter ThemeFg3 hi! link markdownLinkTextDelimiter ThemeFg3 hi! link markdownHeadingDelimiter ThemeOrange hi! link markdownUrlTitleDelimiter ThemeGreen hi! link markdownLink ThemeGreen hi! link markdownWikiLink ThemeViolet "hi! link markdownUrl ThemeOrange hi! link markdownUrl ThemeRed hi! link markdownUrlProtocol ThemeGreenItalic hi! link markdownInlineUrl ThemeOrange hi! link markdownLinkText ThemeViolet hi! link markdownIdDeclaration markdownLinkText hi! link pandocAtxHeader ThemeRed hi! link pandocAtxStart ThemeOrange "call s:HL('markdownItalic', s:fg3, s:none, s:italic) "call s:HL('markdownLinkText', s:gray, s:none, s:underline) " Remove functions delf hi " Remove color variables unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg