" Vim Code Dark (color scheme) " https://github.com/tomasiser/vim-code-dark scriptencoding utf-8 set background=dark hi clear if exists("syntax_on") syntax reset endif let g:colors_name="codedark" " Highlighting function (inspiration from https://github.com/chriskempson/base16-vim) if &t_Co >= 256 let g:codedark_term256=1 elseif !exists("g:codedark_term256") let g:codedark_term256=0 endif fun! hi(group, fg, bg, attr, sp) if !empty(a:fg) exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . (g:codedark_term256 ? a:fg.cterm256 : a:fg.cterm) endif if !empty(a:bg) exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . (g:codedark_term256 ? a:bg.cterm256 : a:bg.cterm) endif if a:attr != "" exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr endif if !empty(a:sp) exec "hi " . a:group . " guisp=" . a:sp.gui endif endfun " Choose old or new name for Treesitter groups depending on Neovim version fun! hiTS(g_new, g_old, fg, bg, attr, sp) call hi(has("nvim-0.8.0") ? a:g_new : a:g_old, a:fg, a:bg, a:attr, a:sp) endfun fun! hiTSlink(g_new, g_old, link) exec "hi! link " . (has("nvim-0.8.0") ? a:g_new : a:g_old) . " " . a:link endfun " ------------------ " Color definitions: " ------------------ " Terminal colors (base16): let s:cterm00 = "00" let s:cterm03 = "08" let s:cterm05 = "07" let s:cterm07 = "15" let s:cterm08 = "01" let s:cterm0A = "03" let s:cterm0B = "02" let s:cterm0C = "06" let s:cterm0D = "04" let s:cterm0E = "05" if exists('base16colorspace') && base16colorspace == "256" let s:cterm01 = "18" let s:cterm02 = "19" let s:cterm04 = "20" let s:cterm06 = "21" let s:cterm09 = "16" let s:cterm0F = "17" else let s:cterm01 = "00" let s:cterm02 = "08" let s:cterm04 = "07" let s:cterm06 = "07" let s:cterm09 = "06" let s:cterm0F = "03" endif " General appearance colors: " (some of them may be unused) " Transparent background if !exists("g:codedark_transparent") let g:codedark_transparent=0 endif if !exists("g:codedark_modern") let g:codedark_modern=0 endif let s:cdNone = {'gui': 'NONE', 'cterm': 'NONE', 'cterm256': 'NONE'} let s:cdFront = {'gui': '#D4D4D4', 'cterm': s:cterm05, 'cterm256': '188'} let s:cdBack = {'gui': '#1E1E1E', 'cterm': s:cterm00, 'cterm256': '234'} if g:codedark_modern | let s:cdBack = {'gui': '#1f1f1f', 'cterm': 'NONE', 'cterm256': '234'} | endif if g:codedark_transparent | let s:cdBack = {'gui': 'NONE', 'cterm': 'NONE', 'cterm256': 'NONE'} | endif let s:cdTabCurrent = {'gui': '#1E1E1E', 'cterm': s:cterm00, 'cterm256': '234'} if g:codedark_modern | let s:cdTabCurrent = {'gui': '#1f1f1f', 'cterm': s:cterm00, 'cterm256': '234'} | endif let s:cdTabOther = {'gui': '#2D2D2D', 'cterm': s:cterm01, 'cterm256': '236'} if g:codedark_modern | let s:cdTabOther = {'gui': '#181818', 'cterm': s:cterm01, 'cterm256': '236'} | endif let s:cdTabOutside = {'gui': '#252526', 'cterm': s:cterm01, 'cterm256': '235'} if g:codedark_modern | let s:cdTabOutside = {'gui': '#181818', 'cterm': s:cterm01, 'cterm256': '236'} | endif let s:cdLeftDark = {'gui': '#252526', 'cterm': s:cterm01, 'cterm256': '235'} let s:cdLeftMid = {'gui': '#373737', 'cterm': s:cterm03, 'cterm256': '237'} if g:codedark_modern | let s:cdLeftMid = {'gui': '#181818', 'cterm': 'NONE', 'cterm256': '237'} | endif let s:cdLeftLight = {'gui': '#3F3F46', 'cterm': s:cterm03, 'cterm256': '238'} let s:cdPopupFront = {'gui': '#BBBBBB', 'cterm': s:cterm06, 'cterm256': '250'} let s:cdPopupBack = {'gui': '#2D2D30', 'cterm': s:cterm01, 'cterm256': '236'} let s:cdPopupHighlightBlue = {'gui': '#073655', 'cterm': s:cterm0D, 'cterm256': '24'} let s:cdPopupHighlightGray = {'gui': '#3D3D40', 'cterm': s:cterm03, 'cterm256': '237'} let s:cdSplitLight = {'gui': '#898989', 'cterm': s:cterm04, 'cterm256': '245'} let s:cdSplitDark = {'gui': '#444444', 'cterm': s:cterm03, 'cterm256': '238'} let s:cdSplitThumb = {'gui': '#424242', 'cterm': s:cterm04, 'cterm256': '238'} let s:cdCursorDarkDark = {'gui': '#222222', 'cterm': s:cterm01, 'cterm256': '235'} let s:cdCursorDark = {'gui': '#51504F', 'cterm': s:cterm03, 'cterm256': '239'} let s:cdCursorLight = {'gui': '#AEAFAD', 'cterm': s:cterm04, 'cterm256': '145'} let s:cdSelection = {'gui': '#264F78', 'cterm': s:cterm03, 'cterm256': '24'} let s:cdLineNumber = {'gui': '#5A5A5A', 'cterm': s:cterm04, 'cterm256': '240'} let s:cdDiffRedDark = {'gui': '#4B1818', 'cterm': s:cterm08, 'cterm256': '52'} if g:codedark_modern | let s:cdDiffRedDark = {'gui': '#da3633', 'cterm': 'NONE', 'cterm256': '52'} | endif let s:cdDiffRedLight = {'gui': '#6F1313', 'cterm': s:cterm08, 'cterm256': '52'} let s:cdDiffRedLightLight = {'gui': '#FB0101', 'cterm': s:cterm08, 'cterm256': '09'} let s:cdDiffGreenDark = {'gui': '#373D29', 'cterm': s:cterm0B, 'cterm256': '237'} if g:codedark_modern | let s:cdDiffGreenDark = {'gui': '#238636', 'cterm': 'NONE', 'cterm256': '237'} | endif let s:cdDiffGreenLight = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'} let s:cdDiffBlueLight = {'gui': '#87d7ff', 'cterm': s:cterm0C, 'cterm256': '117'} let s:cdDiffBlue = {'gui': '#005f87', 'cterm': s:cterm0D, 'cterm256': '24'} let s:cdSearchCurrent = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'} if g:codedark_modern | let s:cdSearchCurrent = {'gui': '#9e6a03', 'cterm': s:cterm09, 'cterm256': '58'} | endif let s:cdSearch = {'gui': '#773800', 'cterm': s:cterm03, 'cterm256': '94'} " Syntax colors: if !exists("g:codedark_conservative") let g:codedark_conservative=0 endif " Italicized comments if !exists("g:codedark_italics") let g:codedark_italics=0 endif let s:cdGray = {'gui': '#808080', 'cterm': s:cterm04, 'cterm256': '08'} let s:cdViolet = {'gui': '#646695', 'cterm': s:cterm04, 'cterm256': '60'} let s:cdBlue = {'gui': '#569CD6', 'cterm': s:cterm0D, 'cterm256': '75'} let s:cdDarkBlue = {'gui': '#223E55', 'cterm': s:cterm0D, 'cterm256': '73'} let s:cdLightBlue = {'gui': '#9CDCFE', 'cterm': s:cterm0C, 'cterm256': '117'} if g:codedark_conservative | let s:cdLightBlue = s:cdFront | endif let s:cdGreen = {'gui': '#6A9955', 'cterm': s:cterm0B, 'cterm256': '65'} let s:cdBlueGreen = {'gui': '#4EC9B0', 'cterm': s:cterm0F, 'cterm256': '43'} let s:cdLightGreen = {'gui': '#B5CEA8', 'cterm': s:cterm09, 'cterm256': '151'} let s:cdRed = {'gui': '#F44747', 'cterm': s:cterm08, 'cterm256': '203'} if g:codedark_modern | let s:cdRed = {'gui': '#f85149', 'cterm': s:cterm08, 'cterm256': '203'} | endif let s:cdOrange = {'gui': '#CE9178', 'cterm': s:cterm0F, 'cterm256': '173'} let s:cdLightRed = {'gui': '#D16969', 'cterm': s:cterm08, 'cterm256': '167'} if g:codedark_conservative | let s:cdLightRed = s:cdOrange | endif let s:cdYellowOrange = {'gui': '#D7BA7D', 'cterm': s:cterm0A, 'cterm256': '179'} let s:cdYellow = {'gui': '#DCDCAA', 'cterm': s:cterm0A, 'cterm256': '187'} if g:codedark_conservative | let s:cdYellow = s:cdFront | endif let s:cdPink = {'gui': '#C586C0', 'cterm': s:cterm0E, 'cterm256': '176'} if g:codedark_conservative | let s:cdPink = s:cdBlue | endif let s:cdSilver = {'gui': '#C0C0C0', 'cterm': s:cterm05, 'cterm256': '7'} " UI (built-in) " hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE, SPECIAL) call hi('Normal', s:cdFront, s:cdBack, 'none', {}) call hi('ColorColumn', {}, s:cdCursorDarkDark, 'none', {}) call hi('Cursor', s:cdCursorDark, s:cdCursorLight, 'none', {}) call hi('CursorLine', {}, s:cdCursorDarkDark, 'none', {}) hi! link CursorColumn CursorLine call hi('Directory', s:cdBlue, s:cdNone, 'none', {}) call hi('DiffAdd', s:cdFront, s:cdDiffGreenLight, 'none', {}) call hi('DiffChange', s:cdFront, s:cdDiffBlue, 'none', {}) call hi('DiffDelete', s:cdFront, s:cdDiffRedLight, 'none', {}) call hi('DiffText', s:cdBack, s:cdDiffBlueLight, 'none', {}) call hi('EndOfBuffer', s:cdLineNumber, s:cdBack, 'none', {}) call hi('ErrorMsg', s:cdRed, s:cdBack, 'none', {}) call hi('VertSplit', s:cdSplitDark, s:cdBack, 'none', {}) call hi('Folded', s:cdLeftLight, s:cdLeftDark, 'underline', {}) call hi('FoldColumn', s:cdLineNumber, s:cdBack, 'none', {}) call hi('SignColumn', {}, s:cdBack, 'none', {}) call hi('IncSearch', s:cdNone, s:cdSearchCurrent, 'none', {}) call hi('LineNr', s:cdLineNumber, s:cdBack, 'none', {}) call hi('CursorLineNr', s:cdPopupFront, s:cdBack, 'none', {}) call hi('MatchParen', s:cdNone, s:cdCursorDark, 'none', {}) call hi('ModeMsg', s:cdFront, s:cdLeftDark, 'none', {}) hi! link MoreMsg ModeMsg call hi('NonText', s:cdLineNumber, s:cdNone, 'none', {}) call hi('Pmenu', s:cdPopupFront, s:cdPopupBack, 'none', {}) call hi('PmenuSel', s:cdPopupFront, s:cdPopupHighlightBlue, 'none', {}) call hi('PmenuSbar', {}, s:cdPopupHighlightGray, 'none', {}) call hi('PmenuThumb', {}, s:cdPopupFront, 'none', {}) call hi('Question', s:cdBlue, s:cdBack, 'none', {}) call hi('Search', s:cdNone, s:cdSearch, 'none', {}) call hi('SpecialKey', s:cdBlue, s:cdNone, 'none', {}) call hi('StatusLine', s:cdFront, s:cdLeftMid, 'none', {}) call hi('StatusLineNC', s:cdFront, s:cdLeftDark, 'none', {}) call hi('TabLine', s:cdFront, s:cdTabOther, 'none', {}) call hi('TabLineFill', s:cdFront, s:cdTabOutside, 'none', {}) call hi('TabLineSel', s:cdFront, s:cdTabCurrent, 'none', {}) call hi('Title', s:cdNone, s:cdNone, 'bold', {}) call hi('Visual', s:cdNone, s:cdSelection, 'none', {}) hi! link VisualNOS Visual call hi('WarningMsg', s:cdOrange, s:cdBack, 'none', {}) call hi('WildMenu', s:cdNone, s:cdSelection, 'none', {}) call hi('netrwMarkFile', s:cdFront, s:cdSelection, 'none', {}) " Legacy groups for official git.vim and diff.vim syntax hi! link diffAdded DiffAdd hi! link diffChanged DiffChange hi! link diffRemoved DiffDelete if g:codedark_italics | call hi('Comment', s:cdGreen, {}, 'italic', {}) | else | call hi('Comment', s:cdGreen, {}, 'none', {}) | endif " SYNTAX HIGHLIGHT (built-in) call hi('Constant', s:cdBlue, {}, 'none', {}) call hi('String', s:cdOrange, {}, 'none', {}) call hi('Character', s:cdOrange, {}, 'none', {}) call hi('Number', s:cdLightGreen, {}, 'none', {}) call hi('Boolean', s:cdBlue, {}, 'none', {}) hi! link Float Number call hi('Identifier', s:cdLightBlue, {}, 'none', {}) call hi('Function', s:cdYellow, {}, 'none', {}) call hi('Statement', s:cdPink, {}, 'none', {}) call hi('Conditional', s:cdPink, {}, 'none', {}) call hi('Repeat', s:cdPink, {}, 'none', {}) call hi('Label', s:cdPink, {}, 'none', {}) call hi('Operator', s:cdFront, {}, 'none', {}) call hi('Keyword', s:cdPink, {}, 'none', {}) call hi('Exception', s:cdPink, {}, 'none', {}) call hi('PreProc', s:cdPink, {}, 'none', {}) call hi('Include', s:cdPink, {}, 'none', {}) call hi('Define', s:cdPink, {}, 'none', {}) call hi('Macro', s:cdPink, {}, 'none', {}) call hi('PreCondit', s:cdPink, {}, 'none', {}) call hi('Type', s:cdBlue, {}, 'none', {}) call hi('StorageClass', s:cdBlue, {}, 'none', {}) call hi('Structure', s:cdBlue, {}, 'none', {}) call hi('Typedef', s:cdBlue, {}, 'none', {}) call hi('Special', s:cdYellowOrange, {}, 'none', {}) call hi('SpecialChar', s:cdFront, {}, 'none', {}) call hi('Tag', s:cdFront, {}, 'none', {}) call hi('Delimiter', s:cdFront, {}, 'none', {}) if g:codedark_italics | call hi('SpecialComment', s:cdGreen, {}, 'italic', {}) | else | call hi('SpecialComment', s:cdGreen, {}, 'none', {}) | endif call hi('Debug', s:cdFront, {}, 'none', {}) call hi('Underlined', s:cdNone, {}, 'underline', {}) call hi("Conceal", s:cdFront, s:cdBack, 'none', {}) call hi('Ignore', s:cdBack, {}, 'none', {}) call hi('Error', s:cdRed, s:cdBack, 'undercurl', s:cdRed) call hi('Todo', s:cdNone, s:cdLeftMid, 'none', {}) call hi('SpellBad', s:cdRed, s:cdBack, 'undercurl', s:cdRed) call hi('SpellCap', s:cdRed, s:cdBack, 'undercurl', s:cdRed) call hi('SpellRare', s:cdRed, s:cdBack, 'undercurl', s:cdRed) call hi('SpellLocal', s:cdRed, s:cdBack, 'undercurl', s:cdRed) " NEOVIM " Make neovim specific groups load only on Neovim if has("nvim") " nvim-treesitter/nvim-treesitter (github) call hiTSlink('@error', 'TSError', 'ErrorMsg') call hiTSlink('@punctuation.delimiter', 'TSPunctDelimiter', 'Delimiter') call hiTSlink('@punctuation.bracket', 'TSPunctBracket', 'Delimiter') call hiTSlink('@punctuation.special', 'TSPunctSpecial', 'Delimiter') " Constant call hiTS('@constant', 'TSConstant', s:cdYellow, {}, 'none', {}) call hiTSlink('@constant.builtin', 'TSConstBuiltin', 'Constant') call hiTS('@constant.macro', 'TSConstMacro', s:cdBlueGreen, {}, 'none', {}) call hiTSlink('@string', 'TSString', 'String') call hiTSlink('@string.regex', 'TSStringRegex', 'String') call hiTS('@string.escape', 'TSStringEscape', s:cdYellowOrange, {}, 'none', {}) call hiTSlink('@character', 'TSCharacter', 'Character') call hiTSlink('@number', 'TSNumber', 'Number') call hiTS('@boolean', 'TSBoolean', s:cdBlue, {}, 'none', {}) call hiTSlink('@float', 'TSFloat', 'Float') call hiTS('@annotation', 'TSAnnotation', s:cdYellow, {}, 'none', {}) call hiTS('@attribute', 'TSAttribute', s:cdBlueGreen, {}, 'none', {}) call hiTS('@namespace', 'TSNamespace', s:cdBlueGreen, {}, 'none', {}) " Functions call hiTSlink('@function.builtin', 'TSFuncBuiltin', 'Function') call hiTSlink('@function', 'TSFunction','Function') call hiTSlink('@function.macro', 'TSFuncMacro','Function') call hiTS('@parameter', 'TSParameter', s:cdLightBlue, {}, 'none', {}) call hiTS('@parameter.reference', 'TSParameterReference', s:cdLightBlue, {}, 'none', {}) call hiTS('@method', 'TSMethod', s:cdYellow, {}, 'none', {}) call hiTS('@field', 'TSField', s:cdLightBlue, {}, 'none', {}) call hiTS('@property', 'TSProperty', s:cdLightBlue, {}, 'none', {}) call hiTS('@constructor', 'TSConstructor', s:cdBlueGreen, {}, 'none', {}) " Keywords call hiTSlink('@conditional', 'TSConditional', 'Conditional') call hiTSlink('@repeat', 'TSRepeat', 'Repeat') call hiTS('@label', 'TSLabel', s:cdLightBlue, {}, 'none', {}) call hiTS('@keyword', 'TSKeyword', s:cdBlue, {}, 'none', {}) call hiTS('@keyword.function', 'TSKeywordFunction', s:cdBlue, {}, 'none', {}) call hiTS('@keyword.operator', 'TSKeywordOperator', s:cdBlue, {}, 'none', {}) call hiTS('@operator', 'TSOperator', s:cdFront, {}, 'none', {}) call hiTS('@exception', 'TSException', s:cdPink, {}, 'none', {}) call hiTS('@type', 'TSType', s:cdBlueGreen, {}, 'none', {}) call hiTSlink('@type.builtin', 'TSTypeBuiltin', 'Type') call hi('TSStructure', s:cdLightBlue, {}, 'none', {}) call hiTSlink('@include', 'TSInclude', 'Include') " Variable call hiTS('@variable', 'TSVariable', s:cdLightBlue, {}, 'none', {}) call hiTS('@variable.builtin', 'TSVariableBuiltin', s:cdLightBlue, {}, 'none', {}) " Text call hiTS('@text', 'TSText', s:cdFront, s:cdNone, 'bold', {}) call hiTS('@text.strong', 'TSStrong', s:cdFront, s:cdNone, 'bold', {}) call hiTS('@text.emphasis', 'TSEmphasis', s:cdYellowOrange, s:cdNone, 'italic', {}) call hiTSlink('@text.underline', 'TSUnderline', 'Underlined') call hiTS('@text.title', 'TSTitle', s:cdBlue, {}, 'bold', {}) call hiTS('@text.literal', 'TSLiteral', s:cdOrange, {}, 'none', {}) call hiTS('@text.uri', 'TSURI', s:cdOrange, {}, 'none', {}) " Tags call hiTS('@tag', 'TSTag', s:cdBlue, {}, 'none', {}) call hiTS('@tag.delimiter', 'TSTagDelimiter', s:cdGray, {}, 'none', {}) " hrsh7th/nvim-cmp (github) call hi('CmpItemAbbrDeprecated', s:cdGray, {}, 'none', {}) call hi('CmpItemAbbrMatch', s:cdBlue, {}, 'none', {}) hi! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch call hi('CmpItemKindVariable', s:cdLightBlue, {}, 'none', {}) call hi('CmpItemKindInterface', s:cdLightBlue, {}, 'none', {}) call hi('CmpItemKindText', s:cdLightBlue, {}, 'none', {}) call hi('CmpItemKindFunction', s:cdPink, {}, 'none', {}) call hi('CmpItemKindMethod ', s:cdPink, {}, 'none', {}) call hi('CmpItemKindKeyword', s:cdFront, {}, 'none', {}) call hi('CmpItemKindProperty', s:cdFront, {}, 'none', {}) call hi('CmpItemKindUnit', s:cdFront, {}, 'none', {}) endif " MARKDOWN (built-in) call hi('markdownH1', s:cdBlue, {}, 'bold', {}) hi! link markdownH2 markdownH1 hi! link markdownH3 markdownH1 hi! link markdownH4 markdownH1 hi! link markdownH5 markdownH1 hi! link markdownH6 markdownH1 call hi('markdownHeadingDelimiter', s:cdBlue, {}, 'none', {}) call hi('markdownBold', s:cdBlue, {}, 'bold', {}) call hi('markdownRule', s:cdBlue, {}, 'bold', {}) call hi('markdownCode', s:cdOrange, {}, 'none', {}) hi! link markdownCodeDelimiter markdownCode call hi('markdownFootnote', s:cdOrange, {}, 'none', {}) hi! link markdownFootnoteDefinition markdownFootnote call hi('markdownUrl', s:cdLightBlue, {}, 'underline', {}) call hi('markdownLinkText', s:cdOrange, {}, 'none', {}) call hi('markdownEscape', s:cdYellowOrange, {}, 'none', {}) " ASCIIDOC (built-in) call hi("asciidocAttributeEntry", s:cdYellowOrange, {}, 'none', {}) call hi("asciidocAttributeList", s:cdPink, {}, 'none', {}) call hi("asciidocAttributeRef", s:cdYellowOrange, {}, 'none', {}) call hi("asciidocHLabel", s:cdBlue, {}, 'bold', {}) call hi("asciidocListingBlock", s:cdOrange, {}, 'none', {}) call hi("asciidocMacroAttributes", s:cdYellowOrange, {}, 'none', {}) call hi("asciidocOneLineTitle", s:cdBlue, {}, 'bold', {}) call hi("asciidocPassthroughBlock", s:cdBlue, {}, 'none', {}) call hi("asciidocQuotedMonospaced", s:cdOrange, {}, 'none', {}) call hi("asciidocTriplePlusPassthrough", s:cdYellow, {}, 'none', {}) call hi("asciidocMacro", s:cdPink, {}, 'none', {}) call hi("asciidocAdmonition", s:cdOrange, {}, 'none', {}) call hi("asciidocQuotedEmphasized", s:cdBlue, {}, 'italic', {}) call hi("asciidocQuotedEmphasized2", s:cdBlue, {}, 'italic', {}) call hi("asciidocQuotedEmphasizedItalic", s:cdBlue, {}, 'italic', {}) hi! link asciidocBackslash Keyword hi! link asciidocQuotedBold markdownBold hi! link asciidocQuotedMonospaced2 asciidocQuotedMonospaced hi! link asciidocQuotedUnconstrainedBold asciidocQuotedBold hi! link asciidocQuotedUnconstrainedEmphasized asciidocQuotedEmphasized hi! link asciidocURL markdownUrl " JSON (built-in) call hi('jsonKeyword', s:cdLightBlue, {}, 'none', {}) call hi('jsonEscape', s:cdYellowOrange, {}, 'none', {}) call hi('jsonNull', s:cdBlue, {}, 'none', {}) call hi('jsonBoolean', s:cdBlue, {}, 'none', {}) " HTML (built-in) call hi('htmlTag', s:cdGray, {}, 'none', {}) call hi('htmlEndTag', s:cdGray, {}, 'none', {}) call hi('htmlTagName', s:cdBlue, {}, 'none', {}) hi! link htmlSpecialTagName htmlTagName call hi('htmlArg', s:cdLightBlue, {}, 'none', {}) " PHP (built-in) call hi('phpClass', s:cdBlueGreen, {}, 'none', {}) hi! link phpUseClass phpClass hi! link phpStaticClasses phpClass call hi('phpMethod', s:cdYellow, {}, 'none', {}) call hi('phpFunction', s:cdYellow, {}, 'none', {}) call hi('phpInclude', s:cdBlue, {}, 'none', {}) call hi('phpRegion', s:cdBlueGreen, {}, 'none', {}) call hi('phpMethodsVar', s:cdLightBlue, {}, 'none', {}) " CSS (built-in) call hi('cssBraces', s:cdFront, {}, 'none', {}) call hi('cssInclude', s:cdPink, {}, 'none', {}) call hi('cssTagName', s:cdBlue, {}, 'none', {}) call hi('cssClassName', s:cdYellowOrange, {}, 'none', {}) call hi('cssPseudoClass', s:cdYellowOrange, {}, 'none', {}) call hi('cssPseudoClassId', s:cdOrange, {}, 'none', {}) call hi('cssPseudoClassLang', s:cdYellowOrange, {}, 'none', {}) call hi('cssIdentifier', s:cdYellowOrange, {}, 'none', {}) call hi('cssProp', s:cdLightBlue, {}, 'none', {}) call hi('cssDefinition', s:cdLightBlue, {}, 'none', {}) call hi('cssAttr', s:cdOrange, {}, 'none', {}) call hi('cssAttrRegion', s:cdOrange, {}, 'none', {}) call hi('cssColor', s:cdOrange, {}, 'none', {}) call hi('cssFunction', s:cdLightBlue, {}, 'none', {}) call hi('cssFunctionName', s:cdYellow, {}, 'none', {}) call hi('cssVendor', s:cdOrange, {}, 'none', {}) call hi('cssValueNumber', s:cdOrange, {}, 'none', {}) call hi('cssValueLength', s:cdLightGreen, {}, 'none', {}) call hi('cssUnitDecorators', s:cdLightGreen, {}, 'none', {}) call hi('cssStyle', s:cdLightBlue, {}, 'none', {}) call hi('cssImportant', s:cdBlue, {}, 'none', {}) call hi('cssSelectorOp', s:cdFront, {}, 'none', {}) call hi('cssKeyFrameProp2', s:cdLightGreen, {}, 'none', {}) " JavaScript: call hi('jsVariableDef', s:cdLightBlue, {}, 'none', {}) call hi('jsFuncArgs', s:cdLightBlue, {}, 'none', {}) call hi('jsFuncBlock', s:cdLightBlue, {}, 'none', {}) call hi('jsRegexpString', s:cdLightRed, {}, 'none', {}) call hi('jsThis', s:cdBlue, {}, 'none', {}) call hi('jsOperatorKeyword', s:cdBlue, {}, 'none', {}) call hi('jsDestructuringBlock', s:cdLightBlue, {}, 'none', {}) call hi('jsObjectKey', s:cdLightBlue, {}, 'none', {}) call hi('jsGlobalObjects', s:cdBlueGreen, {}, 'none', {}) call hi('jsModuleKeyword', s:cdLightBlue, {}, 'none', {}) call hi('jsClassDefinition', s:cdBlueGreen, {}, 'none', {}) call hi('jsClassKeyword', s:cdBlue, {}, 'none', {}) call hi('jsExtendsKeyword', s:cdBlue, {}, 'none', {}) call hi('jsExportDefault', s:cdPink, {}, 'none', {}) call hi('jsFuncCall', s:cdYellow, {}, 'none', {}) call hi('jsObjectValue', s:cdLightBlue, {}, 'none', {}) call hi('jsParen', s:cdLightBlue, {}, 'none', {}) call hi('jsObjectProp', s:cdLightBlue, {}, 'none', {}) call hi('jsIfElseBlock', s:cdLightBlue, {}, 'none', {}) call hi('jsParenIfElse', s:cdLightBlue, {}, 'none', {}) call hi('jsSpreadOperator', s:cdLightBlue, {}, 'none', {}) call hi('jsSpreadExpression', s:cdLightBlue, {}, 'none', {}) " Vue: call hi('VueComponentName', s:cdBlueGreen, {}, 'none', {}) call hi('VueValue', s:cdLightBlue, {}, 'none', {}) call hi('VueBrace', s:cdYellowOrange, {}, 'none', {}) call hi('VueExpression', s:cdYellow, {}, 'none', {}) call hi('VueTag', s:cdLightBlue, {}, 'none', {}) call hi('VueKey', s:cdPink, {}, 'none', {}) " Typescript: call hi('typescriptLabel', s:cdLightBlue, {}, 'none', {}) call hi('typescriptTry', s:cdPink, {}, 'none', {}) call hi('typescriptExceptions', s:cdPink, {}, 'none', {}) call hi('typescriptBraces', s:cdFront, {}, 'none', {}) call hi('typescriptEndColons', s:cdLightBlue, {}, 'none', {}) call hi('typescriptParens', s:cdFront, {}, 'none', {}) call hi('typescriptDocTags', s:cdBlue, {}, 'none', {}) call hi('typescriptDocComment', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptLogicSymbols', s:cdLightBlue, {}, 'none', {}) call hi('typescriptImport', s:cdPink, {}, 'none', {}) call hi('typescriptBOM', s:cdLightBlue, {}, 'none', {}) call hi('typescriptVariableDeclaration', s:cdLightBlue, {}, 'none', {}) call hi('typescriptVariable', s:cdBlue, {}, 'none', {}) call hi('typescriptExport', s:cdPink, {}, 'none', {}) call hi('typescriptAliasDeclaration', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptAliasKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptClassName', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptAccessibilityModifier', s:cdBlue, {}, 'none', {}) call hi('typescriptOperator', s:cdBlue, {}, 'none', {}) call hi('typescriptArrowFunc', s:cdBlue, {}, 'none', {}) call hi('typescriptMethodAccessor', s:cdBlue, {}, 'none', {}) call hi('typescriptMember', s:cdYellow, {}, 'none', {}) call hi('typescriptTypeReference', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptDefault', s:cdLightBlue, {}, 'none', {}) call hi('typescriptTemplateSB', s:cdYellowOrange, {}, 'none', {}) call hi('typescriptArrowFuncArg', s:cdLightBlue, {}, 'none', {}) call hi('typescriptParamImpl', s:cdLightBlue, {}, 'none', {}) call hi('typescriptFuncComma', s:cdLightBlue, {}, 'none', {}) call hi('typescriptCastKeyword', s:cdLightBlue, {}, 'none', {}) call hi('typescriptCall', s:cdBlue, {}, 'none', {}) call hi('typescriptCase', s:cdLightBlue, {}, 'none', {}) call hi('typescriptReserved', s:cdPink, {}, 'none', {}) call hi('typescriptDefault', s:cdLightBlue, {}, 'none', {}) call hi('typescriptDecorator', s:cdYellow, {}, 'none', {}) call hi('typescriptPredefinedType', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptClassHeritage', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptClassExtends', s:cdBlue, {}, 'none', {}) call hi('typescriptClassKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptBlock', s:cdLightBlue, {}, 'none', {}) call hi('typescriptDOMDocProp', s:cdLightBlue, {}, 'none', {}) call hi('typescriptTemplateSubstitution', s:cdLightBlue, {}, 'none', {}) call hi('typescriptClassBlock', s:cdLightBlue, {}, 'none', {}) call hi('typescriptFuncCallArg', s:cdLightBlue, {}, 'none', {}) call hi('typescriptIndexExpr', s:cdLightBlue, {}, 'none', {}) call hi('typescriptConditionalParen', s:cdLightBlue, {}, 'none', {}) call hi('typescriptArray', s:cdYellow, {}, 'none', {}) call hi('typescriptES6SetProp', s:cdLightBlue, {}, 'none', {}) call hi('typescriptObjectLiteral', s:cdLightBlue, {}, 'none', {}) call hi('typescriptTypeParameter', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptEnumKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptEnum', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptLoopParen', s:cdLightBlue, {}, 'none', {}) call hi('typescriptParenExp', s:cdLightBlue, {}, 'none', {}) call hi('typescriptModule', s:cdLightBlue, {}, 'none', {}) call hi('typescriptAmbientDeclaration', s:cdBlue, {}, 'none', {}) call hi('typescriptModule', s:cdBlue, {}, 'none', {}) call hi('typescriptFuncTypeArrow', s:cdBlue, {}, 'none', {}) call hi('typescriptInterfaceHeritage', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptInterfaceName', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptInterfaceKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptInterfaceExtends', s:cdBlue, {}, 'none', {}) call hi('typescriptGlobal', s:cdBlueGreen, {}, 'none', {}) call hi('typescriptAsyncFuncKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptFuncKeyword', s:cdBlue, {}, 'none', {}) call hi('typescriptGlobalMethod', s:cdYellow, {}, 'none', {}) call hi('typescriptPromiseMethod', s:cdYellow, {}, 'none', {}) call hi('typescriptIdentifierName', s:cdLightBlue, {}, 'none', {}) call hi('typescriptCacheMethod', s:cdYellow, {}, 'none', {}) " XML: call hi('xmlTag', s:cdBlueGreen, {}, 'none', {}) call hi('xmlTagName', s:cdBlueGreen, {}, 'none', {}) call hi('xmlEndTag', s:cdBlueGreen, {}, 'none', {}) " Ruby: call hi('rubyClassNameTag', s:cdBlueGreen, {}, 'none', {}) call hi('rubyClassName', s:cdBlueGreen, {}, 'none', {}) call hi('rubyModuleName', s:cdBlueGreen, {}, 'none', {}) call hi('rubyConstant', s:cdBlueGreen, {}, 'none', {}) " Golang: call hi('goPackage', s:cdBlue, {}, 'none', {}) call hi('goImport', s:cdBlue, {}, 'none', {}) call hi('goVar', s:cdBlue, {}, 'none', {}) call hi('goConst', s:cdBlue, {}, 'none', {}) call hi('goStatement', s:cdPink, {}, 'none', {}) call hi('goType', s:cdBlueGreen, {}, 'none', {}) call hi('goSignedInts', s:cdBlueGreen, {}, 'none', {}) call hi('goUnsignedInts', s:cdBlueGreen, {}, 'none', {}) call hi('goFloats', s:cdBlueGreen, {}, 'none', {}) call hi('goComplexes', s:cdBlueGreen, {}, 'none', {}) call hi('goBuiltins', s:cdYellow, {}, 'none', {}) call hi('goBoolean', s:cdBlue, {}, 'none', {}) call hi('goPredefinedIdentifiers', s:cdBlue, {}, 'none', {}) call hi('goTodo', s:cdGreen, {}, 'none', {}) call hi('goDeclaration', s:cdBlue, {}, 'none', {}) call hi('goDeclType', s:cdBlue, {}, 'none', {}) call hi('goTypeDecl', s:cdBlue, {}, 'none', {}) call hi('goTypeName', s:cdBlueGreen, {}, 'none', {}) call hi('goVarAssign', s:cdLightBlue, {}, 'none', {}) call hi('goVarDefs', s:cdLightBlue, {}, 'none', {}) call hi('goReceiver', s:cdFront, {}, 'none', {}) call hi('goReceiverType', s:cdFront, {}, 'none', {}) call hi('goFunctionCall', s:cdYellow, {}, 'none', {}) call hi('goMethodCall', s:cdYellow, {}, 'none', {}) call hi('goSingleDecl', s:cdLightBlue, {}, 'none', {}) " Python: call hi('pythonStatement', s:cdBlue, {}, 'none', {}) call hi('pythonOperator', s:cdBlue, {}, 'none', {}) call hi('pythonException', s:cdPink, {}, 'none', {}) call hi('pythonExClass', s:cdBlueGreen, {}, 'none', {}) call hi('pythonBuiltinObj', s:cdLightBlue, {}, 'none', {}) call hi('pythonBuiltinType', s:cdBlueGreen, {}, 'none', {}) call hi('pythonBoolean', s:cdBlue, {}, 'none', {}) call hi('pythonNone', s:cdBlue, {}, 'none', {}) call hi('pythonTodo', s:cdBlue, {}, 'none', {}) call hi('pythonClassVar', s:cdBlue, {}, 'none', {}) call hi('pythonClassDef', s:cdBlueGreen, {}, 'none', {}) " TeX: call hi('texStatement', s:cdBlue, {}, 'none', {}) call hi('texBeginEnd', s:cdYellow, {}, 'none', {}) call hi('texBeginEndName', s:cdLightBlue, {}, 'none', {}) call hi('texOption', s:cdLightBlue, {}, 'none', {}) call hi('texBeginEndModifier', s:cdLightBlue, {}, 'none', {}) call hi('texDocType', s:cdPink, {}, 'none', {}) call hi('texDocTypeArgs', s:cdLightBlue, {}, 'none', {}) " GIT (built-in) call hi('gitcommitHeader', s:cdGray, {}, 'none', {}) call hi('gitcommitOnBranch', s:cdGray, {}, 'none', {}) call hi('gitcommitBranch', s:cdPink, {}, 'none', {}) call hi('gitcommitComment', s:cdGray, {}, 'none', {}) call hi('gitcommitSelectedType', s:cdGreen, {}, 'none', {}) hi! link gitcommitSelectedFile gitcommitSelectedType call hi('gitcommitDiscardedType', s:cdRed, {}, 'none', {}) hi! link gitcommitDiscardedFile gitcommitDiscardedType hi! link gitcommitOverflow gitcommitDiscardedType call hi('gitcommitSummary', s:cdPink, {}, 'none', {}) call hi('gitcommitBlank', s:cdPink, {}, 'none', {}) " Lua: call hi('luaFuncCall', s:cdYellow, {}, 'none', {}) call hi('luaFuncArgName', s:cdLightBlue, {}, 'none', {}) call hi('luaFuncKeyword', s:cdPink, {}, 'none', {}) call hi('luaLocal', s:cdPink, {}, 'none', {}) call hi('luaBuiltIn', s:cdBlue, {}, 'none', {}) " SH: call hi('shDeref', s:cdLightBlue, {}, 'none', {}) call hi('shVariable', s:cdLightBlue, {}, 'none', {}) " SQL: call hi('sqlKeyword', s:cdPink, {}, 'none', {}) call hi('sqlFunction', s:cdYellowOrange, {}, 'none', {}) call hi('sqlOperator', s:cdPink, {}, 'none', {}) " YAML: call hi('yamlKey', s:cdBlue, {}, 'none', {}) call hi('yamlConstant', s:cdBlue, {}, 'none', {}) " C++: call hi('CTagsClass', s:cdBlueGreen, {}, 'none', {}) call hi('CTagsStructure', s:cdBlueGreen, {}, 'none', {}) call hi('CTagsNamespace', s:cdBlueGreen, {}, 'none', {}) call hi('CTagsGlobalVariable', s:cdBlueGreen, {}, 'none', {}) call hi('CTagsDefinedName ', s:cdBlue, {}, 'none', {}) highlight def link CTagsFunction Function highlight def link CTagsMember Identifier " C++ color_coded call hi('StructDecl', s:cdBlueGreen, {}, 'none', {}) call hi('UnionDecl', s:cdBlueGreen, {}, 'none', {}) call hi('ClassDecl', s:cdBlueGreen, {}, 'none', {}) call hi('TypeRef', s:cdBlueGreen, {}, 'none', {}) call hi('TypedefDecl', s:cdBlueGreen, {}, 'none', {}) call hi('TypeAliasDecl', s:cdBlueGreen, {}, 'none', {}) call hi('EnumDecl', s:cdBlueGreen, {}, 'none', {}) call hi('TemplateTypeParameter', s:cdBlueGreen, {}, 'none', {}) call hi('TypeAliasTemplateDecl', s:cdBlueGreen, {}, 'none', {}) call hi('ClassTemplate', s:cdBlueGreen, {}, 'none', {}) call hi('ClassTemplatePartialSpecialization', s:cdBlueGreen, {}, 'none', {}) call hi('FunctionTemplate', s:cdBlueGreen, {}, 'none', {}) call hi('TemplateRef', s:cdBlueGreen, {}, 'none', {}) call hi('TemplateTemplateParameter', s:cdBlueGreen, {}, 'none', {}) call hi('UsingDeclaration', s:cdBlueGreen, {}, 'none', {}) call hi('MemberRef', s:cdLightBlue, {}, 'italic', {}) call hi('MemberRefExpr', s:cdYellow, {}, 'italic', {}) call hi('Namespace', s:cdSilver, {}, 'none', {}) call hi('NamespaceRef', s:cdSilver, {}, 'none', {}) call hi('NamespaceAlias', s:cdSilver, {}, 'none', {}) " C++ lsp-cxx-highlight call hi('LspCxxHlSymClass', s:cdBlueGreen, {}, 'none', {}) call hi('LspCxxHlSymStruct', s:cdBlueGreen, {}, 'none', {}) call hi('LspCxxHlSymEnum', s:cdBlueGreen, {}, 'none', {}) call hi('LspCxxHlSymTypeAlias', s:cdBlueGreen, {}, 'none', {}) call hi('LspCxxHlSymTypeParameter', s:cdBlueGreen, {}, 'none', {}) call hi('LspCxxHlSymConcept', s:cdBlueGreen, {}, 'italic', {}) call hi('LspCxxHlSymNamespace', s:cdSilver, {}, 'none', {}) " Coc Explorer: call hi('CocHighlightText', {}, s:cdSelection, 'none', {}) call hi('CocExplorerIndentLine', s:cdCursorDark, {}, 'none', {})