" vi:syntax=vim " tinted-vim (https://github.com/tinted-theming/tinted-vim) " Template author: Tinted Theming (https://github.com/tinted-theming) " This enables the coresponding base16-shell script to run so that " :colorscheme works in terminals supported by tinted-shell scripts " User must set this variable in .vimrc " let g:tinted_shell_path=path/to/shell/scripts if !has('gui_running') if exists('g:tinted_shell_path') execute 'silent !/bin/sh '.g:tinted_shell_path.'/{{scheme-system}}/{{scheme-slug}}.sh' endif endif " GUI colors let s:gui00 = "{{base00-hex}}" let s:gui01 = "{{base01-hex}}" let s:gui02 = "{{base02-hex}}" let s:gui03 = "{{base03-hex}}" let s:gui04 = "{{base04-hex}}" let s:gui05 = "{{base05-hex}}" let s:gui06 = "{{base06-hex}}" let s:gui07 = "{{base07-hex}}" let s:gui08 = "{{base08-hex}}" let s:gui09 = "{{base09-hex}}" let s:gui0A = "{{base0A-hex}}" let s:gui0B = "{{base0B-hex}}" let s:gui0C = "{{base0C-hex}}" let s:gui0D = "{{base0D-hex}}" let s:gui0E = "{{base0E-hex}}" let s:gui0F = "{{base0F-hex}}" let s:gui10 = "{{base00-hex}}" let s:gui11 = "{{base00-hex}}" let s:gui12 = "{{base08-hex}}" let s:gui13 = "{{base0A-hex}}" let s:gui14 = "{{base0B-hex}}" let s:gui15 = "{{base0C-hex}}" let s:gui16 = "{{base0D-hex}}" let s:gui17 = "{{base0E-hex}}" " Terminal colors let s:cterm00 = '00' let s:cterm01 = '18' let s:cterm02 = '19' let s:cterm03 = '08' let s:cterm04 = '20' let s:cterm05 = '21' let s:cterm06 = '07' let s:cterm07 = '15' let s:cterm08 = '01' let s:cterm09 = '16' let s:cterm0A = '03' let s:cterm0B = '02' let s:cterm0C = '06' let s:cterm0D = '04' let s:cterm0E = '05' let s:cterm0F = '17' let s:cterm10 = s:cterm00 let s:cterm11 = s:cterm00 let s:cterm12 = '01' let s:cterm13 = '03' let s:cterm14 = '02' let s:cterm15 = '06' let s:cterm16 = '04' let s:cterm17 = '05' " base16_colorspace` and `base16colorspace` are legacy properties and " exist to keep existing setups from breaking if (exists('base16_colorspace') && base16_colorspace !=? '256') || (exists('base16colorspace') && base16colorspace !=? '256') || (exists('tinted_colorspace') && tinted_colorspace !=? '256') " We have only 16 colors so define fallbacks for codes > 15 let s:cterm01 = s:cterm00 let s:cterm02 = s:cterm03 let s:cterm04 = s:cterm03 let s:cterm05 = s:cterm06 let s:cterm07 = s:cterm06 let s:cterm09 = s:cterm08 let s:cterm0F = s:cterm08 endif " Todo! why do we need the globals? function! s:create_color_globals() abort for i in range(0, 23) let l:num = printf('%02X', i) execute 'let g:tinted_gui' . l:num . ' = s:gui' . l:num execute 'let g:tinted_cterm' . l:num . ' = s:cterm' . l:num " Legacy vars for lualine execute 'let g:base16_gui' . l:num . ' = s:gui' . l:num endfor endfunction call s:create_color_globals() " Integrated Terminal colors let s:colors = [ \ '#{{base00-hex}}', \ '#{{base08-hex}}', \ '#{{base0B-hex}}', \ '#{{base0A-hex}}', \ '#{{base0D-hex}}', \ '#{{base0E-hex}}', \ '#{{base0C-hex}}', \ '#{{base05-hex}}', \ '#{{base03-hex}}', \ '#{{base08-hex}}', \ '#{{base0B-hex}}', \ '#{{base0A-hex}}', \ '#{{base0D-hex}}', \ '#{{base0E-hex}}', \ '#{{base0C-hex}}', \ '#{{base07-hex}}' \] if has('nvim') for i in range(16) let g:terminal_color_{i} = s:colors[i] endfor let g:terminal_color_background = &background ==? 'light' ? s:colors[7] : s:colors[0] let g:terminal_color_foreground = &background ==? 'light' ? s:colors[2] : s:colors[5] elseif has('terminal') let g:terminal_ansi_colors = s:colors endif if exists('g:tinted_background_transparent') && g:tinted_background_transparent ==? '1' let s:guibg = 'NONE' let s:ctermbg = 'NONE' else let s:guibg = s:gui00 let s:ctermbg = s:cterm00 endif if !exists('g:tinted_bold') let g:tinted_bold = 1 endif if !exists('g:tinted_italic') let g:tinted_italic = 1 endif if !exists('g:tinted_strikethrough') let g:tinted_strikethrough = 1 endif if !exists('g:tinted_underline') let g:tinted_underline = 1 endif if !exists('g:tinted_undercurl') let g:tinted_undercurl = g:tinted_underline endif let s:attrs = { \ 'bold': g:tinted_bold, \ 'italic': g:tinted_italic, \ 'strikethrough': g:tinted_strikethrough, \ 'underline': g:tinted_underline, \ 'undercurl': g:tinted_undercurl, \} " Theme setup let g:colors_name = 'tinted-theme' " Highlighting function " Optional variables are attributes and guisp function! g:Tinted_Hi(group, guifg, guibg, ctermfg, ctermbg, ...) " Clear the highlight to be more robust against default Highlighting changes exec 'hi! clear ' . a:group let l:attr = join(filter(split(get(a:, 1, ''), ','), 'get(s:attrs, v:val, 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:Tinted_Hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) endfun " Tinted color highlights call hi('tinted_gui00', s:gui00, '', s:cterm00, '', '', '') call hi('tinted_gui01', s:gui01, '', s:cterm01, '', '', '') call hi('tinted_gui02', s:gui02, '', s:cterm02, '', '', '') call hi('tinted_gui03', s:gui03, '', s:cterm03, '', '', '') call hi('tinted_gui04', s:gui04, '', s:cterm04, '', '', '') call hi('tinted_gui05', s:gui05, '', s:cterm05, '', '', '') call hi('tinted_gui06', s:gui06, '', s:cterm06, '', '', '') call hi('tinted_gui07', s:gui07, '', s:cterm07, '', '', '') call hi('tinted_gui08', s:gui08, '', s:cterm08, '', '', '') call hi('tinted_gui09', s:gui09, '', s:cterm09, '', '', '') call hi('tinted_gui0A', s:gui0A, '', s:cterm0A, '', '', '') call hi('tinted_gui0B', s:gui0B, '', s:cterm0B, '', '', '') call hi('tinted_gui0C', s:gui0C, '', s:cterm0C, '', '', '') call hi('tinted_gui0D', s:gui0D, '', s:cterm0D, '', '', '') call hi('tinted_gui0E', s:gui0E, '', s:cterm0E, '', '', '') call hi('tinted_gui0F', s:gui0F, '', s:cterm0F, '', '', '') call hi('tinted_gui10', s:gui10, '', s:cterm10, '', '', '') call hi('tinted_gui11', s:gui11, '', s:cterm11, '', '', '') call hi('tinted_gui12', s:gui12, '', s:cterm12, '', '', '') call hi('tinted_gui13', s:gui13, '', s:cterm13, '', '', '') call hi('tinted_gui14', s:gui14, '', s:cterm14, '', '', '') call hi('tinted_gui15', s:gui15, '', s:cterm15, '', '', '') call hi('tinted_gui16', s:gui16, '', s:cterm16, '', '', '') call hi('tinted_gui17', s:gui17, '', s:cterm17, '', '', '') " Vim editor colors call hi('ColorColumn', '', s:gui01, '', s:cterm01, '', '') call hi('Conceal', s:gui0D, '', s:cterm0D, '', '', '') call hi('CurSearch', s:gui00, s:gui14, s:cterm00, s:cterm14, '', '') call hi('Cursor', 'bg', 'fg', '', '', '', '') hi! link lCursor Cursor hi! link CursorIM Cursor call hi('CursorColumn', '', s:gui01, '', s:cterm01, 'none', '') call hi('CursorLine', '', s:gui01, '', s:cterm01, 'none', '') call hi('Directory', s:gui0D, '', s:cterm0D, '', '', '') " Diff call hi('DiffAdd', '', s:gui01, '', s:cterm01, '', '') call hi('DiffChange', '', s:gui01, '', s:cterm01, '', '') call hi('DiffDelete', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') call hi('DiffText', '', s:gui02, '', s:cterm02, '', '') call hi('EndOfBuffer', s:guibg, s:guibg, s:ctermbg, s:ctermbg, '', '') call hi('ErrorMsg', s:gui08, '', s:cterm08, '', '', '') if has('nvim') call hi('WinSeparator', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') else call hi('VertSplit', s:gui01, s:guibg, s:cterm01, s:ctermbg, '', '') endif call hi('Folded', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') call hi('FoldColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') call hi('SignColumn', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') hi! link IncSearch CurSearch hi! link Substitute Search call hi('LineNr', s:gui03, s:guibg, s:cterm03, s:ctermbg, '', '') hi! link LineNrAbove LineNr hi! link LineNrBelow LineNr call hi('CursorLineNr', s:gui04, s:guibg, s:cterm04, s:ctermbg, 'bold', '') call hi('CursorLineFold', s:gui13, s:guibg, s:cterm13, s:ctermbg, '', '') hi! link CursorLineSign SignColumn call hi('MatchParen', s:gui06, '', s:cterm06, '', 'bold', '') call hi('ModeMsg', s:gui05, '', s:cterm05, '', '', '') hi! link MsgArea None hi! link MsgSeparator WinSeparator call hi('MoreMsg', s:gui0B, '', s:cterm0B, '', '', '') call hi('NonText', s:gui03, '', s:cterm03, '', '', '') call hi('Normal', s:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') call hi('NormalFloat', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') call hi('FloatBorder', s:gui06, s:gui01, s:cterm06, s:cterm01, 'none', '') hi! link FloatTitle Title hi! link FloatFooter FloatTitle hi! link NormalNC None call hi('PMenu', s:gui05, s:gui01, s:cterm05, s:cterm01, 'none', '') call hi('PMenuSel', s:gui06, s:gui02, s:cterm06, s:cterm02, 'none', '') hi! link PMenuKind PMenu hi! link PMenuKindSel PMenuSel hi! link PMenuExtra PMenu hi! link PMenuExtraSel PMenuSel call hi('PMenuSbar', '', s:gui03, '', s:cterm03, '', '') call hi('PMenuThumb', '', s:gui04, '', s:cterm04, '', '') call hi('PMenuMatch', s:gui0C, '', s:cterm0C, '', '', '') call hi('PMenuMatchSel', s:gui15, s:gui02, s:cterm15, s:cterm02, 'none', '') call hi('Question', s:gui0D, '', s:cterm0D, '', '', '') call hi('QuickFixLine', '', s:gui01, '', s:cterm01, 'none', '') call hi('Search', s:gui01, s:gui13, s:cterm01, s:cterm13, '', '') hi! link SnippetTabstop Visual call hi('SpecialKey', s:gui03, '', s:cterm03, '', '', '') " Spell call hi('SpellBad', '', '', s:ctermbg, s:cterm12, 'undercurl', s:gui08) call hi('SpellLocal', '', '', s:ctermbg, s:cterm15, 'undercurl', s:gui15) call hi('SpellCap', '', '', s:ctermbg, s:cterm16, 'undercurl', s:gui16) call hi('SpellRare', '', '', s:ctermbg, s:cterm0E, 'undercurl', s:gui0E) call hi('StatusLine', s:gui04, s:gui01, s:cterm04, s:cterm01, 'none', '') call hi('StatusLineNC', s:gui03, s:gui01, s:cterm03, s:cterm01, 'none', '') hi! link StatusLineTerm StatusLine hi! link StatusLineTermNC StatusLineNC hi! link TabLine StatusLine call hi('TabLineSel', s:gui01, s:gui04, s:cterm01, s:cterm04, 'none', '') hi! link TabLineFill StatusLine call hi('Title', s:gui0D, '', s:cterm0D, '', '', '') call hi('Visual', '', s:gui02, '', s:cterm02, '', '') hi! link VisualNOS Visual call hi('WarningMsg', s:gui09, '', s:cterm09, '', '', '') call hi('Whitespace', s:gui03, '', s:cterm03, '', '', '') call hi('WildMenu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '') hi! link WinBar StatusLine hi! link WinBarNC StatusLineNC " call hi('Menu', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") " call hi('Scrollbar', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") " call hi('Tooltip', s:guibg, s:gui05, s:ctermbg, s:cterm05, '', '") " Standard syntax call hi('Comment', s:gui03, '', s:cterm03, '', 'italic', '') call hi('Constant', s:gui09, '', s:cterm09, '', 'none', '') call hi('String', s:gui0B, '', s:cterm0B, '', 'italic', '') call hi('Character', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Number', s:gui09, '', s:cterm09, '', 'none', '') call hi('Boolean', s:gui09, '', s:cterm09, '', 'none', '') call hi('Float', s:gui09, '', s:cterm09, '', 'none', '') " The [spec](https://github.com/tinted-theming/base24/blob/main/styling.md) wants " `Identifier` mapped to base08 aka RED. I do not like it, too much RED. call hi('Identifier', s:gui05, '', s:cterm05, '', 'none', '') call hi('Function', s:gui0D, '', s:cterm0D, '', 'none', '') call hi('Statement', s:gui0E, '', s:cterm0E, '', 'bold', '') call hi('Conditional', s:gui0E, '', s:cterm0E, '', 'none', '') call hi('Repeat', s:gui0E, '', s:cterm0E, '', 'none', '') call hi('Label', s:gui0E, '', s:cterm0E, '', 'none', '') call hi('Operator', s:gui0C, '', s:cterm0C, '', 'none', '') hi! link Keyword Statement call hi('Exception', s:gui0E, '', s:cterm0E, '', 'none', '') call hi('PreProc', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Include', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Define', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Macro', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('PreCondit', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Type', s:gui0A, '', s:cterm0A, '', 'none', '') call hi('StorageClass', s:gui0A, '', s:cterm0A, '', 'none', '') call hi('Structure', s:gui0A, '', s:cterm0A, '', 'none', '') call hi('Typedef', s:gui0A, '', s:cterm0A, '', 'none', '') call hi('Special', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('SpecialChar', s:gui0A, '', s:cterm0A, '', 'none', '') call hi('Tag', s:gui09, '', s:cterm09, '', 'none', '') call hi('Delimiter', s:gui05, '', s:cterm05, '', 'none', '') call hi('SpecialComment', s:gui0A, '', s:cterm0A, '', 'italic', '') call hi('Debug', s:gui08, '', s:cterm08, '', 'none', '') call hi('Underlined', '', '', '', '', 'underline', '') hi! link Ignore Normal call hi('Error', s:gui08, s:guibg, s:cterm08, s:ctermbg, 'bold', '') call hi('Todo', s:gui0C, '', s:cterm0C, '', 'none', '') call hi('Added', s:gui14, '', s:cterm14, '', 'italic', '') call hi('Changed', s:gui16, '', s:cterm16, '', 'italic', '') call hi('Removed', s:gui12, '', s:cterm12, '', 'italic', '') " Treesitter Syntax if has('nvim-0.8.0') hi! link @variable Identifier call hi('@variable.builtin', s:gui05, '', s:cterm05, '', 'italic', '') hi! link @variable.parameter Identifier hi! link @variable.parameter.builtin @variable.builtin call hi('@variable.member', s:gui04, '', s:cterm04, '', 'none', '') hi! link @constant Constant call hi('@constant.builtin', s:gui09, '', s:cterm09, '', 'italic', '') hi! link @constant.macro Constant hi! link @module Identifier call hi('@module.builtin', s:gui05, '', s:cterm05, '', 'italic', '') hi! link @label Tag hi! link @string String hi! link @string.documentation String hi! link @string.regexp SpecialComment hi! link @string.escape SpecialComment hi! link @string.special SpecialComment hi! link @string.special.symbol SpecialComment call hi('@string.special.path', s:gui0D, '', s:cterm0D, '', 'italic', '') call hi('@string.special.url', s:gui08, '', s:cterm08, '', 'italic', '') hi! link @character Character hi! link @character.special SpecialChar hi! link @boolean Boolean hi! link @number Number hi! link @number.float Float hi! link @type Type call hi('@type.builtin', s:gui0A, '', s:cterm0A, '', 'italic', '') hi! link @type.definition Typedef hi! link @attribute Special call hi('@attribute.builtin', s:gui0C, '', s:cterm0C, '', 'italic', '') hi! link @property @variable.member call hi('@function', s:gui16, '', s:cterm16, '', '', '') call hi('@function.builtin', s:gui16, '', s:cterm16, '', 'italic', '') hi! link @function.call @function hi! link @function.macro Macro hi! link @function.method Function hi! link @function.method.call @function.method call hi('@constructor', s:gui0D, '', s:cterm0D, '', 'bold', '') hi! link @operator Operator hi! link @keyword Keyword hi! link @keyword.coroutine Repeat hi! link @keyword.function Keyword hi! link @keyword.operator Operator call hi('@keyword.import', s:gui0E, '', s:cterm0E, '', 'italic', '') hi! link @keyword.type Keyword hi! link @keyword.modifier Repeat hi! link @keyword.repeat Repeat hi! link @keyword.return Keyword hi! link @keyword.debug Debug hi! link @keyword.exception Exception hi! link @keyword.conditional Conditional hi! link @keyword.ternary Conditional hi! link @keyword.directive PreProc hi! link @keyword.directive.define Define hi! link @punctuation.delimiter Delimiter hi! link @punctuation.bracket Delimiter hi! link @punctuation.special Special hi! link @comment Comment hi! link @comment.documentation Comment call hi('@comment.error', s:gui08, '', s:cterm08, '', 'italic', '') call hi('@comment.warning', s:gui09, '', s:cterm09, '', 'italic', '') call hi('@comment.note', s:gui0D, '', s:cterm0D, '', 'italic', '') call hi('@comment.todo', s:gui0C, '', s:cterm0C, '', 'italic', '') if (g:tinted_bold == 1) hi! @markup.strong gui=bold cterm=bold endif if (g:tinted_italic == 1) hi! @markup.italic gui=italic cterm=italic endif if (g:tinted_strikethrough == 1) hi! @markup.strikethrough gui=strikethrough cterm=strikethrough endif if (g:tinted_underline == 1) hi! @markup.underline gui=underline cterm=underline endif hi! link @markup.heading Title hi! link @markup.quote String hi! link @markup.math Special call hi('@markup.link', s:gui08, '', s:cterm08, '', '', '') hi! link @markup.link.label @markup.link hi! link @markup.link.url Identifier call hi('@markup.raw', s:gui04, '', s:cterm04, '', '', '') hi! link @markup.raw.block Identifier hi! link @markup.list SpecialChar hi! link @markup.list.checked DiagnosticOk hi! link @markup.list.unchecked DiagnosticError hi! link @diff.plus Added hi! link @diff.minus Removed hi! link @diff.delta Changed hi! link @tag Tag call hi('@tag.builtin', s:gui09, '', s:cterm09, '', 'italic', '') hi! link @tag.attribute Special hi! link @tag.delimiter Delimiter " LSP Semantic Token " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_semanticTokens hi! link @lsp.type.class @type hi! link @lsp.type.comment @comment hi! link @lsp.type.decorator @attribute hi! link @lsp.type.enum @type hi! link @lsp.type.enumMember @constant hi! link @lsp.type.event @type hi! link @lsp.type.function @function hi! link @lsp.type.interface @type hi! link @lsp.type.keyword @keyword hi! link @lsp.type.macro @function.macro hi! link @lsp.type.method @function.method hi! link @lsp.type.modifier @type.modifier hi! link @lsp.type.namespace @module hi! link @lsp.type.number @number hi! link @lsp.type.operator @operator hi! link @lsp.type.parameter @variable.parameter hi! link @lsp.type.property @property hi! link @lsp.type.regexp @string.regexp hi! link @lsp.type.string @string hi! link @lsp.type.struct @type hi! link @lsp.type.type @type hi! link @lsp.type.typeParameter @variable.parameter hi! link @lsp.type.variable @variable " @lsp.mod.abstract Types and member functions that are abstract " @lsp.mod.async Functions that are marked async " @lsp.mod.declaration Declarations of symbols call hi('@lsp.mod.defaultLibrary', '', '', '', '', 'italic', '') " @lsp.mod.definition Definitions of symbols, for example, in header files hi! link @lsp.mod.deprecated DiagnosticDeprecated " @lsp.mod.modification Variable references where the variable is assigned to " @lsp.mod.readonly Readonly variables and member fields (constants) " @lsp.mod.static " Rust hi! link @lsp.type.builtinType.rust @type.builtin hi! link @lsp.type.escapeSequence.rust @string.escape hi! link @lsp.type.formatSpecifier.rust @operator hi! link @lsp.type.lifetime.rust @attribute hi! link @lsp.type.punctuation.rust @punctuation.delimiter hi! link @lsp.type.selfKeyword.rust @variable.builtin hi! link @lsp.type.selfTypeKeyword.rust @type.builtin call hi('@lsp.mod.attribute', '', '', '', '', 'italic', '') hi! link @lsp.mod.controlFlow @keyword.repeat hi! link @lsp.mod.intraDocLink.rust @markup.link hi! link @lsp.typemod.generic.injected.rust @variable hi! link @lsp.typemod.operator.controlFlow.rust @operator hi! link @lsp.typemod.function.associated.rust @function.method " LUA hi! link @lsp.typemod.keyword.documentation.lua @tag " Markdown hi! link @lsp.type.class.markdown @lsp " LSP not syntax hi! link LspReferenceText Search call hi('LspReferenceRead', s:gui01, s:gui14, s:cterm01, s:cterm14, '', '') call hi('LspReferenceWrite', s:gui01, s:gui12, s:cterm01, s:cterm12, '', '') hi! link LspCodeLens NonText hi! link LspCodeLensSeparator LspCodeLens hi! link LspInlayHint NonText hi! link LspSignatureActiveParameter Visual endif " Diagnostics call hi('DiagnosticError', s:gui08, '', s:cterm08, '', '', '') call hi('DiagnosticWarn', s:gui09, '', s:cterm09, '', '', '') call hi('DiagnosticInfo', s:gui0C, '', s:cterm0C, '', '', '') call hi('DiagnosticHint', s:gui0D, '', s:cterm0D, '', '', '') call hi('DiagnosticOk', s:gui0B, '', s:cterm0B, '', '', '') call hi('DiagnosticUnderlineError', '', '', s:ctermbg, s:cterm08, 'underline', s:gui08) call hi('DiagnosticUnderlineWarn', '', '', s:ctermbg, s:cterm09, 'underline', s:gui09) call hi('DiagnosticUnderlineInfo', '', '', s:ctermbg, s:cterm0C, 'underline', s:gui0C) call hi('DiagnosticUnderlineHint', '', '', s:ctermbg, s:cterm0D, 'underline', s:gui0D) call hi('DiagnosticUnderlineOk', '', '', s:ctermbg, s:cterm0B, 'underline', s:gui0B) call hi('DiagnosticFloatingError', s:gui08, s:gui01, s:cterm08, s:cterm01, '', '') call hi('DiagnosticFloatingWarn', s:gui09, s:gui01, s:cterm09, s:cterm01, '', '') call hi('DiagnosticFloatingInfo', s:gui0C, s:gui01, s:cterm0C, s:cterm01, '', '') call hi('DiagnosticFloatingHint', s:gui0D, s:gui01, s:cterm0D, s:cterm01, '', '') call hi('DiagnosticFloatingOk', s:gui0B, s:gui01, s:cterm0B, s:cterm01, '', '') call hi('DiagnosticDeprecated', '', '', s:cterm0F, s:cterm0F, 'strikethrough', '') hi! link DiagnosticUnnecessary Comment " Syntax Files " C call hi('cOperator', s:gui0C, '', s:cterm0C, '', '', '') call hi('cPreCondit', s:gui0E, '', s:cterm0E, '', '', '') " CSS call hi('cssBraces', s:gui05, '', s:cterm05, '', '', '') call hi('cssClassName', s:gui0E, '', s:cterm0E, '', '', '') call hi('cssColor', s:gui0C, '', s:cterm0C, '', '', '') " 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, '', '', '') " Git call hi('GitAddSign', s:gui14, '', s:cterm14, '', '', '') call hi('GitChangeSign', s:gui04, '', s:cterm04, '', '', '') call hi('GitDeleteSign', s:gui12, '', s:cterm12, '', '', '') call hi('GitChangeDeleteSign', s:gui12, '', s:cterm12, '', '', '') " Gitcommit 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:gui17, '', s:cterm17, '', '', '') call hi('gitcommitSelectedType', s:gui16, '', s:cterm16, '', '', '') call hi('gitcommitUnmergedType', s:gui16, '', s:cterm16, '', '', '') call hi('gitcommitDiscardedType', s:gui16, '', s:cterm16, '', '', '') call hi('gitcommitBranch', s:gui13, '', s:cterm13, '', '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', '') " Gitsigns call hi('GitSignsAddInline', s:gui14, s:gui02, s:cterm14, s:cterm02, '', '') call hi('GitSignsChangeInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') call hi('GitSignsDeleteLnInline', s:gui12, s:gui02, s:cterm12, s:cterm02, '', '') call hi('GitSignsDeleteVirtLnInline', s:gui16, s:gui02, s:cterm16, s:cterm02, '', '') call hi('GitSignsDeleteVirtLn', s:gui05, s:gui02, s:cterm05, s:cterm02, '', '') " HTML call hi('htmlBold', s:gui05, '', s:cterm0A, '', 'bold', '') call hi('htmlItalic', s:gui05, '', s:cterm17, '', 'italic', '') call hi('htmlEndTag', s:gui05, '', s:cterm05, '', '', '') call hi('htmlTag', s:gui05, '', s:cterm05, '', '', '') " JavaScript call hi('javaScript', s:gui05, '', s:cterm05, '', '', '') call hi('javaScriptBraces', s:gui05, '', s:cterm05, '', '', '') call hi('javaScriptNumber', s:gui09, '', s:cterm09, '', '', '') " 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:gui05, s:guibg, s:cterm05, s:ctermbg, '', '') call hi('markdownCodeBlock', s:gui0B, '', s:cterm0B, '', '', '') call hi('markdownHeadingDelimiter', s:gui0D, '', s:cterm0D, '', '', '') " Neogit hi! link NeogitHunkHeader Special hi! link NeogitDiffHeader Directory call hi('NeogitDiffContext', s:gui03, '', s:cterm03, '', 'italic', '') hi! link NeogitDiffAdd Added hi! link NeogitDiffDelete Removed hi! link NeogitHunkHeaderHighlight Special hi! link NeogitDiffHeaderHighlight Directory call hi('NeogitDiffContextHighlight', s:gui03, s:guibg, s:cterm03, s:ctermbg, 'italic', '') call hi('NeogitDiffContextCursor', '', s:guibg, "", s:ctermbg, 'italic', '') hi! link NeogitDiffAddHighlight Added hi! link NeogitDiffDeleteHighlight Removed hi! link NeogitHunkHeaderCursor Special hi! link NeogitDiffHeaderCursor Directory hi! link NeogitDiffAddCursor Added hi! link NeogitDiffDeleteCursor Removed " PHP call hi('phpMemberSelector', s:gui05, '', s:cterm05, '', '', '') call hi('phpComparison', s:gui05, '', s:cterm05, '', '', '') call hi('phpParent', s:gui05, '', 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, '', '', '') " 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, '', '', '') " Java call hi('javaOperator', s:gui0D, '', s:cterm0D, '', '', '') " Plugins " 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 DiagnosticError hi! link CocWarningSign DiagnosticWarn hi! link CocInfoSign DiagnosticInfo hi! link CocHintSign DiagnosticHint hi! link CocErrorFloat DiagnosticFloatingError hi! link CocWarningFloat DiagnosticFloatingWarn hi! link CocInfoFloat DiagnosticFloatingInfo hi! link CocHintFloat DiagnosticFloatingHint hi! link CocErrorHighlight DiagnosticError hi! link CocWarningHighlight DiagnosticWarn hi! link CocInfoHighlight DiagnosticInfo hi! link CocHintHighlight DiagnosticHint 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:gui05, '', s:cterm05, '', '', '') " fugtive hi link diffAdded GitAddSign hi link diffChanged GitChangeSign hi link diffRemoved GitDeleteSign " CMP " https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#completionItemKind if has('nvim-0.8.0') hi! link CmpItemAbbrDeprecated Deprecated hi! link CmpItemAbbrMatch PMenuMatch hi! link CmpItemAbbrMatchFuzzy PMenuMatch hi! link CmpItemKindClass @lsp.type.class hi! link CmpItemKindColor @lsp.type.keyword hi! link CmpItemKindConstant @constant hi! link CmpItemKindConstructor @constructor hi! link CmpItemKindEnum @lsp.type.enum hi! link CmpItemKindEnumMember @lsp.type.enumMember hi! link CmpItemKindEvent @lsp.type.event hi! link CmpItemKindField @lsp.type.property hi! link CmpItemKindFile @string.special.path hi! link CmpItemKindFolder @string.special.path hi! link CmpItemKindFunction @lsp.type.function hi! link CmpItemKindInterface @lsp.type.interface hi! link CmpItemKindKeyword @lsp.type.keyword hi! link CmpItemKindMethod @lsp.type.method hi! link CmpItemKindModule @lsp.type.namespace hi! link CmpItemKindOperator @lsp.type.operator hi! link CmpItemKindProperty @lsp.type.property hi! link CmpItemKindReference @lsp.type.variable hi! link CmpItemKindSnippet @lsp.type.string hi! link CmpItemKindStruct @lsp.type.struct hi! link CmpItemKindText @lsp.type.string hi! link CmpItemKindTypeParameter @lsp.type.typeParameter hi! link CmpItemKindUnit @lsp.type.namespace hi! link CmpItemKindValue @constant hi! link CmpItemKindVariable @lsp.type.variable endif " GitGutter hi! link GitGutterAdd GitAddSign hi! link GitGutterChange GitChangeSign hi! link GitGutterDelete GitDeleteSign hi! link GitGutterChangeDelete GitChangeDeleteSign " indent-blankline if has('nvim') call hi('@ibl.indent.char', s:gui01, '', s:cterm01, '', '', '') endif " 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, '', '', '') " 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:gui05, '', s:cterm05, '', '', '') " 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, '', '', '') " 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 s:gui10 s:gui11 s:gui12 s:gui13 s:gui14 s:gui15 s:gui16 s:gui17 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 s:cterm10 s:cterm11 s:cterm12 s:cterm13 s:cterm14 s:cterm15 s:cterm16 s:cterm17