aboutsummaryrefslogtreecommitdiff
path: root/colors
diff options
context:
space:
mode:
authorbase16-project-bot <base16themeproject@proton.me>2022-06-19 12:10:36 +0000
committerbase16-project-bot <base16themeproject@proton.me>2022-06-19 12:10:36 +0000
commit5869a3253ea43b8b70956037a914bcb5a326416d (patch)
treeef99fe4164dc5926ea8a6c43aefb00c215261b5a /colors
parentd31f301a68228babc9bdd52e15aab0bc8fa6b4d8 (diff)
Update with the latest base16-project colorschemes
Diffstat (limited to 'colors')
-rw-r--r--colors/base16-ayu-dark.vim629
-rw-r--r--colors/base16-ayu-light.vim629
-rw-r--r--colors/base16-ayu-mirage.vim629
-rw-r--r--colors/base16-blueforest.vim629
-rw-r--r--colors/base16-blueish.vim629
-rw-r--r--colors/base16-catppuccin.vim629
-rw-r--r--colors/base16-da-one-black.vim629
-rw-r--r--colors/base16-da-one-gray.vim629
-rw-r--r--colors/base16-da-one-ocean.vim629
-rw-r--r--colors/base16-da-one-paper.vim629
-rw-r--r--colors/base16-da-one-sea.vim629
-rw-r--r--colors/base16-da-one-white.vim629
-rw-r--r--colors/base16-emil.vim629
-rw-r--r--colors/base16-everforest.vim629
-rw-r--r--colors/base16-gotham.vim629
-rw-r--r--colors/base16-gruber.vim629
-rw-r--r--colors/base16-gruvbox-material-dark-hard.vim629
-rw-r--r--colors/base16-gruvbox-material-dark-medium.vim629
-rw-r--r--colors/base16-gruvbox-material-dark-soft.vim629
-rw-r--r--colors/base16-gruvbox-material-light-hard.vim629
-rw-r--r--colors/base16-gruvbox-material-light-medium.vim629
-rw-r--r--colors/base16-gruvbox-material-light-soft.vim629
-rw-r--r--colors/base16-kanagawa.vim629
-rw-r--r--colors/base16-katy.vim629
-rw-r--r--colors/base16-lime.vim629
-rw-r--r--colors/base16-pandora.vim629
-rw-r--r--colors/base16-primer-dark-dimmed.vim629
-rw-r--r--colors/base16-primer-dark.vim629
-rw-r--r--colors/base16-primer-light.vim629
-rw-r--r--colors/base16-purpledream.vim629
-rw-r--r--colors/base16-shadesmear-dark.vim629
-rw-r--r--colors/base16-shadesmear-light.vim629
-rw-r--r--colors/base16-spaceduck.vim629
-rw-r--r--colors/base16-stella.vim629
-rw-r--r--colors/base16-still-alive.vim629
-rw-r--r--colors/base16-tokyo-city-dark.vim629
-rw-r--r--colors/base16-tokyo-city-light.vim629
-rw-r--r--colors/base16-tokyo-city-terminal-dark.vim629
-rw-r--r--colors/base16-tokyo-city-terminal-light.vim629
-rw-r--r--colors/base16-tokyo-night-dark.vim629
-rw-r--r--colors/base16-tokyo-night-light.vim629
-rw-r--r--colors/base16-tokyo-night-storm.vim629
-rw-r--r--colors/base16-tokyo-night-terminal-dark.vim629
-rw-r--r--colors/base16-tokyo-night-terminal-light.vim629
-rw-r--r--colors/base16-tokyo-night-terminal-storm.vim629
-rw-r--r--colors/base16-tokyodark-terminal.vim629
-rw-r--r--colors/base16-tokyodark.vim629
-rw-r--r--colors/base16-unikitty-reversible.vim629
-rw-r--r--colors/base16-uwunicorn.vim629
-rw-r--r--colors/base16-vice.vim629
50 files changed, 31450 insertions, 0 deletions
diff --git a/colors/base16-ayu-dark.vim b/colors/base16-ayu-dark.vim
new file mode 100644
index 0000000..d912076
--- /dev/null
+++ b/colors/base16-ayu-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Ayu Dark scheme by Khue Nguyen &lt;Z5483Y@gmail.com&gt;
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-ayu-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "0F1419"
+let g:base16_gui00 = "0F1419"
+let s:gui01 = "131721"
+let g:base16_gui01 = "131721"
+let s:gui02 = "272D38"
+let g:base16_gui02 = "272D38"
+let s:gui03 = "3E4B59"
+let g:base16_gui03 = "3E4B59"
+let s:gui04 = "BFBDB6"
+let g:base16_gui04 = "BFBDB6"
+let s:gui05 = "E6E1CF"
+let g:base16_gui05 = "E6E1CF"
+let s:gui06 = "E6E1CF"
+let g:base16_gui06 = "E6E1CF"
+let s:gui07 = "F3F4F5"
+let g:base16_gui07 = "F3F4F5"
+let s:gui08 = "F07178"
+let g:base16_gui08 = "F07178"
+let s:gui09 = "FF8F40"
+let g:base16_gui09 = "FF8F40"
+let s:gui0A = "FFB454"
+let g:base16_gui0A = "FFB454"
+let s:gui0B = "B8CC52"
+let g:base16_gui0B = "B8CC52"
+let s:gui0C = "95E6CB"
+let g:base16_gui0C = "95E6CB"
+let s:gui0D = "59C2FF"
+let g:base16_gui0D = "59C2FF"
+let s:gui0E = "D2A6FF"
+let g:base16_gui0E = "D2A6FF"
+let s:gui0F = "E6B673"
+let g:base16_gui0F = "E6B673"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#0F1419"
+ let g:terminal_color_1 = "#F07178"
+ let g:terminal_color_2 = "#B8CC52"
+ let g:terminal_color_3 = "#FFB454"
+ let g:terminal_color_4 = "#59C2FF"
+ let g:terminal_color_5 = "#D2A6FF"
+ let g:terminal_color_6 = "#95E6CB"
+ let g:terminal_color_7 = "#E6E1CF"
+ let g:terminal_color_8 = "#3E4B59"
+ let g:terminal_color_9 = "#F07178"
+ let g:terminal_color_10 = "#B8CC52"
+ let g:terminal_color_11 = "#FFB454"
+ let g:terminal_color_12 = "#59C2FF"
+ let g:terminal_color_13 = "#D2A6FF"
+ let g:terminal_color_14 = "#95E6CB"
+ let g:terminal_color_15 = "#F3F4F5"
+ 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 = [
+ \ "#0F1419",
+ \ "#F07178",
+ \ "#B8CC52",
+ \ "#FFB454",
+ \ "#59C2FF",
+ \ "#D2A6FF",
+ \ "#95E6CB",
+ \ "#E6E1CF",
+ \ "#3E4B59",
+ \ "#F07178",
+ \ "#B8CC52",
+ \ "#FFB454",
+ \ "#59C2FF",
+ \ "#D2A6FF",
+ \ "#95E6CB",
+ \ "#F3F4F5",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-ayu-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-ayu-light.vim b/colors/base16-ayu-light.vim
new file mode 100644
index 0000000..6c4e257
--- /dev/null
+++ b/colors/base16-ayu-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Ayu Light scheme by Khue Nguyen &lt;Z5483Y@gmail.com&gt;
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-ayu-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "FAFAFA"
+let g:base16_gui00 = "FAFAFA"
+let s:gui01 = "F3F4F5"
+let g:base16_gui01 = "F3F4F5"
+let s:gui02 = "F8F9FA"
+let g:base16_gui02 = "F8F9FA"
+let s:gui03 = "ABB0B6"
+let g:base16_gui03 = "ABB0B6"
+let s:gui04 = "828C99"
+let g:base16_gui04 = "828C99"
+let s:gui05 = "5C6773"
+let g:base16_gui05 = "5C6773"
+let s:gui06 = "242936"
+let g:base16_gui06 = "242936"
+let s:gui07 = "1A1F29"
+let g:base16_gui07 = "1A1F29"
+let s:gui08 = "F07178"
+let g:base16_gui08 = "F07178"
+let s:gui09 = "FA8D3E"
+let g:base16_gui09 = "FA8D3E"
+let s:gui0A = "F2AE49"
+let g:base16_gui0A = "F2AE49"
+let s:gui0B = "86B300"
+let g:base16_gui0B = "86B300"
+let s:gui0C = "4CBF99"
+let g:base16_gui0C = "4CBF99"
+let s:gui0D = "36A3D9"
+let g:base16_gui0D = "36A3D9"
+let s:gui0E = "A37ACC"
+let g:base16_gui0E = "A37ACC"
+let s:gui0F = "E6BA7E"
+let g:base16_gui0F = "E6BA7E"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#FAFAFA"
+ let g:terminal_color_1 = "#F07178"
+ let g:terminal_color_2 = "#86B300"
+ let g:terminal_color_3 = "#F2AE49"
+ let g:terminal_color_4 = "#36A3D9"
+ let g:terminal_color_5 = "#A37ACC"
+ let g:terminal_color_6 = "#4CBF99"
+ let g:terminal_color_7 = "#5C6773"
+ let g:terminal_color_8 = "#ABB0B6"
+ let g:terminal_color_9 = "#F07178"
+ let g:terminal_color_10 = "#86B300"
+ let g:terminal_color_11 = "#F2AE49"
+ let g:terminal_color_12 = "#36A3D9"
+ let g:terminal_color_13 = "#A37ACC"
+ let g:terminal_color_14 = "#4CBF99"
+ let g:terminal_color_15 = "#1A1F29"
+ 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 = [
+ \ "#FAFAFA",
+ \ "#F07178",
+ \ "#86B300",
+ \ "#F2AE49",
+ \ "#36A3D9",
+ \ "#A37ACC",
+ \ "#4CBF99",
+ \ "#5C6773",
+ \ "#ABB0B6",
+ \ "#F07178",
+ \ "#86B300",
+ \ "#F2AE49",
+ \ "#36A3D9",
+ \ "#A37ACC",
+ \ "#4CBF99",
+ \ "#1A1F29",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-ayu-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-ayu-mirage.vim b/colors/base16-ayu-mirage.vim
new file mode 100644
index 0000000..57fdcb1
--- /dev/null
+++ b/colors/base16-ayu-mirage.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Ayu Mirage scheme by Khue Nguyen &lt;Z5483Y@gmail.com&gt;
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-ayu-mirage.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "171B24"
+let g:base16_gui00 = "171B24"
+let s:gui01 = "1F2430"
+let g:base16_gui01 = "1F2430"
+let s:gui02 = "242936"
+let g:base16_gui02 = "242936"
+let s:gui03 = "707A8C"
+let g:base16_gui03 = "707A8C"
+let s:gui04 = "8A9199"
+let g:base16_gui04 = "8A9199"
+let s:gui05 = "CCCAC2"
+let g:base16_gui05 = "CCCAC2"
+let s:gui06 = "D9D7CE"
+let g:base16_gui06 = "D9D7CE"
+let s:gui07 = "F3F4F5"
+let g:base16_gui07 = "F3F4F5"
+let s:gui08 = "F28779"
+let g:base16_gui08 = "F28779"
+let s:gui09 = "FFAD66"
+let g:base16_gui09 = "FFAD66"
+let s:gui0A = "FFD173"
+let g:base16_gui0A = "FFD173"
+let s:gui0B = "D5FF80"
+let g:base16_gui0B = "D5FF80"
+let s:gui0C = "95E6CB"
+let g:base16_gui0C = "95E6CB"
+let s:gui0D = "5CCFE6"
+let g:base16_gui0D = "5CCFE6"
+let s:gui0E = "D4BFFF"
+let g:base16_gui0E = "D4BFFF"
+let s:gui0F = "F29E74"
+let g:base16_gui0F = "F29E74"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#171B24"
+ let g:terminal_color_1 = "#F28779"
+ let g:terminal_color_2 = "#D5FF80"
+ let g:terminal_color_3 = "#FFD173"
+ let g:terminal_color_4 = "#5CCFE6"
+ let g:terminal_color_5 = "#D4BFFF"
+ let g:terminal_color_6 = "#95E6CB"
+ let g:terminal_color_7 = "#CCCAC2"
+ let g:terminal_color_8 = "#707A8C"
+ let g:terminal_color_9 = "#F28779"
+ let g:terminal_color_10 = "#D5FF80"
+ let g:terminal_color_11 = "#FFD173"
+ let g:terminal_color_12 = "#5CCFE6"
+ let g:terminal_color_13 = "#D4BFFF"
+ let g:terminal_color_14 = "#95E6CB"
+ let g:terminal_color_15 = "#F3F4F5"
+ 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 = [
+ \ "#171B24",
+ \ "#F28779",
+ \ "#D5FF80",
+ \ "#FFD173",
+ \ "#5CCFE6",
+ \ "#D4BFFF",
+ \ "#95E6CB",
+ \ "#CCCAC2",
+ \ "#707A8C",
+ \ "#F28779",
+ \ "#D5FF80",
+ \ "#FFD173",
+ \ "#5CCFE6",
+ \ "#D4BFFF",
+ \ "#95E6CB",
+ \ "#F3F4F5",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-ayu-mirage"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-blueforest.vim b/colors/base16-blueforest.vim
new file mode 100644
index 0000000..51cfbca
--- /dev/null
+++ b/colors/base16-blueforest.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Blue Forest scheme by alonsodomin (https://github.com/alonsodomin)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-blueforest.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "141F2E"
+let g:base16_gui00 = "141F2E"
+let s:gui01 = "1e5c1e"
+let g:base16_gui01 = "1e5c1e"
+let s:gui02 = "273e5c"
+let g:base16_gui02 = "273e5c"
+let s:gui03 = "a0ffa0"
+let g:base16_gui03 = "a0ffa0"
+let s:gui04 = "1e5c1e"
+let g:base16_gui04 = "1e5c1e"
+let s:gui05 = "FFCC33"
+let g:base16_gui05 = "FFCC33"
+let s:gui06 = "91CCFF"
+let g:base16_gui06 = "91CCFF"
+let s:gui07 = "375780"
+let g:base16_gui07 = "375780"
+let s:gui08 = "fffab1"
+let g:base16_gui08 = "fffab1"
+let s:gui09 = "FF8080"
+let g:base16_gui09 = "FF8080"
+let s:gui0A = "91CCFF"
+let g:base16_gui0A = "91CCFF"
+let s:gui0B = "80ff80"
+let g:base16_gui0B = "80ff80"
+let s:gui0C = "80ff80"
+let g:base16_gui0C = "80ff80"
+let s:gui0D = "a2cff5"
+let g:base16_gui0D = "a2cff5"
+let s:gui0E = "0099FF"
+let g:base16_gui0E = "0099FF"
+let s:gui0F = "e7e7e7"
+let g:base16_gui0F = "e7e7e7"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#141F2E"
+ let g:terminal_color_1 = "#fffab1"
+ let g:terminal_color_2 = "#80ff80"
+ let g:terminal_color_3 = "#91CCFF"
+ let g:terminal_color_4 = "#a2cff5"
+ let g:terminal_color_5 = "#0099FF"
+ let g:terminal_color_6 = "#80ff80"
+ let g:terminal_color_7 = "#FFCC33"
+ let g:terminal_color_8 = "#a0ffa0"
+ let g:terminal_color_9 = "#fffab1"
+ let g:terminal_color_10 = "#80ff80"
+ let g:terminal_color_11 = "#91CCFF"
+ let g:terminal_color_12 = "#a2cff5"
+ let g:terminal_color_13 = "#0099FF"
+ let g:terminal_color_14 = "#80ff80"
+ let g:terminal_color_15 = "#375780"
+ 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 = [
+ \ "#141F2E",
+ \ "#fffab1",
+ \ "#80ff80",
+ \ "#91CCFF",
+ \ "#a2cff5",
+ \ "#0099FF",
+ \ "#80ff80",
+ \ "#FFCC33",
+ \ "#a0ffa0",
+ \ "#fffab1",
+ \ "#80ff80",
+ \ "#91CCFF",
+ \ "#a2cff5",
+ \ "#0099FF",
+ \ "#80ff80",
+ \ "#375780",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-blueforest"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-blueish.vim b/colors/base16-blueish.vim
new file mode 100644
index 0000000..d5f072f
--- /dev/null
+++ b/colors/base16-blueish.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" better-contrast scheme by Ben Mayoras
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-blueish.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "182430"
+let g:base16_gui00 = "182430"
+let s:gui01 = "243C54"
+let g:base16_gui01 = "243C54"
+let s:gui02 = "46290A"
+let g:base16_gui02 = "46290A"
+let s:gui03 = "616D78"
+let g:base16_gui03 = "616D78"
+let s:gui04 = "74AFE7"
+let g:base16_gui04 = "74AFE7"
+let s:gui05 = "C8E1F8"
+let g:base16_gui05 = "C8E1F8"
+let s:gui06 = "DDEAF6"
+let g:base16_gui06 = "DDEAF6"
+let s:gui07 = "8F98A0"
+let g:base16_gui07 = "8F98A0"
+let s:gui08 = "4CE587"
+let g:base16_gui08 = "4CE587"
+let s:gui09 = "F6A85C"
+let g:base16_gui09 = "F6A85C"
+let s:gui0A = "82AAFF"
+let g:base16_gui0A = "82AAFF"
+let s:gui0B = "C3E88D"
+let g:base16_gui0B = "C3E88D"
+let s:gui0C = "5FD1FF"
+let g:base16_gui0C = "5FD1FF"
+let s:gui0D = "82AAFF"
+let g:base16_gui0D = "82AAFF"
+let s:gui0E = "FF84DD"
+let g:base16_gui0E = "FF84DD"
+let s:gui0F = "BBD2E8"
+let g:base16_gui0F = "BBD2E8"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#182430"
+ let g:terminal_color_1 = "#4CE587"
+ let g:terminal_color_2 = "#C3E88D"
+ let g:terminal_color_3 = "#82AAFF"
+ let g:terminal_color_4 = "#82AAFF"
+ let g:terminal_color_5 = "#FF84DD"
+ let g:terminal_color_6 = "#5FD1FF"
+ let g:terminal_color_7 = "#C8E1F8"
+ let g:terminal_color_8 = "#616D78"
+ let g:terminal_color_9 = "#4CE587"
+ let g:terminal_color_10 = "#C3E88D"
+ let g:terminal_color_11 = "#82AAFF"
+ let g:terminal_color_12 = "#82AAFF"
+ let g:terminal_color_13 = "#FF84DD"
+ let g:terminal_color_14 = "#5FD1FF"
+ let g:terminal_color_15 = "#8F98A0"
+ 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 = [
+ \ "#182430",
+ \ "#4CE587",
+ \ "#C3E88D",
+ \ "#82AAFF",
+ \ "#82AAFF",
+ \ "#FF84DD",
+ \ "#5FD1FF",
+ \ "#C8E1F8",
+ \ "#616D78",
+ \ "#4CE587",
+ \ "#C3E88D",
+ \ "#82AAFF",
+ \ "#82AAFF",
+ \ "#FF84DD",
+ \ "#5FD1FF",
+ \ "#8F98A0",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-blueish"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-catppuccin.vim b/colors/base16-catppuccin.vim
new file mode 100644
index 0000000..821f0fb
--- /dev/null
+++ b/colors/base16-catppuccin.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Catppuccin scheme by Pocco81 (https://github.com/pocco81)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-catppuccin.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1E1E28"
+let g:base16_gui00 = "1E1E28"
+let s:gui01 = "1A1826"
+let g:base16_gui01 = "1A1826"
+let s:gui02 = "302D41"
+let g:base16_gui02 = "302D41"
+let s:gui03 = "575268"
+let g:base16_gui03 = "575268"
+let s:gui04 = "6E6C7C"
+let g:base16_gui04 = "6E6C7C"
+let s:gui05 = "D7DAE0"
+let g:base16_gui05 = "D7DAE0"
+let s:gui06 = "F5E0DC"
+let g:base16_gui06 = "F5E0DC"
+let s:gui07 = "C9CBFF"
+let g:base16_gui07 = "C9CBFF"
+let s:gui08 = "F28FAD"
+let g:base16_gui08 = "F28FAD"
+let s:gui09 = "F8BD96"
+let g:base16_gui09 = "F8BD96"
+let s:gui0A = "FAE3B0"
+let g:base16_gui0A = "FAE3B0"
+let s:gui0B = "ABE9B3"
+let g:base16_gui0B = "ABE9B3"
+let s:gui0C = "B5E8E0"
+let g:base16_gui0C = "B5E8E0"
+let s:gui0D = "96CDFB"
+let g:base16_gui0D = "96CDFB"
+let s:gui0E = "DDB6F2"
+let g:base16_gui0E = "DDB6F2"
+let s:gui0F = "F2CDCD"
+let g:base16_gui0F = "F2CDCD"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#1E1E28"
+ let g:terminal_color_1 = "#F28FAD"
+ let g:terminal_color_2 = "#ABE9B3"
+ let g:terminal_color_3 = "#FAE3B0"
+ let g:terminal_color_4 = "#96CDFB"
+ let g:terminal_color_5 = "#DDB6F2"
+ let g:terminal_color_6 = "#B5E8E0"
+ let g:terminal_color_7 = "#D7DAE0"
+ let g:terminal_color_8 = "#575268"
+ let g:terminal_color_9 = "#F28FAD"
+ let g:terminal_color_10 = "#ABE9B3"
+ let g:terminal_color_11 = "#FAE3B0"
+ let g:terminal_color_12 = "#96CDFB"
+ let g:terminal_color_13 = "#DDB6F2"
+ let g:terminal_color_14 = "#B5E8E0"
+ let g:terminal_color_15 = "#C9CBFF"
+ 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 = [
+ \ "#1E1E28",
+ \ "#F28FAD",
+ \ "#ABE9B3",
+ \ "#FAE3B0",
+ \ "#96CDFB",
+ \ "#DDB6F2",
+ \ "#B5E8E0",
+ \ "#D7DAE0",
+ \ "#575268",
+ \ "#F28FAD",
+ \ "#ABE9B3",
+ \ "#FAE3B0",
+ \ "#96CDFB",
+ \ "#DDB6F2",
+ \ "#B5E8E0",
+ \ "#C9CBFF",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-catppuccin"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-black.vim b/colors/base16-da-one-black.vim
new file mode 100644
index 0000000..ebfe5f2
--- /dev/null
+++ b/colors/base16-da-one-black.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One Black scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-black.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "000000"
+let g:base16_gui00 = "000000"
+let s:gui01 = "282828"
+let g:base16_gui01 = "282828"
+let s:gui02 = "585858"
+let g:base16_gui02 = "585858"
+let s:gui03 = "888888"
+let g:base16_gui03 = "888888"
+let s:gui04 = "c8c8c8"
+let g:base16_gui04 = "c8c8c8"
+let s:gui05 = "ffffff"
+let g:base16_gui05 = "ffffff"
+let s:gui06 = "ffffff"
+let g:base16_gui06 = "ffffff"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "fa7883"
+let g:base16_gui08 = "fa7883"
+let s:gui09 = "ffc387"
+let g:base16_gui09 = "ffc387"
+let s:gui0A = "ff9470"
+let g:base16_gui0A = "ff9470"
+let s:gui0B = "98c379"
+let g:base16_gui0B = "98c379"
+let s:gui0C = "8af5ff"
+let g:base16_gui0C = "8af5ff"
+let s:gui0D = "6bb8ff"
+let g:base16_gui0D = "6bb8ff"
+let s:gui0E = "e799ff"
+let g:base16_gui0E = "e799ff"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#000000"
+ let g:terminal_color_1 = "#fa7883"
+ let g:terminal_color_2 = "#98c379"
+ let g:terminal_color_3 = "#ff9470"
+ let g:terminal_color_4 = "#6bb8ff"
+ let g:terminal_color_5 = "#e799ff"
+ let g:terminal_color_6 = "#8af5ff"
+ let g:terminal_color_7 = "#ffffff"
+ let g:terminal_color_8 = "#888888"
+ let g:terminal_color_9 = "#fa7883"
+ let g:terminal_color_10 = "#98c379"
+ let g:terminal_color_11 = "#ff9470"
+ let g:terminal_color_12 = "#6bb8ff"
+ let g:terminal_color_13 = "#e799ff"
+ let g:terminal_color_14 = "#8af5ff"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#000000",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ "#888888",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-black"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-gray.vim b/colors/base16-da-one-gray.vim
new file mode 100644
index 0000000..dbf7916
--- /dev/null
+++ b/colors/base16-da-one-gray.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One Gray scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-gray.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "181818"
+let g:base16_gui00 = "181818"
+let s:gui01 = "282828"
+let g:base16_gui01 = "282828"
+let s:gui02 = "585858"
+let g:base16_gui02 = "585858"
+let s:gui03 = "888888"
+let g:base16_gui03 = "888888"
+let s:gui04 = "c8c8c8"
+let g:base16_gui04 = "c8c8c8"
+let s:gui05 = "ffffff"
+let g:base16_gui05 = "ffffff"
+let s:gui06 = "ffffff"
+let g:base16_gui06 = "ffffff"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "fa7883"
+let g:base16_gui08 = "fa7883"
+let s:gui09 = "ffc387"
+let g:base16_gui09 = "ffc387"
+let s:gui0A = "ff9470"
+let g:base16_gui0A = "ff9470"
+let s:gui0B = "98c379"
+let g:base16_gui0B = "98c379"
+let s:gui0C = "8af5ff"
+let g:base16_gui0C = "8af5ff"
+let s:gui0D = "6bb8ff"
+let g:base16_gui0D = "6bb8ff"
+let s:gui0E = "e799ff"
+let g:base16_gui0E = "e799ff"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#181818"
+ let g:terminal_color_1 = "#fa7883"
+ let g:terminal_color_2 = "#98c379"
+ let g:terminal_color_3 = "#ff9470"
+ let g:terminal_color_4 = "#6bb8ff"
+ let g:terminal_color_5 = "#e799ff"
+ let g:terminal_color_6 = "#8af5ff"
+ let g:terminal_color_7 = "#ffffff"
+ let g:terminal_color_8 = "#888888"
+ let g:terminal_color_9 = "#fa7883"
+ let g:terminal_color_10 = "#98c379"
+ let g:terminal_color_11 = "#ff9470"
+ let g:terminal_color_12 = "#6bb8ff"
+ let g:terminal_color_13 = "#e799ff"
+ let g:terminal_color_14 = "#8af5ff"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#181818",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ "#888888",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-gray"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-ocean.vim b/colors/base16-da-one-ocean.vim
new file mode 100644
index 0000000..c7f19ca
--- /dev/null
+++ b/colors/base16-da-one-ocean.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One Ocean scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-ocean.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "171726"
+let g:base16_gui00 = "171726"
+let s:gui01 = "22273d"
+let g:base16_gui01 = "22273d"
+let s:gui02 = "525866"
+let g:base16_gui02 = "525866"
+let s:gui03 = "878d96"
+let g:base16_gui03 = "878d96"
+let s:gui04 = "c8c8c8"
+let g:base16_gui04 = "c8c8c8"
+let s:gui05 = "ffffff"
+let g:base16_gui05 = "ffffff"
+let s:gui06 = "ffffff"
+let g:base16_gui06 = "ffffff"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "fa7883"
+let g:base16_gui08 = "fa7883"
+let s:gui09 = "ffc387"
+let g:base16_gui09 = "ffc387"
+let s:gui0A = "ff9470"
+let g:base16_gui0A = "ff9470"
+let s:gui0B = "98c379"
+let g:base16_gui0B = "98c379"
+let s:gui0C = "8af5ff"
+let g:base16_gui0C = "8af5ff"
+let s:gui0D = "6bb8ff"
+let g:base16_gui0D = "6bb8ff"
+let s:gui0E = "e799ff"
+let g:base16_gui0E = "e799ff"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#171726"
+ let g:terminal_color_1 = "#fa7883"
+ let g:terminal_color_2 = "#98c379"
+ let g:terminal_color_3 = "#ff9470"
+ let g:terminal_color_4 = "#6bb8ff"
+ let g:terminal_color_5 = "#e799ff"
+ let g:terminal_color_6 = "#8af5ff"
+ let g:terminal_color_7 = "#ffffff"
+ let g:terminal_color_8 = "#878d96"
+ let g:terminal_color_9 = "#fa7883"
+ let g:terminal_color_10 = "#98c379"
+ let g:terminal_color_11 = "#ff9470"
+ let g:terminal_color_12 = "#6bb8ff"
+ let g:terminal_color_13 = "#e799ff"
+ let g:terminal_color_14 = "#8af5ff"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#171726",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ "#878d96",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-ocean"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-paper.vim b/colors/base16-da-one-paper.vim
new file mode 100644
index 0000000..0818220
--- /dev/null
+++ b/colors/base16-da-one-paper.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One Paper scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-paper.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "faf0dc"
+let g:base16_gui00 = "faf0dc"
+let s:gui01 = "c8c8c8"
+let g:base16_gui01 = "c8c8c8"
+let s:gui02 = "888888"
+let g:base16_gui02 = "888888"
+let s:gui03 = "585858"
+let g:base16_gui03 = "585858"
+let s:gui04 = "282828"
+let g:base16_gui04 = "282828"
+let s:gui05 = "181818"
+let g:base16_gui05 = "181818"
+let s:gui06 = "000000"
+let g:base16_gui06 = "000000"
+let s:gui07 = "000000"
+let g:base16_gui07 = "000000"
+let s:gui08 = "de5d6e"
+let g:base16_gui08 = "de5d6e"
+let s:gui09 = "ff9470"
+let g:base16_gui09 = "ff9470"
+let s:gui0A = "b3684f"
+let g:base16_gui0A = "b3684f"
+let s:gui0B = "76a85d"
+let g:base16_gui0B = "76a85d"
+let s:gui0C = "64b5a7"
+let g:base16_gui0C = "64b5a7"
+let s:gui0D = "5890f8"
+let g:base16_gui0D = "5890f8"
+let s:gui0E = "c173d1"
+let g:base16_gui0E = "c173d1"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#faf0dc"
+ let g:terminal_color_1 = "#de5d6e"
+ let g:terminal_color_2 = "#76a85d"
+ let g:terminal_color_3 = "#b3684f"
+ let g:terminal_color_4 = "#5890f8"
+ let g:terminal_color_5 = "#c173d1"
+ let g:terminal_color_6 = "#64b5a7"
+ let g:terminal_color_7 = "#181818"
+ let g:terminal_color_8 = "#585858"
+ let g:terminal_color_9 = "#de5d6e"
+ let g:terminal_color_10 = "#76a85d"
+ let g:terminal_color_11 = "#b3684f"
+ let g:terminal_color_12 = "#5890f8"
+ let g:terminal_color_13 = "#c173d1"
+ let g:terminal_color_14 = "#64b5a7"
+ let g:terminal_color_15 = "#000000"
+ 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 = [
+ \ "#faf0dc",
+ \ "#de5d6e",
+ \ "#76a85d",
+ \ "#b3684f",
+ \ "#5890f8",
+ \ "#c173d1",
+ \ "#64b5a7",
+ \ "#181818",
+ \ "#585858",
+ \ "#de5d6e",
+ \ "#76a85d",
+ \ "#b3684f",
+ \ "#5890f8",
+ \ "#c173d1",
+ \ "#64b5a7",
+ \ "#000000",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-paper"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-sea.vim b/colors/base16-da-one-sea.vim
new file mode 100644
index 0000000..637316c
--- /dev/null
+++ b/colors/base16-da-one-sea.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One Sea scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-sea.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "22273d"
+let g:base16_gui00 = "22273d"
+let s:gui01 = "374059"
+let g:base16_gui01 = "374059"
+let s:gui02 = "525866"
+let g:base16_gui02 = "525866"
+let s:gui03 = "878d96"
+let g:base16_gui03 = "878d96"
+let s:gui04 = "c8c8c8"
+let g:base16_gui04 = "c8c8c8"
+let s:gui05 = "ffffff"
+let g:base16_gui05 = "ffffff"
+let s:gui06 = "ffffff"
+let g:base16_gui06 = "ffffff"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "fa7883"
+let g:base16_gui08 = "fa7883"
+let s:gui09 = "ffc387"
+let g:base16_gui09 = "ffc387"
+let s:gui0A = "ff9470"
+let g:base16_gui0A = "ff9470"
+let s:gui0B = "98c379"
+let g:base16_gui0B = "98c379"
+let s:gui0C = "8af5ff"
+let g:base16_gui0C = "8af5ff"
+let s:gui0D = "6bb8ff"
+let g:base16_gui0D = "6bb8ff"
+let s:gui0E = "e799ff"
+let g:base16_gui0E = "e799ff"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#22273d"
+ let g:terminal_color_1 = "#fa7883"
+ let g:terminal_color_2 = "#98c379"
+ let g:terminal_color_3 = "#ff9470"
+ let g:terminal_color_4 = "#6bb8ff"
+ let g:terminal_color_5 = "#e799ff"
+ let g:terminal_color_6 = "#8af5ff"
+ let g:terminal_color_7 = "#ffffff"
+ let g:terminal_color_8 = "#878d96"
+ let g:terminal_color_9 = "#fa7883"
+ let g:terminal_color_10 = "#98c379"
+ let g:terminal_color_11 = "#ff9470"
+ let g:terminal_color_12 = "#6bb8ff"
+ let g:terminal_color_13 = "#e799ff"
+ let g:terminal_color_14 = "#8af5ff"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#22273d",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ "#878d96",
+ \ "#fa7883",
+ \ "#98c379",
+ \ "#ff9470",
+ \ "#6bb8ff",
+ \ "#e799ff",
+ \ "#8af5ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-sea"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-da-one-white.vim b/colors/base16-da-one-white.vim
new file mode 100644
index 0000000..21ec25d
--- /dev/null
+++ b/colors/base16-da-one-white.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Da One White scheme by NNB (https://github.com/NNBnh)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-da-one-white.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "ffffff"
+let g:base16_gui00 = "ffffff"
+let s:gui01 = "c8c8c8"
+let g:base16_gui01 = "c8c8c8"
+let s:gui02 = "888888"
+let g:base16_gui02 = "888888"
+let s:gui03 = "585858"
+let g:base16_gui03 = "585858"
+let s:gui04 = "282828"
+let g:base16_gui04 = "282828"
+let s:gui05 = "181818"
+let g:base16_gui05 = "181818"
+let s:gui06 = "000000"
+let g:base16_gui06 = "000000"
+let s:gui07 = "000000"
+let g:base16_gui07 = "000000"
+let s:gui08 = "de5d6e"
+let g:base16_gui08 = "de5d6e"
+let s:gui09 = "ff9470"
+let g:base16_gui09 = "ff9470"
+let s:gui0A = "b3684f"
+let g:base16_gui0A = "b3684f"
+let s:gui0B = "76a85d"
+let g:base16_gui0B = "76a85d"
+let s:gui0C = "64b5a7"
+let g:base16_gui0C = "64b5a7"
+let s:gui0D = "5890f8"
+let g:base16_gui0D = "5890f8"
+let s:gui0E = "c173d1"
+let g:base16_gui0E = "c173d1"
+let s:gui0F = "b3684f"
+let g:base16_gui0F = "b3684f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#ffffff"
+ let g:terminal_color_1 = "#de5d6e"
+ let g:terminal_color_2 = "#76a85d"
+ let g:terminal_color_3 = "#b3684f"
+ let g:terminal_color_4 = "#5890f8"
+ let g:terminal_color_5 = "#c173d1"
+ let g:terminal_color_6 = "#64b5a7"
+ let g:terminal_color_7 = "#181818"
+ let g:terminal_color_8 = "#585858"
+ let g:terminal_color_9 = "#de5d6e"
+ let g:terminal_color_10 = "#76a85d"
+ let g:terminal_color_11 = "#b3684f"
+ let g:terminal_color_12 = "#5890f8"
+ let g:terminal_color_13 = "#c173d1"
+ let g:terminal_color_14 = "#64b5a7"
+ let g:terminal_color_15 = "#000000"
+ 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 = [
+ \ "#ffffff",
+ \ "#de5d6e",
+ \ "#76a85d",
+ \ "#b3684f",
+ \ "#5890f8",
+ \ "#c173d1",
+ \ "#64b5a7",
+ \ "#181818",
+ \ "#585858",
+ \ "#de5d6e",
+ \ "#76a85d",
+ \ "#b3684f",
+ \ "#5890f8",
+ \ "#c173d1",
+ \ "#64b5a7",
+ \ "#000000",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-da-one-white"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-emil.vim b/colors/base16-emil.vim
new file mode 100644
index 0000000..ab27a21
--- /dev/null
+++ b/colors/base16-emil.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" emil scheme by limelier
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-emil.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "efefef"
+let g:base16_gui00 = "efefef"
+let s:gui01 = "bebed2"
+let g:base16_gui01 = "bebed2"
+let s:gui02 = "9e9eaf"
+let g:base16_gui02 = "9e9eaf"
+let s:gui03 = "7c7c98"
+let g:base16_gui03 = "7c7c98"
+let s:gui04 = "505063"
+let g:base16_gui04 = "505063"
+let s:gui05 = "313145"
+let g:base16_gui05 = "313145"
+let s:gui06 = "22223a"
+let g:base16_gui06 = "22223a"
+let s:gui07 = "1a1a2f"
+let g:base16_gui07 = "1a1a2f"
+let s:gui08 = "f43979"
+let g:base16_gui08 = "f43979"
+let s:gui09 = "d22a8b"
+let g:base16_gui09 = "d22a8b"
+let s:gui0A = "ff669b"
+let g:base16_gui0A = "ff669b"
+let s:gui0B = "0073a8"
+let g:base16_gui0B = "0073a8"
+let s:gui0C = "2155d6"
+let g:base16_gui0C = "2155d6"
+let s:gui0D = "471397"
+let g:base16_gui0D = "471397"
+let s:gui0E = "6916b6"
+let g:base16_gui0E = "6916b6"
+let s:gui0F = "8d17a5"
+let g:base16_gui0F = "8d17a5"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#efefef"
+ let g:terminal_color_1 = "#f43979"
+ let g:terminal_color_2 = "#0073a8"
+ let g:terminal_color_3 = "#ff669b"
+ let g:terminal_color_4 = "#471397"
+ let g:terminal_color_5 = "#6916b6"
+ let g:terminal_color_6 = "#2155d6"
+ let g:terminal_color_7 = "#313145"
+ let g:terminal_color_8 = "#7c7c98"
+ let g:terminal_color_9 = "#f43979"
+ let g:terminal_color_10 = "#0073a8"
+ let g:terminal_color_11 = "#ff669b"
+ let g:terminal_color_12 = "#471397"
+ let g:terminal_color_13 = "#6916b6"
+ let g:terminal_color_14 = "#2155d6"
+ let g:terminal_color_15 = "#1a1a2f"
+ 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 = [
+ \ "#efefef",
+ \ "#f43979",
+ \ "#0073a8",
+ \ "#ff669b",
+ \ "#471397",
+ \ "#6916b6",
+ \ "#2155d6",
+ \ "#313145",
+ \ "#7c7c98",
+ \ "#f43979",
+ \ "#0073a8",
+ \ "#ff669b",
+ \ "#471397",
+ \ "#6916b6",
+ \ "#2155d6",
+ \ "#1a1a2f",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-emil"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-everforest.vim b/colors/base16-everforest.vim
new file mode 100644
index 0000000..da6d79b
--- /dev/null
+++ b/colors/base16-everforest.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" EverForest scheme by sainnhe
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-everforest.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2b3339"
+let g:base16_gui00 = "2b3339"
+let s:gui01 = "323c41"
+let g:base16_gui01 = "323c41"
+let s:gui02 = "3a4248"
+let g:base16_gui02 = "3a4248"
+let s:gui03 = "868d80"
+let g:base16_gui03 = "868d80"
+let s:gui04 = "a59572"
+let g:base16_gui04 = "a59572"
+let s:gui05 = "d3c6aa"
+let g:base16_gui05 = "d3c6aa"
+let s:gui06 = "e9e8d2"
+let g:base16_gui06 = "e9e8d2"
+let s:gui07 = "fff9e8"
+let g:base16_gui07 = "fff9e8"
+let s:gui08 = "e67e80"
+let g:base16_gui08 = "e67e80"
+let s:gui09 = "e69875"
+let g:base16_gui09 = "e69875"
+let s:gui0A = "dbbc7f"
+let g:base16_gui0A = "dbbc7f"
+let s:gui0B = "a7c080"
+let g:base16_gui0B = "a7c080"
+let s:gui0C = "83c092"
+let g:base16_gui0C = "83c092"
+let s:gui0D = "7fbbb3"
+let g:base16_gui0D = "7fbbb3"
+let s:gui0E = "d699b6"
+let g:base16_gui0E = "d699b6"
+let s:gui0F = "d699b6"
+let g:base16_gui0F = "d699b6"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#2b3339"
+ let g:terminal_color_1 = "#e67e80"
+ let g:terminal_color_2 = "#a7c080"
+ let g:terminal_color_3 = "#dbbc7f"
+ let g:terminal_color_4 = "#7fbbb3"
+ let g:terminal_color_5 = "#d699b6"
+ let g:terminal_color_6 = "#83c092"
+ let g:terminal_color_7 = "#d3c6aa"
+ let g:terminal_color_8 = "#868d80"
+ let g:terminal_color_9 = "#e67e80"
+ let g:terminal_color_10 = "#a7c080"
+ let g:terminal_color_11 = "#dbbc7f"
+ let g:terminal_color_12 = "#7fbbb3"
+ let g:terminal_color_13 = "#d699b6"
+ let g:terminal_color_14 = "#83c092"
+ let g:terminal_color_15 = "#fff9e8"
+ 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 = [
+ \ "#2b3339",
+ \ "#e67e80",
+ \ "#a7c080",
+ \ "#dbbc7f",
+ \ "#7fbbb3",
+ \ "#d699b6",
+ \ "#83c092",
+ \ "#d3c6aa",
+ \ "#868d80",
+ \ "#e67e80",
+ \ "#a7c080",
+ \ "#dbbc7f",
+ \ "#7fbbb3",
+ \ "#d699b6",
+ \ "#83c092",
+ \ "#fff9e8",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-everforest"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gotham.vim b/colors/base16-gotham.vim
new file mode 100644
index 0000000..5740454
--- /dev/null
+++ b/colors/base16-gotham.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gotham scheme by Andrea Leopardi (arranged by Brett Jones)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gotham.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "0c1014"
+let g:base16_gui00 = "0c1014"
+let s:gui01 = "11151c"
+let g:base16_gui01 = "11151c"
+let s:gui02 = "091f2e"
+let g:base16_gui02 = "091f2e"
+let s:gui03 = "0a3749"
+let g:base16_gui03 = "0a3749"
+let s:gui04 = "245361"
+let g:base16_gui04 = "245361"
+let s:gui05 = "599cab"
+let g:base16_gui05 = "599cab"
+let s:gui06 = "99d1ce"
+let g:base16_gui06 = "99d1ce"
+let s:gui07 = "d3ebe9"
+let g:base16_gui07 = "d3ebe9"
+let s:gui08 = "c23127"
+let g:base16_gui08 = "c23127"
+let s:gui09 = "d26937"
+let g:base16_gui09 = "d26937"
+let s:gui0A = "edb443"
+let g:base16_gui0A = "edb443"
+let s:gui0B = "33859E"
+let g:base16_gui0B = "33859E"
+let s:gui0C = "2aa889"
+let g:base16_gui0C = "2aa889"
+let s:gui0D = "195466"
+let g:base16_gui0D = "195466"
+let s:gui0E = "888ca6"
+let g:base16_gui0E = "888ca6"
+let s:gui0F = "4e5166"
+let g:base16_gui0F = "4e5166"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#0c1014"
+ let g:terminal_color_1 = "#c23127"
+ let g:terminal_color_2 = "#33859E"
+ let g:terminal_color_3 = "#edb443"
+ let g:terminal_color_4 = "#195466"
+ let g:terminal_color_5 = "#888ca6"
+ let g:terminal_color_6 = "#2aa889"
+ let g:terminal_color_7 = "#599cab"
+ let g:terminal_color_8 = "#0a3749"
+ let g:terminal_color_9 = "#c23127"
+ let g:terminal_color_10 = "#33859E"
+ let g:terminal_color_11 = "#edb443"
+ let g:terminal_color_12 = "#195466"
+ let g:terminal_color_13 = "#888ca6"
+ let g:terminal_color_14 = "#2aa889"
+ let g:terminal_color_15 = "#d3ebe9"
+ 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 = [
+ \ "#0c1014",
+ \ "#c23127",
+ \ "#33859E",
+ \ "#edb443",
+ \ "#195466",
+ \ "#888ca6",
+ \ "#2aa889",
+ \ "#599cab",
+ \ "#0a3749",
+ \ "#c23127",
+ \ "#33859E",
+ \ "#edb443",
+ \ "#195466",
+ \ "#888ca6",
+ \ "#2aa889",
+ \ "#d3ebe9",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gotham"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruber.vim b/colors/base16-gruber.vim
new file mode 100644
index 0000000..fcc981a
--- /dev/null
+++ b/colors/base16-gruber.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruber scheme by Patel, Nimai &lt;nimai.m.patel@gmail.com&gt;, colors from www.github.com/rexim/gruber-darker-theme
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruber.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "181818"
+let g:base16_gui00 = "181818"
+let s:gui01 = "453d41"
+let g:base16_gui01 = "453d41"
+let s:gui02 = "484848"
+let g:base16_gui02 = "484848"
+let s:gui03 = "52494e"
+let g:base16_gui03 = "52494e"
+let s:gui04 = "e4e4ef"
+let g:base16_gui04 = "e4e4ef"
+let s:gui05 = "f4f4ff"
+let g:base16_gui05 = "f4f4ff"
+let s:gui06 = "f5f5f5"
+let g:base16_gui06 = "f5f5f5"
+let s:gui07 = "e4e4ef"
+let g:base16_gui07 = "e4e4ef"
+let s:gui08 = "f43841"
+let g:base16_gui08 = "f43841"
+let s:gui09 = "c73c3f"
+let g:base16_gui09 = "c73c3f"
+let s:gui0A = "ffdd33"
+let g:base16_gui0A = "ffdd33"
+let s:gui0B = "73c936"
+let g:base16_gui0B = "73c936"
+let s:gui0C = "95a99f"
+let g:base16_gui0C = "95a99f"
+let s:gui0D = "96a6c8"
+let g:base16_gui0D = "96a6c8"
+let s:gui0E = "9e95c7"
+let g:base16_gui0E = "9e95c7"
+let s:gui0F = "cc8c3c"
+let g:base16_gui0F = "cc8c3c"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#181818"
+ let g:terminal_color_1 = "#f43841"
+ let g:terminal_color_2 = "#73c936"
+ let g:terminal_color_3 = "#ffdd33"
+ let g:terminal_color_4 = "#96a6c8"
+ let g:terminal_color_5 = "#9e95c7"
+ let g:terminal_color_6 = "#95a99f"
+ let g:terminal_color_7 = "#f4f4ff"
+ let g:terminal_color_8 = "#52494e"
+ let g:terminal_color_9 = "#f43841"
+ let g:terminal_color_10 = "#73c936"
+ let g:terminal_color_11 = "#ffdd33"
+ let g:terminal_color_12 = "#96a6c8"
+ let g:terminal_color_13 = "#9e95c7"
+ let g:terminal_color_14 = "#95a99f"
+ let g:terminal_color_15 = "#e4e4ef"
+ 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 = [
+ \ "#181818",
+ \ "#f43841",
+ \ "#73c936",
+ \ "#ffdd33",
+ \ "#96a6c8",
+ \ "#9e95c7",
+ \ "#95a99f",
+ \ "#f4f4ff",
+ \ "#52494e",
+ \ "#f43841",
+ \ "#73c936",
+ \ "#ffdd33",
+ \ "#96a6c8",
+ \ "#9e95c7",
+ \ "#95a99f",
+ \ "#e4e4ef",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruber"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-dark-hard.vim b/colors/base16-gruvbox-material-dark-hard.vim
new file mode 100644
index 0000000..659dbba
--- /dev/null
+++ b/colors/base16-gruvbox-material-dark-hard.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Dark, Medium scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-dark-hard.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "202020"
+let g:base16_gui00 = "202020"
+let s:gui01 = "2a2827"
+let g:base16_gui01 = "2a2827"
+let s:gui02 = "504945"
+let g:base16_gui02 = "504945"
+let s:gui03 = "5a524c"
+let g:base16_gui03 = "5a524c"
+let s:gui04 = "bdae93"
+let g:base16_gui04 = "bdae93"
+let s:gui05 = "ddc7a1"
+let g:base16_gui05 = "ddc7a1"
+let s:gui06 = "ebdbb2"
+let g:base16_gui06 = "ebdbb2"
+let s:gui07 = "fbf1c7"
+let g:base16_gui07 = "fbf1c7"
+let s:gui08 = "ea6962"
+let g:base16_gui08 = "ea6962"
+let s:gui09 = "e78a4e"
+let g:base16_gui09 = "e78a4e"
+let s:gui0A = "d8a657"
+let g:base16_gui0A = "d8a657"
+let s:gui0B = "a9b665"
+let g:base16_gui0B = "a9b665"
+let s:gui0C = "89b482"
+let g:base16_gui0C = "89b482"
+let s:gui0D = "7daea3"
+let g:base16_gui0D = "7daea3"
+let s:gui0E = "d3869b"
+let g:base16_gui0E = "d3869b"
+let s:gui0F = "bd6f3e"
+let g:base16_gui0F = "bd6f3e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#202020"
+ let g:terminal_color_1 = "#ea6962"
+ let g:terminal_color_2 = "#a9b665"
+ let g:terminal_color_3 = "#d8a657"
+ let g:terminal_color_4 = "#7daea3"
+ let g:terminal_color_5 = "#d3869b"
+ let g:terminal_color_6 = "#89b482"
+ let g:terminal_color_7 = "#ddc7a1"
+ let g:terminal_color_8 = "#5a524c"
+ let g:terminal_color_9 = "#ea6962"
+ let g:terminal_color_10 = "#a9b665"
+ let g:terminal_color_11 = "#d8a657"
+ let g:terminal_color_12 = "#7daea3"
+ let g:terminal_color_13 = "#d3869b"
+ let g:terminal_color_14 = "#89b482"
+ let g:terminal_color_15 = "#fbf1c7"
+ 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 = [
+ \ "#202020",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#ddc7a1",
+ \ "#5a524c",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#fbf1c7",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-dark-hard"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-dark-medium.vim b/colors/base16-gruvbox-material-dark-medium.vim
new file mode 100644
index 0000000..a5f5dbd
--- /dev/null
+++ b/colors/base16-gruvbox-material-dark-medium.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Dark, Medium scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-dark-medium.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "292828"
+let g:base16_gui00 = "292828"
+let s:gui01 = "32302f"
+let g:base16_gui01 = "32302f"
+let s:gui02 = "504945"
+let g:base16_gui02 = "504945"
+let s:gui03 = "665c54"
+let g:base16_gui03 = "665c54"
+let s:gui04 = "bdae93"
+let g:base16_gui04 = "bdae93"
+let s:gui05 = "ddc7a1"
+let g:base16_gui05 = "ddc7a1"
+let s:gui06 = "ebdbb2"
+let g:base16_gui06 = "ebdbb2"
+let s:gui07 = "fbf1c7"
+let g:base16_gui07 = "fbf1c7"
+let s:gui08 = "ea6962"
+let g:base16_gui08 = "ea6962"
+let s:gui09 = "e78a4e"
+let g:base16_gui09 = "e78a4e"
+let s:gui0A = "d8a657"
+let g:base16_gui0A = "d8a657"
+let s:gui0B = "a9b665"
+let g:base16_gui0B = "a9b665"
+let s:gui0C = "89b482"
+let g:base16_gui0C = "89b482"
+let s:gui0D = "7daea3"
+let g:base16_gui0D = "7daea3"
+let s:gui0E = "d3869b"
+let g:base16_gui0E = "d3869b"
+let s:gui0F = "bd6f3e"
+let g:base16_gui0F = "bd6f3e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#292828"
+ let g:terminal_color_1 = "#ea6962"
+ let g:terminal_color_2 = "#a9b665"
+ let g:terminal_color_3 = "#d8a657"
+ let g:terminal_color_4 = "#7daea3"
+ let g:terminal_color_5 = "#d3869b"
+ let g:terminal_color_6 = "#89b482"
+ let g:terminal_color_7 = "#ddc7a1"
+ let g:terminal_color_8 = "#665c54"
+ let g:terminal_color_9 = "#ea6962"
+ let g:terminal_color_10 = "#a9b665"
+ let g:terminal_color_11 = "#d8a657"
+ let g:terminal_color_12 = "#7daea3"
+ let g:terminal_color_13 = "#d3869b"
+ let g:terminal_color_14 = "#89b482"
+ let g:terminal_color_15 = "#fbf1c7"
+ 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 = [
+ \ "#292828",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#ddc7a1",
+ \ "#665c54",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#fbf1c7",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-dark-medium"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-dark-soft.vim b/colors/base16-gruvbox-material-dark-soft.vim
new file mode 100644
index 0000000..27cd51b
--- /dev/null
+++ b/colors/base16-gruvbox-material-dark-soft.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Dark, Soft scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-dark-soft.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "32302f"
+let g:base16_gui00 = "32302f"
+let s:gui01 = "3c3836"
+let g:base16_gui01 = "3c3836"
+let s:gui02 = "5a524c"
+let g:base16_gui02 = "5a524c"
+let s:gui03 = "7c6f64"
+let g:base16_gui03 = "7c6f64"
+let s:gui04 = "bdae93"
+let g:base16_gui04 = "bdae93"
+let s:gui05 = "ddc7a1"
+let g:base16_gui05 = "ddc7a1"
+let s:gui06 = "ebdbb2"
+let g:base16_gui06 = "ebdbb2"
+let s:gui07 = "fbf1c7"
+let g:base16_gui07 = "fbf1c7"
+let s:gui08 = "ea6962"
+let g:base16_gui08 = "ea6962"
+let s:gui09 = "e78a4e"
+let g:base16_gui09 = "e78a4e"
+let s:gui0A = "d8a657"
+let g:base16_gui0A = "d8a657"
+let s:gui0B = "a9b665"
+let g:base16_gui0B = "a9b665"
+let s:gui0C = "89b482"
+let g:base16_gui0C = "89b482"
+let s:gui0D = "7daea3"
+let g:base16_gui0D = "7daea3"
+let s:gui0E = "d3869b"
+let g:base16_gui0E = "d3869b"
+let s:gui0F = "bd6f3e"
+let g:base16_gui0F = "bd6f3e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#32302f"
+ let g:terminal_color_1 = "#ea6962"
+ let g:terminal_color_2 = "#a9b665"
+ let g:terminal_color_3 = "#d8a657"
+ let g:terminal_color_4 = "#7daea3"
+ let g:terminal_color_5 = "#d3869b"
+ let g:terminal_color_6 = "#89b482"
+ let g:terminal_color_7 = "#ddc7a1"
+ let g:terminal_color_8 = "#7c6f64"
+ let g:terminal_color_9 = "#ea6962"
+ let g:terminal_color_10 = "#a9b665"
+ let g:terminal_color_11 = "#d8a657"
+ let g:terminal_color_12 = "#7daea3"
+ let g:terminal_color_13 = "#d3869b"
+ let g:terminal_color_14 = "#89b482"
+ let g:terminal_color_15 = "#fbf1c7"
+ 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 = [
+ \ "#32302f",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#ddc7a1",
+ \ "#7c6f64",
+ \ "#ea6962",
+ \ "#a9b665",
+ \ "#d8a657",
+ \ "#7daea3",
+ \ "#d3869b",
+ \ "#89b482",
+ \ "#fbf1c7",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-dark-soft"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-light-hard.vim b/colors/base16-gruvbox-material-light-hard.vim
new file mode 100644
index 0000000..a507808
--- /dev/null
+++ b/colors/base16-gruvbox-material-light-hard.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Light, Hard scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-light-hard.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f9f5d7"
+let g:base16_gui00 = "f9f5d7"
+let s:gui01 = "fbf1c7"
+let g:base16_gui01 = "fbf1c7"
+let s:gui02 = "e0cfa9"
+let g:base16_gui02 = "e0cfa9"
+let s:gui03 = "a89984"
+let g:base16_gui03 = "a89984"
+let s:gui04 = "c9b99a"
+let g:base16_gui04 = "c9b99a"
+let s:gui05 = "654735"
+let g:base16_gui05 = "654735"
+let s:gui06 = "3c3836"
+let g:base16_gui06 = "3c3836"
+let s:gui07 = "282828"
+let g:base16_gui07 = "282828"
+let s:gui08 = "c14a4a"
+let g:base16_gui08 = "c14a4a"
+let s:gui09 = "c35e0a"
+let g:base16_gui09 = "c35e0a"
+let s:gui0A = "b47109"
+let g:base16_gui0A = "b47109"
+let s:gui0B = "6c782e"
+let g:base16_gui0B = "6c782e"
+let s:gui0C = "4c7a5d"
+let g:base16_gui0C = "4c7a5d"
+let s:gui0D = "45707a"
+let g:base16_gui0D = "45707a"
+let s:gui0E = "945e80"
+let g:base16_gui0E = "945e80"
+let s:gui0F = "e78a4e"
+let g:base16_gui0F = "e78a4e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#f9f5d7"
+ let g:terminal_color_1 = "#c14a4a"
+ let g:terminal_color_2 = "#6c782e"
+ let g:terminal_color_3 = "#b47109"
+ let g:terminal_color_4 = "#45707a"
+ let g:terminal_color_5 = "#945e80"
+ let g:terminal_color_6 = "#4c7a5d"
+ let g:terminal_color_7 = "#654735"
+ let g:terminal_color_8 = "#a89984"
+ let g:terminal_color_9 = "#c14a4a"
+ let g:terminal_color_10 = "#6c782e"
+ let g:terminal_color_11 = "#b47109"
+ let g:terminal_color_12 = "#45707a"
+ let g:terminal_color_13 = "#945e80"
+ let g:terminal_color_14 = "#4c7a5d"
+ let g:terminal_color_15 = "#282828"
+ 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 = [
+ \ "#f9f5d7",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#654735",
+ \ "#a89984",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#282828",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-light-hard"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-light-medium.vim b/colors/base16-gruvbox-material-light-medium.vim
new file mode 100644
index 0000000..60cb151
--- /dev/null
+++ b/colors/base16-gruvbox-material-light-medium.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Light, Medium scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-light-medium.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "fbf1c7"
+let g:base16_gui00 = "fbf1c7"
+let s:gui01 = "f2e5bc"
+let g:base16_gui01 = "f2e5bc"
+let s:gui02 = "d5c4a1"
+let g:base16_gui02 = "d5c4a1"
+let s:gui03 = "bdae93"
+let g:base16_gui03 = "bdae93"
+let s:gui04 = "665c54"
+let g:base16_gui04 = "665c54"
+let s:gui05 = "654735"
+let g:base16_gui05 = "654735"
+let s:gui06 = "3c3836"
+let g:base16_gui06 = "3c3836"
+let s:gui07 = "282828"
+let g:base16_gui07 = "282828"
+let s:gui08 = "c14a4a"
+let g:base16_gui08 = "c14a4a"
+let s:gui09 = "c35e0a"
+let g:base16_gui09 = "c35e0a"
+let s:gui0A = "b47109"
+let g:base16_gui0A = "b47109"
+let s:gui0B = "6c782e"
+let g:base16_gui0B = "6c782e"
+let s:gui0C = "4c7a5d"
+let g:base16_gui0C = "4c7a5d"
+let s:gui0D = "45707a"
+let g:base16_gui0D = "45707a"
+let s:gui0E = "945e80"
+let g:base16_gui0E = "945e80"
+let s:gui0F = "e78a4e"
+let g:base16_gui0F = "e78a4e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#fbf1c7"
+ let g:terminal_color_1 = "#c14a4a"
+ let g:terminal_color_2 = "#6c782e"
+ let g:terminal_color_3 = "#b47109"
+ let g:terminal_color_4 = "#45707a"
+ let g:terminal_color_5 = "#945e80"
+ let g:terminal_color_6 = "#4c7a5d"
+ let g:terminal_color_7 = "#654735"
+ let g:terminal_color_8 = "#bdae93"
+ let g:terminal_color_9 = "#c14a4a"
+ let g:terminal_color_10 = "#6c782e"
+ let g:terminal_color_11 = "#b47109"
+ let g:terminal_color_12 = "#45707a"
+ let g:terminal_color_13 = "#945e80"
+ let g:terminal_color_14 = "#4c7a5d"
+ let g:terminal_color_15 = "#282828"
+ 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 = [
+ \ "#fbf1c7",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#654735",
+ \ "#bdae93",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#282828",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-light-medium"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-gruvbox-material-light-soft.vim b/colors/base16-gruvbox-material-light-soft.vim
new file mode 100644
index 0000000..9d00c13
--- /dev/null
+++ b/colors/base16-gruvbox-material-light-soft.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gruvbox Material Light, Soft scheme by Mayush Kumar (https://github.com/MayushKumar), sainnhe (https://github.com/sainnhe/gruvbox-material-vscode)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-gruvbox-material-light-soft.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f2e5bc"
+let g:base16_gui00 = "f2e5bc"
+let s:gui01 = "ebdbb2"
+let g:base16_gui01 = "ebdbb2"
+let s:gui02 = "c9b99a"
+let g:base16_gui02 = "c9b99a"
+let s:gui03 = "a89984"
+let g:base16_gui03 = "a89984"
+let s:gui04 = "665c54"
+let g:base16_gui04 = "665c54"
+let s:gui05 = "654735"
+let g:base16_gui05 = "654735"
+let s:gui06 = "3c3836"
+let g:base16_gui06 = "3c3836"
+let s:gui07 = "282828"
+let g:base16_gui07 = "282828"
+let s:gui08 = "c14a4a"
+let g:base16_gui08 = "c14a4a"
+let s:gui09 = "c35e0a"
+let g:base16_gui09 = "c35e0a"
+let s:gui0A = "b47109"
+let g:base16_gui0A = "b47109"
+let s:gui0B = "6c782e"
+let g:base16_gui0B = "6c782e"
+let s:gui0C = "4c7a5d"
+let g:base16_gui0C = "4c7a5d"
+let s:gui0D = "45707a"
+let g:base16_gui0D = "45707a"
+let s:gui0E = "945e80"
+let g:base16_gui0E = "945e80"
+let s:gui0F = "e78a4e"
+let g:base16_gui0F = "e78a4e"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#f2e5bc"
+ let g:terminal_color_1 = "#c14a4a"
+ let g:terminal_color_2 = "#6c782e"
+ let g:terminal_color_3 = "#b47109"
+ let g:terminal_color_4 = "#45707a"
+ let g:terminal_color_5 = "#945e80"
+ let g:terminal_color_6 = "#4c7a5d"
+ let g:terminal_color_7 = "#654735"
+ let g:terminal_color_8 = "#a89984"
+ let g:terminal_color_9 = "#c14a4a"
+ let g:terminal_color_10 = "#6c782e"
+ let g:terminal_color_11 = "#b47109"
+ let g:terminal_color_12 = "#45707a"
+ let g:terminal_color_13 = "#945e80"
+ let g:terminal_color_14 = "#4c7a5d"
+ let g:terminal_color_15 = "#282828"
+ 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 = [
+ \ "#f2e5bc",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#654735",
+ \ "#a89984",
+ \ "#c14a4a",
+ \ "#6c782e",
+ \ "#b47109",
+ \ "#45707a",
+ \ "#945e80",
+ \ "#4c7a5d",
+ \ "#282828",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gruvbox-material-light-soft"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-kanagawa.vim b/colors/base16-kanagawa.vim
new file mode 100644
index 0000000..8250351
--- /dev/null
+++ b/colors/base16-kanagawa.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Kanagawa scheme by Tommaso Laurenzi (https://github.com/rebelot)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-kanagawa.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1F1F28"
+let g:base16_gui00 = "1F1F28"
+let s:gui01 = "16161D"
+let g:base16_gui01 = "16161D"
+let s:gui02 = "223249"
+let g:base16_gui02 = "223249"
+let s:gui03 = "54546D"
+let g:base16_gui03 = "54546D"
+let s:gui04 = "727169"
+let g:base16_gui04 = "727169"
+let s:gui05 = "DCD7BA"
+let g:base16_gui05 = "DCD7BA"
+let s:gui06 = "C8C093"
+let g:base16_gui06 = "C8C093"
+let s:gui07 = "717C7C"
+let g:base16_gui07 = "717C7C"
+let s:gui08 = "C34043"
+let g:base16_gui08 = "C34043"
+let s:gui09 = "FFA066"
+let g:base16_gui09 = "FFA066"
+let s:gui0A = "C0A36E"
+let g:base16_gui0A = "C0A36E"
+let s:gui0B = "76946A"
+let g:base16_gui0B = "76946A"
+let s:gui0C = "6A9589"
+let g:base16_gui0C = "6A9589"
+let s:gui0D = "7E9CD8"
+let g:base16_gui0D = "7E9CD8"
+let s:gui0E = "957FB8"
+let g:base16_gui0E = "957FB8"
+let s:gui0F = "D27E99"
+let g:base16_gui0F = "D27E99"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#1F1F28"
+ let g:terminal_color_1 = "#C34043"
+ let g:terminal_color_2 = "#76946A"
+ let g:terminal_color_3 = "#C0A36E"
+ let g:terminal_color_4 = "#7E9CD8"
+ let g:terminal_color_5 = "#957FB8"
+ let g:terminal_color_6 = "#6A9589"
+ let g:terminal_color_7 = "#DCD7BA"
+ let g:terminal_color_8 = "#54546D"
+ let g:terminal_color_9 = "#C34043"
+ let g:terminal_color_10 = "#76946A"
+ let g:terminal_color_11 = "#C0A36E"
+ let g:terminal_color_12 = "#7E9CD8"
+ let g:terminal_color_13 = "#957FB8"
+ let g:terminal_color_14 = "#6A9589"
+ let g:terminal_color_15 = "#717C7C"
+ 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 = [
+ \ "#1F1F28",
+ \ "#C34043",
+ \ "#76946A",
+ \ "#C0A36E",
+ \ "#7E9CD8",
+ \ "#957FB8",
+ \ "#6A9589",
+ \ "#DCD7BA",
+ \ "#54546D",
+ \ "#C34043",
+ \ "#76946A",
+ \ "#C0A36E",
+ \ "#7E9CD8",
+ \ "#957FB8",
+ \ "#6A9589",
+ \ "#717C7C",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-kanagawa"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-katy.vim b/colors/base16-katy.vim
new file mode 100644
index 0000000..f3f5ad4
--- /dev/null
+++ b/colors/base16-katy.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Katy scheme by George Essig (https://github.com/gessig)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-katy.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "292d3e"
+let g:base16_gui00 = "292d3e"
+let s:gui01 = "444267"
+let g:base16_gui01 = "444267"
+let s:gui02 = "5c598b"
+let g:base16_gui02 = "5c598b"
+let s:gui03 = "676e95"
+let g:base16_gui03 = "676e95"
+let s:gui04 = "8796b0"
+let g:base16_gui04 = "8796b0"
+let s:gui05 = "959dcb"
+let g:base16_gui05 = "959dcb"
+let s:gui06 = "959dcb"
+let g:base16_gui06 = "959dcb"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "6e98e1"
+let g:base16_gui08 = "6e98e1"
+let s:gui09 = "f78c6c"
+let g:base16_gui09 = "f78c6c"
+let s:gui0A = "e0a557"
+let g:base16_gui0A = "e0a557"
+let s:gui0B = "78c06e"
+let g:base16_gui0B = "78c06e"
+let s:gui0C = "83b7e5"
+let g:base16_gui0C = "83b7e5"
+let s:gui0D = "82aaff"
+let g:base16_gui0D = "82aaff"
+let s:gui0E = "c792ea"
+let g:base16_gui0E = "c792ea"
+let s:gui0F = "ff5370"
+let g:base16_gui0F = "ff5370"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#292d3e"
+ let g:terminal_color_1 = "#6e98e1"
+ let g:terminal_color_2 = "#78c06e"
+ let g:terminal_color_3 = "#e0a557"
+ let g:terminal_color_4 = "#82aaff"
+ let g:terminal_color_5 = "#c792ea"
+ let g:terminal_color_6 = "#83b7e5"
+ let g:terminal_color_7 = "#959dcb"
+ let g:terminal_color_8 = "#676e95"
+ let g:terminal_color_9 = "#6e98e1"
+ let g:terminal_color_10 = "#78c06e"
+ let g:terminal_color_11 = "#e0a557"
+ let g:terminal_color_12 = "#82aaff"
+ let g:terminal_color_13 = "#c792ea"
+ let g:terminal_color_14 = "#83b7e5"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#292d3e",
+ \ "#6e98e1",
+ \ "#78c06e",
+ \ "#e0a557",
+ \ "#82aaff",
+ \ "#c792ea",
+ \ "#83b7e5",
+ \ "#959dcb",
+ \ "#676e95",
+ \ "#6e98e1",
+ \ "#78c06e",
+ \ "#e0a557",
+ \ "#82aaff",
+ \ "#c792ea",
+ \ "#83b7e5",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-katy"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-lime.vim b/colors/base16-lime.vim
new file mode 100644
index 0000000..daef8ae
--- /dev/null
+++ b/colors/base16-lime.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" lime scheme by limelier
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-lime.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1a1a2f"
+let g:base16_gui00 = "1a1a2f"
+let s:gui01 = "202030"
+let g:base16_gui01 = "202030"
+let s:gui02 = "2a2a3f"
+let g:base16_gui02 = "2a2a3f"
+let s:gui03 = "313140"
+let g:base16_gui03 = "313140"
+let s:gui04 = "515155"
+let g:base16_gui04 = "515155"
+let s:gui05 = "818175"
+let g:base16_gui05 = "818175"
+let s:gui06 = "fff2d1"
+let g:base16_gui06 = "fff2d1"
+let s:gui07 = "fff8e1"
+let g:base16_gui07 = "fff8e1"
+let s:gui08 = "ff662a"
+let g:base16_gui08 = "ff662a"
+let s:gui09 = "ff773a"
+let g:base16_gui09 = "ff773a"
+let s:gui0A = "ffd15e"
+let g:base16_gui0A = "ffd15e"
+let s:gui0B = "8cd97c"
+let g:base16_gui0B = "8cd97c"
+let s:gui0C = "4cad83"
+let g:base16_gui0C = "4cad83"
+let s:gui0D = "2b926f"
+let g:base16_gui0D = "2b926f"
+let s:gui0E = "1b825f"
+let g:base16_gui0E = "1b825f"
+let s:gui0F = "b4d97c"
+let g:base16_gui0F = "b4d97c"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#1a1a2f"
+ let g:terminal_color_1 = "#ff662a"
+ let g:terminal_color_2 = "#8cd97c"
+ let g:terminal_color_3 = "#ffd15e"
+ let g:terminal_color_4 = "#2b926f"
+ let g:terminal_color_5 = "#1b825f"
+ let g:terminal_color_6 = "#4cad83"
+ let g:terminal_color_7 = "#818175"
+ let g:terminal_color_8 = "#313140"
+ let g:terminal_color_9 = "#ff662a"
+ let g:terminal_color_10 = "#8cd97c"
+ let g:terminal_color_11 = "#ffd15e"
+ let g:terminal_color_12 = "#2b926f"
+ let g:terminal_color_13 = "#1b825f"
+ let g:terminal_color_14 = "#4cad83"
+ let g:terminal_color_15 = "#fff8e1"
+ 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 = [
+ \ "#1a1a2f",
+ \ "#ff662a",
+ \ "#8cd97c",
+ \ "#ffd15e",
+ \ "#2b926f",
+ \ "#1b825f",
+ \ "#4cad83",
+ \ "#818175",
+ \ "#313140",
+ \ "#ff662a",
+ \ "#8cd97c",
+ \ "#ffd15e",
+ \ "#2b926f",
+ \ "#1b825f",
+ \ "#4cad83",
+ \ "#fff8e1",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-lime"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-pandora.vim b/colors/base16-pandora.vim
new file mode 100644
index 0000000..9d1de2b
--- /dev/null
+++ b/colors/base16-pandora.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" pandora scheme by Cassandra Fox
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-pandora.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "131213"
+let g:base16_gui00 = "131213"
+let s:gui01 = "2f1823"
+let g:base16_gui01 = "2f1823"
+let s:gui02 = "472234"
+let g:base16_gui02 = "472234"
+let s:gui03 = "ffbee3"
+let g:base16_gui03 = "ffbee3"
+let s:gui04 = "9b2a46"
+let g:base16_gui04 = "9b2a46"
+let s:gui05 = "f15c99"
+let g:base16_gui05 = "f15c99"
+let s:gui06 = "81506a"
+let g:base16_gui06 = "81506a"
+let s:gui07 = "632227"
+let g:base16_gui07 = "632227"
+let s:gui08 = "b00b69"
+let g:base16_gui08 = "b00b69"
+let s:gui09 = "ff9153"
+let g:base16_gui09 = "ff9153"
+let s:gui0A = "ffcc00"
+let g:base16_gui0A = "ffcc00"
+let s:gui0B = "9ddf69"
+let g:base16_gui0B = "9ddf69"
+let s:gui0C = "714ca6"
+let g:base16_gui0C = "714ca6"
+let s:gui0D = "008080"
+let g:base16_gui0D = "008080"
+let s:gui0E = "a24030"
+let g:base16_gui0E = "a24030"
+let s:gui0F = "a24030"
+let g:base16_gui0F = "a24030"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#131213"
+ let g:terminal_color_1 = "#b00b69"
+ let g:terminal_color_2 = "#9ddf69"
+ let g:terminal_color_3 = "#ffcc00"
+ let g:terminal_color_4 = "#008080"
+ let g:terminal_color_5 = "#a24030"
+ let g:terminal_color_6 = "#714ca6"
+ let g:terminal_color_7 = "#f15c99"
+ let g:terminal_color_8 = "#ffbee3"
+ let g:terminal_color_9 = "#b00b69"
+ let g:terminal_color_10 = "#9ddf69"
+ let g:terminal_color_11 = "#ffcc00"
+ let g:terminal_color_12 = "#008080"
+ let g:terminal_color_13 = "#a24030"
+ let g:terminal_color_14 = "#714ca6"
+ let g:terminal_color_15 = "#632227"
+ 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 = [
+ \ "#131213",
+ \ "#b00b69",
+ \ "#9ddf69",
+ \ "#ffcc00",
+ \ "#008080",
+ \ "#a24030",
+ \ "#714ca6",
+ \ "#f15c99",
+ \ "#ffbee3",
+ \ "#b00b69",
+ \ "#9ddf69",
+ \ "#ffcc00",
+ \ "#008080",
+ \ "#a24030",
+ \ "#714ca6",
+ \ "#632227",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-pandora"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-primer-dark-dimmed.vim b/colors/base16-primer-dark-dimmed.vim
new file mode 100644
index 0000000..e885ab5
--- /dev/null
+++ b/colors/base16-primer-dark-dimmed.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Primer Dark Dimmed scheme by Jimmy Lin
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-primer-dark-dimmed.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1c2128"
+let g:base16_gui00 = "1c2128"
+let s:gui01 = "373e47"
+let g:base16_gui01 = "373e47"
+let s:gui02 = "444c56"
+let g:base16_gui02 = "444c56"
+let s:gui03 = "545d68"
+let g:base16_gui03 = "545d68"
+let s:gui04 = "768390"
+let g:base16_gui04 = "768390"
+let s:gui05 = "909dab"
+let g:base16_gui05 = "909dab"
+let s:gui06 = "adbac7"
+let g:base16_gui06 = "adbac7"
+let s:gui07 = "cdd9e5"
+let g:base16_gui07 = "cdd9e5"
+let s:gui08 = "f47067"
+let g:base16_gui08 = "f47067"
+let s:gui09 = "e0823d"
+let g:base16_gui09 = "e0823d"
+let s:gui0A = "c69026"
+let g:base16_gui0A = "c69026"
+let s:gui0B = "57ab5a"
+let g:base16_gui0B = "57ab5a"
+let s:gui0C = "96d0ff"
+let g:base16_gui0C = "96d0ff"
+let s:gui0D = "539bf5"
+let g:base16_gui0D = "539bf5"
+let s:gui0E = "e275ad"
+let g:base16_gui0E = "e275ad"
+let s:gui0F = "ae5622"
+let g:base16_gui0F = "ae5622"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#1c2128"
+ let g:terminal_color_1 = "#f47067"
+ let g:terminal_color_2 = "#57ab5a"
+ let g:terminal_color_3 = "#c69026"
+ let g:terminal_color_4 = "#539bf5"
+ let g:terminal_color_5 = "#e275ad"
+ let g:terminal_color_6 = "#96d0ff"
+ let g:terminal_color_7 = "#909dab"
+ let g:terminal_color_8 = "#545d68"
+ let g:terminal_color_9 = "#f47067"
+ let g:terminal_color_10 = "#57ab5a"
+ let g:terminal_color_11 = "#c69026"
+ let g:terminal_color_12 = "#539bf5"
+ let g:terminal_color_13 = "#e275ad"
+ let g:terminal_color_14 = "#96d0ff"
+ let g:terminal_color_15 = "#cdd9e5"
+ 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 = [
+ \ "#1c2128",
+ \ "#f47067",
+ \ "#57ab5a",
+ \ "#c69026",
+ \ "#539bf5",
+ \ "#e275ad",
+ \ "#96d0ff",
+ \ "#909dab",
+ \ "#545d68",
+ \ "#f47067",
+ \ "#57ab5a",
+ \ "#c69026",
+ \ "#539bf5",
+ \ "#e275ad",
+ \ "#96d0ff",
+ \ "#cdd9e5",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-primer-dark-dimmed"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-primer-dark.vim b/colors/base16-primer-dark.vim
new file mode 100644
index 0000000..e3d07fb
--- /dev/null
+++ b/colors/base16-primer-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Primer Dark scheme by Jimmy Lin
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-primer-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "010409"
+let g:base16_gui00 = "010409"
+let s:gui01 = "21262d"
+let g:base16_gui01 = "21262d"
+let s:gui02 = "30363d"
+let g:base16_gui02 = "30363d"
+let s:gui03 = "484f58"
+let g:base16_gui03 = "484f58"
+let s:gui04 = "8b949e"
+let g:base16_gui04 = "8b949e"
+let s:gui05 = "b1bac4"
+let g:base16_gui05 = "b1bac4"
+let s:gui06 = "c9d1d9"
+let g:base16_gui06 = "c9d1d9"
+let s:gui07 = "f0f6fc"
+let g:base16_gui07 = "f0f6fc"
+let s:gui08 = "ff7b72"
+let g:base16_gui08 = "ff7b72"
+let s:gui09 = "f0883e"
+let g:base16_gui09 = "f0883e"
+let s:gui0A = "d29922"
+let g:base16_gui0A = "d29922"
+let s:gui0B = "3fb950"
+let g:base16_gui0B = "3fb950"
+let s:gui0C = "a5d6ff"
+let g:base16_gui0C = "a5d6ff"
+let s:gui0D = "58a6ff"
+let g:base16_gui0D = "58a6ff"
+let s:gui0E = "f778ba"
+let g:base16_gui0E = "f778ba"
+let s:gui0F = "bd561d"
+let g:base16_gui0F = "bd561d"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#010409"
+ let g:terminal_color_1 = "#ff7b72"
+ let g:terminal_color_2 = "#3fb950"
+ let g:terminal_color_3 = "#d29922"
+ let g:terminal_color_4 = "#58a6ff"
+ let g:terminal_color_5 = "#f778ba"
+ let g:terminal_color_6 = "#a5d6ff"
+ let g:terminal_color_7 = "#b1bac4"
+ let g:terminal_color_8 = "#484f58"
+ let g:terminal_color_9 = "#ff7b72"
+ let g:terminal_color_10 = "#3fb950"
+ let g:terminal_color_11 = "#d29922"
+ let g:terminal_color_12 = "#58a6ff"
+ let g:terminal_color_13 = "#f778ba"
+ let g:terminal_color_14 = "#a5d6ff"
+ let g:terminal_color_15 = "#f0f6fc"
+ 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 = [
+ \ "#010409",
+ \ "#ff7b72",
+ \ "#3fb950",
+ \ "#d29922",
+ \ "#58a6ff",
+ \ "#f778ba",
+ \ "#a5d6ff",
+ \ "#b1bac4",
+ \ "#484f58",
+ \ "#ff7b72",
+ \ "#3fb950",
+ \ "#d29922",
+ \ "#58a6ff",
+ \ "#f778ba",
+ \ "#a5d6ff",
+ \ "#f0f6fc",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-primer-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-primer-light.vim b/colors/base16-primer-light.vim
new file mode 100644
index 0000000..1123d72
--- /dev/null
+++ b/colors/base16-primer-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Primer Light scheme by Jimmy Lin
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-primer-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "fafbfc"
+let g:base16_gui00 = "fafbfc"
+let s:gui01 = "e1e4e8"
+let g:base16_gui01 = "e1e4e8"
+let s:gui02 = "d1d5da"
+let g:base16_gui02 = "d1d5da"
+let s:gui03 = "959da5"
+let g:base16_gui03 = "959da5"
+let s:gui04 = "444d56"
+let g:base16_gui04 = "444d56"
+let s:gui05 = "2f363d"
+let g:base16_gui05 = "2f363d"
+let s:gui06 = "24292e"
+let g:base16_gui06 = "24292e"
+let s:gui07 = "1b1f23"
+let g:base16_gui07 = "1b1f23"
+let s:gui08 = "d73a49"
+let g:base16_gui08 = "d73a49"
+let s:gui09 = "f66a0a"
+let g:base16_gui09 = "f66a0a"
+let s:gui0A = "ffd33d"
+let g:base16_gui0A = "ffd33d"
+let s:gui0B = "28a745"
+let g:base16_gui0B = "28a745"
+let s:gui0C = "79b8ff"
+let g:base16_gui0C = "79b8ff"
+let s:gui0D = "0366d6"
+let g:base16_gui0D = "0366d6"
+let s:gui0E = "ea4aaa"
+let g:base16_gui0E = "ea4aaa"
+let s:gui0F = "a04100"
+let g:base16_gui0F = "a04100"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#fafbfc"
+ let g:terminal_color_1 = "#d73a49"
+ let g:terminal_color_2 = "#28a745"
+ let g:terminal_color_3 = "#ffd33d"
+ let g:terminal_color_4 = "#0366d6"
+ let g:terminal_color_5 = "#ea4aaa"
+ let g:terminal_color_6 = "#79b8ff"
+ let g:terminal_color_7 = "#2f363d"
+ let g:terminal_color_8 = "#959da5"
+ let g:terminal_color_9 = "#d73a49"
+ let g:terminal_color_10 = "#28a745"
+ let g:terminal_color_11 = "#ffd33d"
+ let g:terminal_color_12 = "#0366d6"
+ let g:terminal_color_13 = "#ea4aaa"
+ let g:terminal_color_14 = "#79b8ff"
+ let g:terminal_color_15 = "#1b1f23"
+ 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 = [
+ \ "#fafbfc",
+ \ "#d73a49",
+ \ "#28a745",
+ \ "#ffd33d",
+ \ "#0366d6",
+ \ "#ea4aaa",
+ \ "#79b8ff",
+ \ "#2f363d",
+ \ "#959da5",
+ \ "#d73a49",
+ \ "#28a745",
+ \ "#ffd33d",
+ \ "#0366d6",
+ \ "#ea4aaa",
+ \ "#79b8ff",
+ \ "#1b1f23",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-primer-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-purpledream.vim b/colors/base16-purpledream.vim
new file mode 100644
index 0000000..e9092c6
--- /dev/null
+++ b/colors/base16-purpledream.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Purpledream scheme by malet
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-purpledream.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "100510"
+let g:base16_gui00 = "100510"
+let s:gui01 = "302030"
+let g:base16_gui01 = "302030"
+let s:gui02 = "403040"
+let g:base16_gui02 = "403040"
+let s:gui03 = "605060"
+let g:base16_gui03 = "605060"
+let s:gui04 = "bbb0bb"
+let g:base16_gui04 = "bbb0bb"
+let s:gui05 = "ddd0dd"
+let g:base16_gui05 = "ddd0dd"
+let s:gui06 = "eee0ee"
+let g:base16_gui06 = "eee0ee"
+let s:gui07 = "fff0ff"
+let g:base16_gui07 = "fff0ff"
+let s:gui08 = "FF1D0D"
+let g:base16_gui08 = "FF1D0D"
+let s:gui09 = "CCAE14"
+let g:base16_gui09 = "CCAE14"
+let s:gui0A = "F000A0"
+let g:base16_gui0A = "F000A0"
+let s:gui0B = "14CC64"
+let g:base16_gui0B = "14CC64"
+let s:gui0C = "0075B0"
+let g:base16_gui0C = "0075B0"
+let s:gui0D = "00A0F0"
+let g:base16_gui0D = "00A0F0"
+let s:gui0E = "B000D0"
+let g:base16_gui0E = "B000D0"
+let s:gui0F = "6A2A3C"
+let g:base16_gui0F = "6A2A3C"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#100510"
+ let g:terminal_color_1 = "#FF1D0D"
+ let g:terminal_color_2 = "#14CC64"
+ let g:terminal_color_3 = "#F000A0"
+ let g:terminal_color_4 = "#00A0F0"
+ let g:terminal_color_5 = "#B000D0"
+ let g:terminal_color_6 = "#0075B0"
+ let g:terminal_color_7 = "#ddd0dd"
+ let g:terminal_color_8 = "#605060"
+ let g:terminal_color_9 = "#FF1D0D"
+ let g:terminal_color_10 = "#14CC64"
+ let g:terminal_color_11 = "#F000A0"
+ let g:terminal_color_12 = "#00A0F0"
+ let g:terminal_color_13 = "#B000D0"
+ let g:terminal_color_14 = "#0075B0"
+ let g:terminal_color_15 = "#fff0ff"
+ 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 = [
+ \ "#100510",
+ \ "#FF1D0D",
+ \ "#14CC64",
+ \ "#F000A0",
+ \ "#00A0F0",
+ \ "#B000D0",
+ \ "#0075B0",
+ \ "#ddd0dd",
+ \ "#605060",
+ \ "#FF1D0D",
+ \ "#14CC64",
+ \ "#F000A0",
+ \ "#00A0F0",
+ \ "#B000D0",
+ \ "#0075B0",
+ \ "#fff0ff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-purpledream"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-shadesmear-dark.vim b/colors/base16-shadesmear-dark.vim
new file mode 100644
index 0000000..186199f
--- /dev/null
+++ b/colors/base16-shadesmear-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" ShadeSmear Dark scheme by Kyle Giammarco (http://kyle.giammar.co)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-shadesmear-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "232323"
+let g:base16_gui00 = "232323"
+let s:gui01 = "1C1C1C"
+let g:base16_gui01 = "1C1C1C"
+let s:gui02 = "4E4E4E"
+let g:base16_gui02 = "4E4E4E"
+let s:gui03 = "C0C0C0"
+let g:base16_gui03 = "C0C0C0"
+let s:gui04 = "E4E4E4"
+let g:base16_gui04 = "E4E4E4"
+let s:gui05 = "DBDBDB"
+let g:base16_gui05 = "DBDBDB"
+let s:gui06 = "E4E4E4"
+let g:base16_gui06 = "E4E4E4"
+let s:gui07 = "1C1C1C"
+let g:base16_gui07 = "1C1C1C"
+let s:gui08 = "CC5450"
+let g:base16_gui08 = "CC5450"
+let s:gui09 = "A64270"
+let g:base16_gui09 = "A64270"
+let s:gui0A = "307878"
+let g:base16_gui0A = "307878"
+let s:gui0B = "71983B"
+let g:base16_gui0B = "71983B"
+let s:gui0C = "C57D42"
+let g:base16_gui0C = "C57D42"
+let s:gui0D = "376388"
+let g:base16_gui0D = "376388"
+let s:gui0E = "D7AB54"
+let g:base16_gui0E = "D7AB54"
+let s:gui0F = "6D6D6D"
+let g:base16_gui0F = "6D6D6D"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#232323"
+ let g:terminal_color_1 = "#CC5450"
+ let g:terminal_color_2 = "#71983B"
+ let g:terminal_color_3 = "#307878"
+ let g:terminal_color_4 = "#376388"
+ let g:terminal_color_5 = "#D7AB54"
+ let g:terminal_color_6 = "#C57D42"
+ let g:terminal_color_7 = "#DBDBDB"
+ let g:terminal_color_8 = "#C0C0C0"
+ let g:terminal_color_9 = "#CC5450"
+ let g:terminal_color_10 = "#71983B"
+ let g:terminal_color_11 = "#307878"
+ let g:terminal_color_12 = "#376388"
+ let g:terminal_color_13 = "#D7AB54"
+ let g:terminal_color_14 = "#C57D42"
+ let g:terminal_color_15 = "#1C1C1C"
+ 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 = [
+ \ "#232323",
+ \ "#CC5450",
+ \ "#71983B",
+ \ "#307878",
+ \ "#376388",
+ \ "#D7AB54",
+ \ "#C57D42",
+ \ "#DBDBDB",
+ \ "#C0C0C0",
+ \ "#CC5450",
+ \ "#71983B",
+ \ "#307878",
+ \ "#376388",
+ \ "#D7AB54",
+ \ "#C57D42",
+ \ "#1C1C1C",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-shadesmear-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-shadesmear-light.vim b/colors/base16-shadesmear-light.vim
new file mode 100644
index 0000000..cd071ea
--- /dev/null
+++ b/colors/base16-shadesmear-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" ShadeSmear Light scheme by Kyle Giammarco (http://kyle.giammar.co)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-shadesmear-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "DBDBDB"
+let g:base16_gui00 = "DBDBDB"
+let s:gui01 = "E4E4E4"
+let g:base16_gui01 = "E4E4E4"
+let s:gui02 = "C0C0C0"
+let g:base16_gui02 = "C0C0C0"
+let s:gui03 = "4E4E4E"
+let g:base16_gui03 = "4E4E4E"
+let s:gui04 = "1C1C1C"
+let g:base16_gui04 = "1C1C1C"
+let s:gui05 = "232323"
+let g:base16_gui05 = "232323"
+let s:gui06 = "1C1C1C"
+let g:base16_gui06 = "1C1C1C"
+let s:gui07 = "E4E4E4"
+let g:base16_gui07 = "E4E4E4"
+let s:gui08 = "CC5450"
+let g:base16_gui08 = "CC5450"
+let s:gui09 = "A64270"
+let g:base16_gui09 = "A64270"
+let s:gui0A = "307878"
+let g:base16_gui0A = "307878"
+let s:gui0B = "71983B"
+let g:base16_gui0B = "71983B"
+let s:gui0C = "C57D42"
+let g:base16_gui0C = "C57D42"
+let s:gui0D = "376388"
+let g:base16_gui0D = "376388"
+let s:gui0E = "D7AB54"
+let g:base16_gui0E = "D7AB54"
+let s:gui0F = "6D6D6D"
+let g:base16_gui0F = "6D6D6D"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#DBDBDB"
+ let g:terminal_color_1 = "#CC5450"
+ let g:terminal_color_2 = "#71983B"
+ let g:terminal_color_3 = "#307878"
+ let g:terminal_color_4 = "#376388"
+ let g:terminal_color_5 = "#D7AB54"
+ let g:terminal_color_6 = "#C57D42"
+ let g:terminal_color_7 = "#232323"
+ let g:terminal_color_8 = "#4E4E4E"
+ let g:terminal_color_9 = "#CC5450"
+ let g:terminal_color_10 = "#71983B"
+ let g:terminal_color_11 = "#307878"
+ let g:terminal_color_12 = "#376388"
+ let g:terminal_color_13 = "#D7AB54"
+ let g:terminal_color_14 = "#C57D42"
+ let g:terminal_color_15 = "#E4E4E4"
+ 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 = [
+ \ "#DBDBDB",
+ \ "#CC5450",
+ \ "#71983B",
+ \ "#307878",
+ \ "#376388",
+ \ "#D7AB54",
+ \ "#C57D42",
+ \ "#232323",
+ \ "#4E4E4E",
+ \ "#CC5450",
+ \ "#71983B",
+ \ "#307878",
+ \ "#376388",
+ \ "#D7AB54",
+ \ "#C57D42",
+ \ "#E4E4E4",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-shadesmear-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-spaceduck.vim b/colors/base16-spaceduck.vim
new file mode 100644
index 0000000..aa00c2f
--- /dev/null
+++ b/colors/base16-spaceduck.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Spaceduck scheme by Guillermo Rodriguez (https://github.com/pineapplegiant), packaged by Gabriel Fontes (https://github.com/Misterio77)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-spaceduck.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "16172d"
+let g:base16_gui00 = "16172d"
+let s:gui01 = "1b1c36"
+let g:base16_gui01 = "1b1c36"
+let s:gui02 = "30365F"
+let g:base16_gui02 = "30365F"
+let s:gui03 = "686f9a"
+let g:base16_gui03 = "686f9a"
+let s:gui04 = "818596"
+let g:base16_gui04 = "818596"
+let s:gui05 = "ecf0c1"
+let g:base16_gui05 = "ecf0c1"
+let s:gui06 = "c1c3cc"
+let g:base16_gui06 = "c1c3cc"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "e33400"
+let g:base16_gui08 = "e33400"
+let s:gui09 = "e39400"
+let g:base16_gui09 = "e39400"
+let s:gui0A = "f2ce00"
+let g:base16_gui0A = "f2ce00"
+let s:gui0B = "5ccc96"
+let g:base16_gui0B = "5ccc96"
+let s:gui0C = "00a3cc"
+let g:base16_gui0C = "00a3cc"
+let s:gui0D = "7a5ccc"
+let g:base16_gui0D = "7a5ccc"
+let s:gui0E = "b3a1e6"
+let g:base16_gui0E = "b3a1e6"
+let s:gui0F = "ce6f8f"
+let g:base16_gui0F = "ce6f8f"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#16172d"
+ let g:terminal_color_1 = "#e33400"
+ let g:terminal_color_2 = "#5ccc96"
+ let g:terminal_color_3 = "#f2ce00"
+ let g:terminal_color_4 = "#7a5ccc"
+ let g:terminal_color_5 = "#b3a1e6"
+ let g:terminal_color_6 = "#00a3cc"
+ let g:terminal_color_7 = "#ecf0c1"
+ let g:terminal_color_8 = "#686f9a"
+ let g:terminal_color_9 = "#e33400"
+ let g:terminal_color_10 = "#5ccc96"
+ let g:terminal_color_11 = "#f2ce00"
+ let g:terminal_color_12 = "#7a5ccc"
+ let g:terminal_color_13 = "#b3a1e6"
+ let g:terminal_color_14 = "#00a3cc"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#16172d",
+ \ "#e33400",
+ \ "#5ccc96",
+ \ "#f2ce00",
+ \ "#7a5ccc",
+ \ "#b3a1e6",
+ \ "#00a3cc",
+ \ "#ecf0c1",
+ \ "#686f9a",
+ \ "#e33400",
+ \ "#5ccc96",
+ \ "#f2ce00",
+ \ "#7a5ccc",
+ \ "#b3a1e6",
+ \ "#00a3cc",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-spaceduck"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-stella.vim b/colors/base16-stella.vim
new file mode 100644
index 0000000..13307be
--- /dev/null
+++ b/colors/base16-stella.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Stella scheme by Shrimpram
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-stella.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2B213C"
+let g:base16_gui00 = "2B213C"
+let s:gui01 = "362B48"
+let g:base16_gui01 = "362B48"
+let s:gui02 = "4D4160"
+let g:base16_gui02 = "4D4160"
+let s:gui03 = "655978"
+let g:base16_gui03 = "655978"
+let s:gui04 = "7F7192"
+let g:base16_gui04 = "7F7192"
+let s:gui05 = "998BAD"
+let g:base16_gui05 = "998BAD"
+let s:gui06 = "B4A5C8"
+let g:base16_gui06 = "B4A5C8"
+let s:gui07 = "EBDCFF"
+let g:base16_gui07 = "EBDCFF"
+let s:gui08 = "C79987"
+let g:base16_gui08 = "C79987"
+let s:gui09 = "8865C6"
+let g:base16_gui09 = "8865C6"
+let s:gui0A = "C7C691"
+let g:base16_gui0A = "C7C691"
+let s:gui0B = "ACC79B"
+let g:base16_gui0B = "ACC79B"
+let s:gui0C = "9BC7BF"
+let g:base16_gui0C = "9BC7BF"
+let s:gui0D = "A5AAD4"
+let g:base16_gui0D = "A5AAD4"
+let s:gui0E = "C594FF"
+let g:base16_gui0E = "C594FF"
+let s:gui0F = "C7AB87"
+let g:base16_gui0F = "C7AB87"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#2B213C"
+ let g:terminal_color_1 = "#C79987"
+ let g:terminal_color_2 = "#ACC79B"
+ let g:terminal_color_3 = "#C7C691"
+ let g:terminal_color_4 = "#A5AAD4"
+ let g:terminal_color_5 = "#C594FF"
+ let g:terminal_color_6 = "#9BC7BF"
+ let g:terminal_color_7 = "#998BAD"
+ let g:terminal_color_8 = "#655978"
+ let g:terminal_color_9 = "#C79987"
+ let g:terminal_color_10 = "#ACC79B"
+ let g:terminal_color_11 = "#C7C691"
+ let g:terminal_color_12 = "#A5AAD4"
+ let g:terminal_color_13 = "#C594FF"
+ let g:terminal_color_14 = "#9BC7BF"
+ let g:terminal_color_15 = "#EBDCFF"
+ 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 = [
+ \ "#2B213C",
+ \ "#C79987",
+ \ "#ACC79B",
+ \ "#C7C691",
+ \ "#A5AAD4",
+ \ "#C594FF",
+ \ "#9BC7BF",
+ \ "#998BAD",
+ \ "#655978",
+ \ "#C79987",
+ \ "#ACC79B",
+ \ "#C7C691",
+ \ "#A5AAD4",
+ \ "#C594FF",
+ \ "#9BC7BF",
+ \ "#EBDCFF",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-stella"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-still-alive.vim b/colors/base16-still-alive.vim
new file mode 100644
index 0000000..b4a20f6
--- /dev/null
+++ b/colors/base16-still-alive.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Still Alive scheme by Derrick McKee (derrick.mckee@gmail.com)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-still-alive.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "F0F0F0"
+let g:base16_gui00 = "F0F0F0"
+let s:gui01 = "F0D848"
+let g:base16_gui01 = "F0D848"
+let s:gui02 = "FFF018"
+let g:base16_gui02 = "FFF018"
+let s:gui03 = "F01818"
+let g:base16_gui03 = "F01818"
+let s:gui04 = "F00000"
+let g:base16_gui04 = "F00000"
+let s:gui05 = "D80000"
+let g:base16_gui05 = "D80000"
+let s:gui06 = "489000"
+let g:base16_gui06 = "489000"
+let s:gui07 = "30A860"
+let g:base16_gui07 = "30A860"
+let s:gui08 = "487830"
+let g:base16_gui08 = "487830"
+let s:gui09 = "183048"
+let g:base16_gui09 = "183048"
+let s:gui0A = "426395"
+let g:base16_gui0A = "426395"
+let s:gui0B = "5C5C6A"
+let g:base16_gui0B = "5C5C6A"
+let s:gui0C = "2C3C57"
+let g:base16_gui0C = "2C3C57"
+let s:gui0D = "001878"
+let g:base16_gui0D = "001878"
+let s:gui0E = "900000"
+let g:base16_gui0E = "900000"
+let s:gui0F = "140C0D"
+let g:base16_gui0F = "140C0D"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#F0F0F0"
+ let g:terminal_color_1 = "#487830"
+ let g:terminal_color_2 = "#5C5C6A"
+ let g:terminal_color_3 = "#426395"
+ let g:terminal_color_4 = "#001878"
+ let g:terminal_color_5 = "#900000"
+ let g:terminal_color_6 = "#2C3C57"
+ let g:terminal_color_7 = "#D80000"
+ let g:terminal_color_8 = "#F01818"
+ let g:terminal_color_9 = "#487830"
+ let g:terminal_color_10 = "#5C5C6A"
+ let g:terminal_color_11 = "#426395"
+ let g:terminal_color_12 = "#001878"
+ let g:terminal_color_13 = "#900000"
+ let g:terminal_color_14 = "#2C3C57"
+ let g:terminal_color_15 = "#30A860"
+ 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 = [
+ \ "#F0F0F0",
+ \ "#487830",
+ \ "#5C5C6A",
+ \ "#426395",
+ \ "#001878",
+ \ "#900000",
+ \ "#2C3C57",
+ \ "#D80000",
+ \ "#F01818",
+ \ "#487830",
+ \ "#5C5C6A",
+ \ "#426395",
+ \ "#001878",
+ \ "#900000",
+ \ "#2C3C57",
+ \ "#30A860",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-still-alive"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-city-dark.vim b/colors/base16-tokyo-city-dark.vim
new file mode 100644
index 0000000..cae9fc7
--- /dev/null
+++ b/colors/base16-tokyo-city-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo City Dark scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-city-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "171D23"
+let g:base16_gui00 = "171D23"
+let s:gui01 = "1D252C"
+let g:base16_gui01 = "1D252C"
+let s:gui02 = "28323A"
+let g:base16_gui02 = "28323A"
+let s:gui03 = "526270"
+let g:base16_gui03 = "526270"
+let s:gui04 = "B7C5D3"
+let g:base16_gui04 = "B7C5D3"
+let s:gui05 = "D8E2EC"
+let g:base16_gui05 = "D8E2EC"
+let s:gui06 = "F6F6F8"
+let g:base16_gui06 = "F6F6F8"
+let s:gui07 = "FBFBFD"
+let g:base16_gui07 = "FBFBFD"
+let s:gui08 = "F7768E"
+let g:base16_gui08 = "F7768E"
+let s:gui09 = "FF9E64"
+let g:base16_gui09 = "FF9E64"
+let s:gui0A = "B7C5D3"
+let g:base16_gui0A = "B7C5D3"
+let s:gui0B = "9ECE6A"
+let g:base16_gui0B = "9ECE6A"
+let s:gui0C = "89DDFF"
+let g:base16_gui0C = "89DDFF"
+let s:gui0D = "7AA2F7"
+let g:base16_gui0D = "7AA2F7"
+let s:gui0E = "BB9AF7"
+let g:base16_gui0E = "BB9AF7"
+let s:gui0F = "BB9AF7"
+let g:base16_gui0F = "BB9AF7"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#171D23"
+ let g:terminal_color_1 = "#F7768E"
+ let g:terminal_color_2 = "#9ECE6A"
+ let g:terminal_color_3 = "#B7C5D3"
+ let g:terminal_color_4 = "#7AA2F7"
+ let g:terminal_color_5 = "#BB9AF7"
+ let g:terminal_color_6 = "#89DDFF"
+ let g:terminal_color_7 = "#D8E2EC"
+ let g:terminal_color_8 = "#526270"
+ let g:terminal_color_9 = "#F7768E"
+ let g:terminal_color_10 = "#9ECE6A"
+ let g:terminal_color_11 = "#B7C5D3"
+ let g:terminal_color_12 = "#7AA2F7"
+ let g:terminal_color_13 = "#BB9AF7"
+ let g:terminal_color_14 = "#89DDFF"
+ let g:terminal_color_15 = "#FBFBFD"
+ 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 = [
+ \ "#171D23",
+ \ "#F7768E",
+ \ "#9ECE6A",
+ \ "#B7C5D3",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#89DDFF",
+ \ "#D8E2EC",
+ \ "#526270",
+ \ "#F7768E",
+ \ "#9ECE6A",
+ \ "#B7C5D3",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#89DDFF",
+ \ "#FBFBFD",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-city-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-city-light.vim b/colors/base16-tokyo-city-light.vim
new file mode 100644
index 0000000..408be85
--- /dev/null
+++ b/colors/base16-tokyo-city-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo City Light scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-city-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "FBFBFD"
+let g:base16_gui00 = "FBFBFD"
+let s:gui01 = "F6F6F8"
+let g:base16_gui01 = "F6F6F8"
+let s:gui02 = "EDEFF6"
+let g:base16_gui02 = "EDEFF6"
+let s:gui03 = "9699A3"
+let g:base16_gui03 = "9699A3"
+let s:gui04 = "4c505e"
+let g:base16_gui04 = "4c505e"
+let s:gui05 = "343B59"
+let g:base16_gui05 = "343B59"
+let s:gui06 = "1D252C"
+let g:base16_gui06 = "1D252C"
+let s:gui07 = "171D23"
+let g:base16_gui07 = "171D23"
+let s:gui08 = "8C4351"
+let g:base16_gui08 = "8C4351"
+let s:gui09 = "965027"
+let g:base16_gui09 = "965027"
+let s:gui0A = "4C505E"
+let g:base16_gui0A = "4C505E"
+let s:gui0B = "485E30"
+let g:base16_gui0B = "485E30"
+let s:gui0C = "4C505E"
+let g:base16_gui0C = "4C505E"
+let s:gui0D = "34548a"
+let g:base16_gui0D = "34548a"
+let s:gui0E = "5A4A78"
+let g:base16_gui0E = "5A4A78"
+let s:gui0F = "5A4A78"
+let g:base16_gui0F = "5A4A78"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#FBFBFD"
+ let g:terminal_color_1 = "#8C4351"
+ let g:terminal_color_2 = "#485E30"
+ let g:terminal_color_3 = "#4C505E"
+ let g:terminal_color_4 = "#34548a"
+ let g:terminal_color_5 = "#5A4A78"
+ let g:terminal_color_6 = "#4C505E"
+ let g:terminal_color_7 = "#343B59"
+ let g:terminal_color_8 = "#9699A3"
+ let g:terminal_color_9 = "#8C4351"
+ let g:terminal_color_10 = "#485E30"
+ let g:terminal_color_11 = "#4C505E"
+ let g:terminal_color_12 = "#34548a"
+ let g:terminal_color_13 = "#5A4A78"
+ let g:terminal_color_14 = "#4C505E"
+ let g:terminal_color_15 = "#171D23"
+ 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 = [
+ \ "#FBFBFD",
+ \ "#8C4351",
+ \ "#485E30",
+ \ "#4C505E",
+ \ "#34548a",
+ \ "#5A4A78",
+ \ "#4C505E",
+ \ "#343B59",
+ \ "#9699A3",
+ \ "#8C4351",
+ \ "#485E30",
+ \ "#4C505E",
+ \ "#34548a",
+ \ "#5A4A78",
+ \ "#4C505E",
+ \ "#171D23",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-city-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-city-terminal-dark.vim b/colors/base16-tokyo-city-terminal-dark.vim
new file mode 100644
index 0000000..4d6d43c
--- /dev/null
+++ b/colors/base16-tokyo-city-terminal-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo City Terminal Dark scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-city-terminal-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "171D23"
+let g:base16_gui00 = "171D23"
+let s:gui01 = "1D252C"
+let g:base16_gui01 = "1D252C"
+let s:gui02 = "28323A"
+let g:base16_gui02 = "28323A"
+let s:gui03 = "526270"
+let g:base16_gui03 = "526270"
+let s:gui04 = "B7C5D3"
+let g:base16_gui04 = "B7C5D3"
+let s:gui05 = "D8E2EC"
+let g:base16_gui05 = "D8E2EC"
+let s:gui06 = "F6F6F8"
+let g:base16_gui06 = "F6F6F8"
+let s:gui07 = "FBFBFD"
+let g:base16_gui07 = "FBFBFD"
+let s:gui08 = "D95468"
+let g:base16_gui08 = "D95468"
+let s:gui09 = "FF9E64"
+let g:base16_gui09 = "FF9E64"
+let s:gui0A = "EBBF83"
+let g:base16_gui0A = "EBBF83"
+let s:gui0B = "8BD49C"
+let g:base16_gui0B = "8BD49C"
+let s:gui0C = "70E1E8"
+let g:base16_gui0C = "70E1E8"
+let s:gui0D = "539AFC"
+let g:base16_gui0D = "539AFC"
+let s:gui0E = "B62D65"
+let g:base16_gui0E = "B62D65"
+let s:gui0F = "DD9D82"
+let g:base16_gui0F = "DD9D82"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#171D23"
+ let g:terminal_color_1 = "#D95468"
+ let g:terminal_color_2 = "#8BD49C"
+ let g:terminal_color_3 = "#EBBF83"
+ let g:terminal_color_4 = "#539AFC"
+ let g:terminal_color_5 = "#B62D65"
+ let g:terminal_color_6 = "#70E1E8"
+ let g:terminal_color_7 = "#D8E2EC"
+ let g:terminal_color_8 = "#526270"
+ let g:terminal_color_9 = "#D95468"
+ let g:terminal_color_10 = "#8BD49C"
+ let g:terminal_color_11 = "#EBBF83"
+ let g:terminal_color_12 = "#539AFC"
+ let g:terminal_color_13 = "#B62D65"
+ let g:terminal_color_14 = "#70E1E8"
+ let g:terminal_color_15 = "#FBFBFD"
+ 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 = [
+ \ "#171D23",
+ \ "#D95468",
+ \ "#8BD49C",
+ \ "#EBBF83",
+ \ "#539AFC",
+ \ "#B62D65",
+ \ "#70E1E8",
+ \ "#D8E2EC",
+ \ "#526270",
+ \ "#D95468",
+ \ "#8BD49C",
+ \ "#EBBF83",
+ \ "#539AFC",
+ \ "#B62D65",
+ \ "#70E1E8",
+ \ "#FBFBFD",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-city-terminal-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-city-terminal-light.vim b/colors/base16-tokyo-city-terminal-light.vim
new file mode 100644
index 0000000..8f577b5
--- /dev/null
+++ b/colors/base16-tokyo-city-terminal-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo City Terminal Light scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-city-terminal-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "FBFBFD"
+let g:base16_gui00 = "FBFBFD"
+let s:gui01 = "F6F6F8"
+let g:base16_gui01 = "F6F6F8"
+let s:gui02 = "D8E2EC"
+let g:base16_gui02 = "D8E2EC"
+let s:gui03 = "B7C5D3"
+let g:base16_gui03 = "B7C5D3"
+let s:gui04 = "526270"
+let g:base16_gui04 = "526270"
+let s:gui05 = "28323A"
+let g:base16_gui05 = "28323A"
+let s:gui06 = "1D252C"
+let g:base16_gui06 = "1D252C"
+let s:gui07 = "171D23"
+let g:base16_gui07 = "171D23"
+let s:gui08 = "8C4351"
+let g:base16_gui08 = "8C4351"
+let s:gui09 = "965027"
+let g:base16_gui09 = "965027"
+let s:gui0A = "8f5E15"
+let g:base16_gui0A = "8f5E15"
+let s:gui0B = "33635C"
+let g:base16_gui0B = "33635C"
+let s:gui0C = "0F4B6E"
+let g:base16_gui0C = "0F4B6E"
+let s:gui0D = "34548A"
+let g:base16_gui0D = "34548A"
+let s:gui0E = "5A4A78"
+let g:base16_gui0E = "5A4A78"
+let s:gui0F = "7E5140"
+let g:base16_gui0F = "7E5140"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#FBFBFD"
+ let g:terminal_color_1 = "#8C4351"
+ let g:terminal_color_2 = "#33635C"
+ let g:terminal_color_3 = "#8f5E15"
+ let g:terminal_color_4 = "#34548A"
+ let g:terminal_color_5 = "#5A4A78"
+ let g:terminal_color_6 = "#0F4B6E"
+ let g:terminal_color_7 = "#28323A"
+ let g:terminal_color_8 = "#B7C5D3"
+ let g:terminal_color_9 = "#8C4351"
+ let g:terminal_color_10 = "#33635C"
+ let g:terminal_color_11 = "#8f5E15"
+ let g:terminal_color_12 = "#34548A"
+ let g:terminal_color_13 = "#5A4A78"
+ let g:terminal_color_14 = "#0F4B6E"
+ let g:terminal_color_15 = "#171D23"
+ 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 = [
+ \ "#FBFBFD",
+ \ "#8C4351",
+ \ "#33635C",
+ \ "#8f5E15",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#0F4B6E",
+ \ "#28323A",
+ \ "#B7C5D3",
+ \ "#8C4351",
+ \ "#33635C",
+ \ "#8f5E15",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#0F4B6E",
+ \ "#171D23",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-city-terminal-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-dark.vim b/colors/base16-tokyo-night-dark.vim
new file mode 100644
index 0000000..560cbaa
--- /dev/null
+++ b/colors/base16-tokyo-night-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Dark scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1A1B26"
+let g:base16_gui00 = "1A1B26"
+let s:gui01 = "16161E"
+let g:base16_gui01 = "16161E"
+let s:gui02 = "2F3549"
+let g:base16_gui02 = "2F3549"
+let s:gui03 = "444B6A"
+let g:base16_gui03 = "444B6A"
+let s:gui04 = "787C99"
+let g:base16_gui04 = "787C99"
+let s:gui05 = "A9B1D6"
+let g:base16_gui05 = "A9B1D6"
+let s:gui06 = "CBCCD1"
+let g:base16_gui06 = "CBCCD1"
+let s:gui07 = "D5D6DB"
+let g:base16_gui07 = "D5D6DB"
+let s:gui08 = "C0CAF5"
+let g:base16_gui08 = "C0CAF5"
+let s:gui09 = "A9B1D6"
+let g:base16_gui09 = "A9B1D6"
+let s:gui0A = "0DB9D7"
+let g:base16_gui0A = "0DB9D7"
+let s:gui0B = "9ECE6A"
+let g:base16_gui0B = "9ECE6A"
+let s:gui0C = "B4F9F8"
+let g:base16_gui0C = "B4F9F8"
+let s:gui0D = "2AC3DE"
+let g:base16_gui0D = "2AC3DE"
+let s:gui0E = "BB9AF7"
+let g:base16_gui0E = "BB9AF7"
+let s:gui0F = "F7768E"
+let g:base16_gui0F = "F7768E"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#1A1B26"
+ let g:terminal_color_1 = "#C0CAF5"
+ let g:terminal_color_2 = "#9ECE6A"
+ let g:terminal_color_3 = "#0DB9D7"
+ let g:terminal_color_4 = "#2AC3DE"
+ let g:terminal_color_5 = "#BB9AF7"
+ let g:terminal_color_6 = "#B4F9F8"
+ let g:terminal_color_7 = "#A9B1D6"
+ let g:terminal_color_8 = "#444B6A"
+ let g:terminal_color_9 = "#C0CAF5"
+ let g:terminal_color_10 = "#9ECE6A"
+ let g:terminal_color_11 = "#0DB9D7"
+ let g:terminal_color_12 = "#2AC3DE"
+ let g:terminal_color_13 = "#BB9AF7"
+ let g:terminal_color_14 = "#B4F9F8"
+ let g:terminal_color_15 = "#D5D6DB"
+ 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 = [
+ \ "#1A1B26",
+ \ "#C0CAF5",
+ \ "#9ECE6A",
+ \ "#0DB9D7",
+ \ "#2AC3DE",
+ \ "#BB9AF7",
+ \ "#B4F9F8",
+ \ "#A9B1D6",
+ \ "#444B6A",
+ \ "#C0CAF5",
+ \ "#9ECE6A",
+ \ "#0DB9D7",
+ \ "#2AC3DE",
+ \ "#BB9AF7",
+ \ "#B4F9F8",
+ \ "#D5D6DB",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-light.vim b/colors/base16-tokyo-night-light.vim
new file mode 100644
index 0000000..f9564e1
--- /dev/null
+++ b/colors/base16-tokyo-night-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Light scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "D5D6DB"
+let g:base16_gui00 = "D5D6DB"
+let s:gui01 = "CBCCD1"
+let g:base16_gui01 = "CBCCD1"
+let s:gui02 = "DFE0E5"
+let g:base16_gui02 = "DFE0E5"
+let s:gui03 = "9699A3"
+let g:base16_gui03 = "9699A3"
+let s:gui04 = "4C505E"
+let g:base16_gui04 = "4C505E"
+let s:gui05 = "343B59"
+let g:base16_gui05 = "343B59"
+let s:gui06 = "1A1B26"
+let g:base16_gui06 = "1A1B26"
+let s:gui07 = "1A1B26"
+let g:base16_gui07 = "1A1B26"
+let s:gui08 = "343B58"
+let g:base16_gui08 = "343B58"
+let s:gui09 = "965027"
+let g:base16_gui09 = "965027"
+let s:gui0A = "166775"
+let g:base16_gui0A = "166775"
+let s:gui0B = "485E30"
+let g:base16_gui0B = "485E30"
+let s:gui0C = "3E6968"
+let g:base16_gui0C = "3E6968"
+let s:gui0D = "34548A"
+let g:base16_gui0D = "34548A"
+let s:gui0E = "5A4A78"
+let g:base16_gui0E = "5A4A78"
+let s:gui0F = "8C4351"
+let g:base16_gui0F = "8C4351"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#D5D6DB"
+ let g:terminal_color_1 = "#343B58"
+ let g:terminal_color_2 = "#485E30"
+ let g:terminal_color_3 = "#166775"
+ let g:terminal_color_4 = "#34548A"
+ let g:terminal_color_5 = "#5A4A78"
+ let g:terminal_color_6 = "#3E6968"
+ let g:terminal_color_7 = "#343B59"
+ let g:terminal_color_8 = "#9699A3"
+ let g:terminal_color_9 = "#343B58"
+ let g:terminal_color_10 = "#485E30"
+ let g:terminal_color_11 = "#166775"
+ let g:terminal_color_12 = "#34548A"
+ let g:terminal_color_13 = "#5A4A78"
+ let g:terminal_color_14 = "#3E6968"
+ let g:terminal_color_15 = "#1A1B26"
+ 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 = [
+ \ "#D5D6DB",
+ \ "#343B58",
+ \ "#485E30",
+ \ "#166775",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#3E6968",
+ \ "#343B59",
+ \ "#9699A3",
+ \ "#343B58",
+ \ "#485E30",
+ \ "#166775",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#3E6968",
+ \ "#1A1B26",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-storm.vim b/colors/base16-tokyo-night-storm.vim
new file mode 100644
index 0000000..85bdd2c
--- /dev/null
+++ b/colors/base16-tokyo-night-storm.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Storm scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-storm.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "24283B"
+let g:base16_gui00 = "24283B"
+let s:gui01 = "16161E"
+let g:base16_gui01 = "16161E"
+let s:gui02 = "343A52"
+let g:base16_gui02 = "343A52"
+let s:gui03 = "444B6A"
+let g:base16_gui03 = "444B6A"
+let s:gui04 = "787C99"
+let g:base16_gui04 = "787C99"
+let s:gui05 = "A9B1D6"
+let g:base16_gui05 = "A9B1D6"
+let s:gui06 = "CBCCD1"
+let g:base16_gui06 = "CBCCD1"
+let s:gui07 = "D5D6DB"
+let g:base16_gui07 = "D5D6DB"
+let s:gui08 = "C0CAF5"
+let g:base16_gui08 = "C0CAF5"
+let s:gui09 = "A9B1D6"
+let g:base16_gui09 = "A9B1D6"
+let s:gui0A = "0DB9D7"
+let g:base16_gui0A = "0DB9D7"
+let s:gui0B = "9ECE6A"
+let g:base16_gui0B = "9ECE6A"
+let s:gui0C = "B4F9F8"
+let g:base16_gui0C = "B4F9F8"
+let s:gui0D = "2AC3DE"
+let g:base16_gui0D = "2AC3DE"
+let s:gui0E = "BB9AF7"
+let g:base16_gui0E = "BB9AF7"
+let s:gui0F = "F7768E"
+let g:base16_gui0F = "F7768E"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#24283B"
+ let g:terminal_color_1 = "#C0CAF5"
+ let g:terminal_color_2 = "#9ECE6A"
+ let g:terminal_color_3 = "#0DB9D7"
+ let g:terminal_color_4 = "#2AC3DE"
+ let g:terminal_color_5 = "#BB9AF7"
+ let g:terminal_color_6 = "#B4F9F8"
+ let g:terminal_color_7 = "#A9B1D6"
+ let g:terminal_color_8 = "#444B6A"
+ let g:terminal_color_9 = "#C0CAF5"
+ let g:terminal_color_10 = "#9ECE6A"
+ let g:terminal_color_11 = "#0DB9D7"
+ let g:terminal_color_12 = "#2AC3DE"
+ let g:terminal_color_13 = "#BB9AF7"
+ let g:terminal_color_14 = "#B4F9F8"
+ let g:terminal_color_15 = "#D5D6DB"
+ 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 = [
+ \ "#24283B",
+ \ "#C0CAF5",
+ \ "#9ECE6A",
+ \ "#0DB9D7",
+ \ "#2AC3DE",
+ \ "#BB9AF7",
+ \ "#B4F9F8",
+ \ "#A9B1D6",
+ \ "#444B6A",
+ \ "#C0CAF5",
+ \ "#9ECE6A",
+ \ "#0DB9D7",
+ \ "#2AC3DE",
+ \ "#BB9AF7",
+ \ "#B4F9F8",
+ \ "#D5D6DB",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-storm"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-terminal-dark.vim b/colors/base16-tokyo-night-terminal-dark.vim
new file mode 100644
index 0000000..3bce8ea
--- /dev/null
+++ b/colors/base16-tokyo-night-terminal-dark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Terminal Dark scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-terminal-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "16161E"
+let g:base16_gui00 = "16161E"
+let s:gui01 = "1A1B26"
+let g:base16_gui01 = "1A1B26"
+let s:gui02 = "2F3549"
+let g:base16_gui02 = "2F3549"
+let s:gui03 = "444B6A"
+let g:base16_gui03 = "444B6A"
+let s:gui04 = "787C99"
+let g:base16_gui04 = "787C99"
+let s:gui05 = "787C99"
+let g:base16_gui05 = "787C99"
+let s:gui06 = "CBCCD1"
+let g:base16_gui06 = "CBCCD1"
+let s:gui07 = "D5D6DB"
+let g:base16_gui07 = "D5D6DB"
+let s:gui08 = "F7768E"
+let g:base16_gui08 = "F7768E"
+let s:gui09 = "FF9E64"
+let g:base16_gui09 = "FF9E64"
+let s:gui0A = "E0AF68"
+let g:base16_gui0A = "E0AF68"
+let s:gui0B = "41A6B5"
+let g:base16_gui0B = "41A6B5"
+let s:gui0C = "7DCFFF"
+let g:base16_gui0C = "7DCFFF"
+let s:gui0D = "7AA2F7"
+let g:base16_gui0D = "7AA2F7"
+let s:gui0E = "BB9AF7"
+let g:base16_gui0E = "BB9AF7"
+let s:gui0F = "D18616"
+let g:base16_gui0F = "D18616"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#16161E"
+ let g:terminal_color_1 = "#F7768E"
+ let g:terminal_color_2 = "#41A6B5"
+ let g:terminal_color_3 = "#E0AF68"
+ let g:terminal_color_4 = "#7AA2F7"
+ let g:terminal_color_5 = "#BB9AF7"
+ let g:terminal_color_6 = "#7DCFFF"
+ let g:terminal_color_7 = "#787C99"
+ let g:terminal_color_8 = "#444B6A"
+ let g:terminal_color_9 = "#F7768E"
+ let g:terminal_color_10 = "#41A6B5"
+ let g:terminal_color_11 = "#E0AF68"
+ let g:terminal_color_12 = "#7AA2F7"
+ let g:terminal_color_13 = "#BB9AF7"
+ let g:terminal_color_14 = "#7DCFFF"
+ let g:terminal_color_15 = "#D5D6DB"
+ 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 = [
+ \ "#16161E",
+ \ "#F7768E",
+ \ "#41A6B5",
+ \ "#E0AF68",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#7DCFFF",
+ \ "#787C99",
+ \ "#444B6A",
+ \ "#F7768E",
+ \ "#41A6B5",
+ \ "#E0AF68",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#7DCFFF",
+ \ "#D5D6DB",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-terminal-dark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-terminal-light.vim b/colors/base16-tokyo-night-terminal-light.vim
new file mode 100644
index 0000000..5bc9e56
--- /dev/null
+++ b/colors/base16-tokyo-night-terminal-light.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Terminal Light scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-terminal-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "D5D6DB"
+let g:base16_gui00 = "D5D6DB"
+let s:gui01 = "CBCCD1"
+let g:base16_gui01 = "CBCCD1"
+let s:gui02 = "DFE0E5"
+let g:base16_gui02 = "DFE0E5"
+let s:gui03 = "9699A3"
+let g:base16_gui03 = "9699A3"
+let s:gui04 = "4C505E"
+let g:base16_gui04 = "4C505E"
+let s:gui05 = "4C505E"
+let g:base16_gui05 = "4C505E"
+let s:gui06 = "1A1B26"
+let g:base16_gui06 = "1A1B26"
+let s:gui07 = "1A1B26"
+let g:base16_gui07 = "1A1B26"
+let s:gui08 = "8C4351"
+let g:base16_gui08 = "8C4351"
+let s:gui09 = "965027"
+let g:base16_gui09 = "965027"
+let s:gui0A = "8F5E15"
+let g:base16_gui0A = "8F5E15"
+let s:gui0B = "33635C"
+let g:base16_gui0B = "33635C"
+let s:gui0C = "0F4B6E"
+let g:base16_gui0C = "0F4B6E"
+let s:gui0D = "34548A"
+let g:base16_gui0D = "34548A"
+let s:gui0E = "5A4A78"
+let g:base16_gui0E = "5A4A78"
+let s:gui0F = "655259"
+let g:base16_gui0F = "655259"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#D5D6DB"
+ let g:terminal_color_1 = "#8C4351"
+ let g:terminal_color_2 = "#33635C"
+ let g:terminal_color_3 = "#8F5E15"
+ let g:terminal_color_4 = "#34548A"
+ let g:terminal_color_5 = "#5A4A78"
+ let g:terminal_color_6 = "#0F4B6E"
+ let g:terminal_color_7 = "#4C505E"
+ let g:terminal_color_8 = "#9699A3"
+ let g:terminal_color_9 = "#8C4351"
+ let g:terminal_color_10 = "#33635C"
+ let g:terminal_color_11 = "#8F5E15"
+ let g:terminal_color_12 = "#34548A"
+ let g:terminal_color_13 = "#5A4A78"
+ let g:terminal_color_14 = "#0F4B6E"
+ let g:terminal_color_15 = "#1A1B26"
+ 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 = [
+ \ "#D5D6DB",
+ \ "#8C4351",
+ \ "#33635C",
+ \ "#8F5E15",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#0F4B6E",
+ \ "#4C505E",
+ \ "#9699A3",
+ \ "#8C4351",
+ \ "#33635C",
+ \ "#8F5E15",
+ \ "#34548A",
+ \ "#5A4A78",
+ \ "#0F4B6E",
+ \ "#1A1B26",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-terminal-light"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyo-night-terminal-storm.vim b/colors/base16-tokyo-night-terminal-storm.vim
new file mode 100644
index 0000000..6086c4f
--- /dev/null
+++ b/colors/base16-tokyo-night-terminal-storm.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyo Night Terminal Storm scheme by Michaƫl Ball
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyo-night-terminal-storm.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "24283B"
+let g:base16_gui00 = "24283B"
+let s:gui01 = "1A1B26"
+let g:base16_gui01 = "1A1B26"
+let s:gui02 = "343A52"
+let g:base16_gui02 = "343A52"
+let s:gui03 = "444B6A"
+let g:base16_gui03 = "444B6A"
+let s:gui04 = "787C99"
+let g:base16_gui04 = "787C99"
+let s:gui05 = "787C99"
+let g:base16_gui05 = "787C99"
+let s:gui06 = "CBCCD1"
+let g:base16_gui06 = "CBCCD1"
+let s:gui07 = "D5D6DB"
+let g:base16_gui07 = "D5D6DB"
+let s:gui08 = "F7768E"
+let g:base16_gui08 = "F7768E"
+let s:gui09 = "FF9E64"
+let g:base16_gui09 = "FF9E64"
+let s:gui0A = "E0AF68"
+let g:base16_gui0A = "E0AF68"
+let s:gui0B = "41A6B5"
+let g:base16_gui0B = "41A6B5"
+let s:gui0C = "7DCFFF"
+let g:base16_gui0C = "7DCFFF"
+let s:gui0D = "7AA2F7"
+let g:base16_gui0D = "7AA2F7"
+let s:gui0E = "BB9AF7"
+let g:base16_gui0E = "BB9AF7"
+let s:gui0F = "D18616"
+let g:base16_gui0F = "D18616"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#24283B"
+ let g:terminal_color_1 = "#F7768E"
+ let g:terminal_color_2 = "#41A6B5"
+ let g:terminal_color_3 = "#E0AF68"
+ let g:terminal_color_4 = "#7AA2F7"
+ let g:terminal_color_5 = "#BB9AF7"
+ let g:terminal_color_6 = "#7DCFFF"
+ let g:terminal_color_7 = "#787C99"
+ let g:terminal_color_8 = "#444B6A"
+ let g:terminal_color_9 = "#F7768E"
+ let g:terminal_color_10 = "#41A6B5"
+ let g:terminal_color_11 = "#E0AF68"
+ let g:terminal_color_12 = "#7AA2F7"
+ let g:terminal_color_13 = "#BB9AF7"
+ let g:terminal_color_14 = "#7DCFFF"
+ let g:terminal_color_15 = "#D5D6DB"
+ 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 = [
+ \ "#24283B",
+ \ "#F7768E",
+ \ "#41A6B5",
+ \ "#E0AF68",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#7DCFFF",
+ \ "#787C99",
+ \ "#444B6A",
+ \ "#F7768E",
+ \ "#41A6B5",
+ \ "#E0AF68",
+ \ "#7AA2F7",
+ \ "#BB9AF7",
+ \ "#7DCFFF",
+ \ "#D5D6DB",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyo-night-terminal-storm"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyodark-terminal.vim b/colors/base16-tokyodark-terminal.vim
new file mode 100644
index 0000000..a87dc3e
--- /dev/null
+++ b/colors/base16-tokyodark-terminal.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyodark Terminal scheme by Tiagovla (https://github.com/tiagovla/)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyodark-terminal.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "11121d"
+let g:base16_gui00 = "11121d"
+let s:gui01 = "1A1B2A"
+let g:base16_gui01 = "1A1B2A"
+let s:gui02 = "212234"
+let g:base16_gui02 = "212234"
+let s:gui03 = "282c34"
+let g:base16_gui03 = "282c34"
+let s:gui04 = "4a5057"
+let g:base16_gui04 = "4a5057"
+let s:gui05 = "a0a8cd"
+let g:base16_gui05 = "a0a8cd"
+let s:gui06 = "a0a8cd"
+let g:base16_gui06 = "a0a8cd"
+let s:gui07 = "a0a8cd"
+let g:base16_gui07 = "a0a8cd"
+let s:gui08 = "ee6d85"
+let g:base16_gui08 = "ee6d85"
+let s:gui09 = "f6955b"
+let g:base16_gui09 = "f6955b"
+let s:gui0A = "d7a65f"
+let g:base16_gui0A = "d7a65f"
+let s:gui0B = "95c561"
+let g:base16_gui0B = "95c561"
+let s:gui0C = "38a89d"
+let g:base16_gui0C = "38a89d"
+let s:gui0D = "7199ee"
+let g:base16_gui0D = "7199ee"
+let s:gui0E = "a485dd"
+let g:base16_gui0E = "a485dd"
+let s:gui0F = "773440"
+let g:base16_gui0F = "773440"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#11121d"
+ let g:terminal_color_1 = "#ee6d85"
+ let g:terminal_color_2 = "#95c561"
+ let g:terminal_color_3 = "#d7a65f"
+ let g:terminal_color_4 = "#7199ee"
+ let g:terminal_color_5 = "#a485dd"
+ let g:terminal_color_6 = "#38a89d"
+ let g:terminal_color_7 = "#a0a8cd"
+ let g:terminal_color_8 = "#282c34"
+ let g:terminal_color_9 = "#ee6d85"
+ let g:terminal_color_10 = "#95c561"
+ let g:terminal_color_11 = "#d7a65f"
+ let g:terminal_color_12 = "#7199ee"
+ let g:terminal_color_13 = "#a485dd"
+ let g:terminal_color_14 = "#38a89d"
+ let g:terminal_color_15 = "#a0a8cd"
+ 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 = [
+ \ "#11121d",
+ \ "#ee6d85",
+ \ "#95c561",
+ \ "#d7a65f",
+ \ "#7199ee",
+ \ "#a485dd",
+ \ "#38a89d",
+ \ "#a0a8cd",
+ \ "#282c34",
+ \ "#ee6d85",
+ \ "#95c561",
+ \ "#d7a65f",
+ \ "#7199ee",
+ \ "#a485dd",
+ \ "#38a89d",
+ \ "#a0a8cd",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyodark-terminal"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-tokyodark.vim b/colors/base16-tokyodark.vim
new file mode 100644
index 0000000..124961f
--- /dev/null
+++ b/colors/base16-tokyodark.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tokyodark scheme by Tiagovla (https://github.com/tiagovla/)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-tokyodark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "11121d"
+let g:base16_gui00 = "11121d"
+let s:gui01 = "151621"
+let g:base16_gui01 = "151621"
+let s:gui02 = "43444f"
+let g:base16_gui02 = "43444f"
+let s:gui03 = "393a45"
+let g:base16_gui03 = "393a45"
+let s:gui04 = "1b1c27"
+let g:base16_gui04 = "1b1c27"
+let s:gui05 = "abb2bf"
+let g:base16_gui05 = "abb2bf"
+let s:gui06 = "555661"
+let g:base16_gui06 = "555661"
+let s:gui07 = "2c2d38"
+let g:base16_gui07 = "2c2d38"
+let s:gui08 = "a485dd"
+let g:base16_gui08 = "a485dd"
+let s:gui09 = "a485dd"
+let g:base16_gui09 = "a485dd"
+let s:gui0A = "7199ee"
+let g:base16_gui0A = "7199ee"
+let s:gui0B = "d7A65f"
+let g:base16_gui0B = "d7A65f"
+let s:gui0C = "a485dd"
+let g:base16_gui0C = "a485dd"
+let s:gui0D = "95c561"
+let g:base16_gui0D = "95c561"
+let s:gui0E = "ee6d85"
+let g:base16_gui0E = "ee6d85"
+let s:gui0F = "773440"
+let g:base16_gui0F = "773440"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#11121d"
+ let g:terminal_color_1 = "#a485dd"
+ let g:terminal_color_2 = "#d7A65f"
+ let g:terminal_color_3 = "#7199ee"
+ let g:terminal_color_4 = "#95c561"
+ let g:terminal_color_5 = "#ee6d85"
+ let g:terminal_color_6 = "#a485dd"
+ let g:terminal_color_7 = "#abb2bf"
+ let g:terminal_color_8 = "#393a45"
+ let g:terminal_color_9 = "#a485dd"
+ let g:terminal_color_10 = "#d7A65f"
+ let g:terminal_color_11 = "#7199ee"
+ let g:terminal_color_12 = "#95c561"
+ let g:terminal_color_13 = "#ee6d85"
+ let g:terminal_color_14 = "#a485dd"
+ let g:terminal_color_15 = "#2c2d38"
+ 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 = [
+ \ "#11121d",
+ \ "#a485dd",
+ \ "#d7A65f",
+ \ "#7199ee",
+ \ "#95c561",
+ \ "#ee6d85",
+ \ "#a485dd",
+ \ "#abb2bf",
+ \ "#393a45",
+ \ "#a485dd",
+ \ "#d7A65f",
+ \ "#7199ee",
+ \ "#95c561",
+ \ "#ee6d85",
+ \ "#a485dd",
+ \ "#2c2d38",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tokyodark"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-unikitty-reversible.vim b/colors/base16-unikitty-reversible.vim
new file mode 100644
index 0000000..751208f
--- /dev/null
+++ b/colors/base16-unikitty-reversible.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Unikitty Reversible scheme by Josh W Lewis (@joshwlewis)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-unikitty-reversible.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2e2a31"
+let g:base16_gui00 = "2e2a31"
+let s:gui01 = "4b484e"
+let g:base16_gui01 = "4b484e"
+let s:gui02 = "69666b"
+let g:base16_gui02 = "69666b"
+let s:gui03 = "878589"
+let g:base16_gui03 = "878589"
+let s:gui04 = "a5a3a6"
+let g:base16_gui04 = "a5a3a6"
+let s:gui05 = "c3c2c4"
+let g:base16_gui05 = "c3c2c4"
+let s:gui06 = "e1e0e1"
+let g:base16_gui06 = "e1e0e1"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "d8137f"
+let g:base16_gui08 = "d8137f"
+let s:gui09 = "d65407"
+let g:base16_gui09 = "d65407"
+let s:gui0A = "dc8a0e"
+let g:base16_gui0A = "dc8a0e"
+let s:gui0B = "17ad98"
+let g:base16_gui0B = "17ad98"
+let s:gui0C = "149bda"
+let g:base16_gui0C = "149bda"
+let s:gui0D = "7864fa"
+let g:base16_gui0D = "7864fa"
+let s:gui0E = "b33ce8"
+let g:base16_gui0E = "b33ce8"
+let s:gui0F = "d41acd"
+let g:base16_gui0F = "d41acd"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#2e2a31"
+ let g:terminal_color_1 = "#d8137f"
+ let g:terminal_color_2 = "#17ad98"
+ let g:terminal_color_3 = "#dc8a0e"
+ let g:terminal_color_4 = "#7864fa"
+ let g:terminal_color_5 = "#b33ce8"
+ let g:terminal_color_6 = "#149bda"
+ let g:terminal_color_7 = "#c3c2c4"
+ let g:terminal_color_8 = "#878589"
+ let g:terminal_color_9 = "#d8137f"
+ let g:terminal_color_10 = "#17ad98"
+ let g:terminal_color_11 = "#dc8a0e"
+ let g:terminal_color_12 = "#7864fa"
+ let g:terminal_color_13 = "#b33ce8"
+ let g:terminal_color_14 = "#149bda"
+ let g:terminal_color_15 = "#ffffff"
+ 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 = [
+ \ "#2e2a31",
+ \ "#d8137f",
+ \ "#17ad98",
+ \ "#dc8a0e",
+ \ "#7864fa",
+ \ "#b33ce8",
+ \ "#149bda",
+ \ "#c3c2c4",
+ \ "#878589",
+ \ "#d8137f",
+ \ "#17ad98",
+ \ "#dc8a0e",
+ \ "#7864fa",
+ \ "#b33ce8",
+ \ "#149bda",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-unikitty-reversible"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-uwunicorn.vim b/colors/base16-uwunicorn.vim
new file mode 100644
index 0000000..d2b00a6
--- /dev/null
+++ b/colors/base16-uwunicorn.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" UwUnicorn scheme by Fernando Marques (https://github.com/RakkiUwU) and Gabriel Fontes (https://github.com/Misterio77)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-uwunicorn.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "241b26"
+let g:base16_gui00 = "241b26"
+let s:gui01 = "2f2a3f"
+let g:base16_gui01 = "2f2a3f"
+let s:gui02 = "46354a"
+let g:base16_gui02 = "46354a"
+let s:gui03 = "6c3cb2"
+let g:base16_gui03 = "6c3cb2"
+let s:gui04 = "7e5f83"
+let g:base16_gui04 = "7e5f83"
+let s:gui05 = "eed5d9"
+let g:base16_gui05 = "eed5d9"
+let s:gui06 = "d9c2c6"
+let g:base16_gui06 = "d9c2c6"
+let s:gui07 = "e4ccd0"
+let g:base16_gui07 = "e4ccd0"
+let s:gui08 = "877bb6"
+let g:base16_gui08 = "877bb6"
+let s:gui09 = "de5b44"
+let g:base16_gui09 = "de5b44"
+let s:gui0A = "a84a73"
+let g:base16_gui0A = "a84a73"
+let s:gui0B = "c965bf"
+let g:base16_gui0B = "c965bf"
+let s:gui0C = "9c5fce"
+let g:base16_gui0C = "9c5fce"
+let s:gui0D = "6a9eb5"
+let g:base16_gui0D = "6a9eb5"
+let s:gui0E = "78a38f"
+let g:base16_gui0E = "78a38f"
+let s:gui0F = "a3a079"
+let g:base16_gui0F = "a3a079"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#241b26"
+ let g:terminal_color_1 = "#877bb6"
+ let g:terminal_color_2 = "#c965bf"
+ let g:terminal_color_3 = "#a84a73"
+ let g:terminal_color_4 = "#6a9eb5"
+ let g:terminal_color_5 = "#78a38f"
+ let g:terminal_color_6 = "#9c5fce"
+ let g:terminal_color_7 = "#eed5d9"
+ let g:terminal_color_8 = "#6c3cb2"
+ let g:terminal_color_9 = "#877bb6"
+ let g:terminal_color_10 = "#c965bf"
+ let g:terminal_color_11 = "#a84a73"
+ let g:terminal_color_12 = "#6a9eb5"
+ let g:terminal_color_13 = "#78a38f"
+ let g:terminal_color_14 = "#9c5fce"
+ let g:terminal_color_15 = "#e4ccd0"
+ 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 = [
+ \ "#241b26",
+ \ "#877bb6",
+ \ "#c965bf",
+ \ "#a84a73",
+ \ "#6a9eb5",
+ \ "#78a38f",
+ \ "#9c5fce",
+ \ "#eed5d9",
+ \ "#6c3cb2",
+ \ "#877bb6",
+ \ "#c965bf",
+ \ "#a84a73",
+ \ "#6a9eb5",
+ \ "#78a38f",
+ \ "#9c5fce",
+ \ "#e4ccd0",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-uwunicorn"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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
diff --git a/colors/base16-vice.vim b/colors/base16-vice.vim
new file mode 100644
index 0000000..2353ec1
--- /dev/null
+++ b/colors/base16-vice.vim
@@ -0,0 +1,629 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" vice scheme by Thomas Leon Highbaugh thighbaugh@zoho.com
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has("gui_running")
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-vice.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "17191E"
+let g:base16_gui00 = "17191E"
+let s:gui01 = "22262d"
+let g:base16_gui01 = "22262d"
+let s:gui02 = "3c3f4c"
+let g:base16_gui02 = "3c3f4c"
+let s:gui03 = "383a47"
+let g:base16_gui03 = "383a47"
+let s:gui04 = "555e70"
+let g:base16_gui04 = "555e70"
+let s:gui05 = "8b9cbe"
+let g:base16_gui05 = "8b9cbe"
+let s:gui06 = "B2BFD9"
+let g:base16_gui06 = "B2BFD9"
+let s:gui07 = "f4f4f7"
+let g:base16_gui07 = "f4f4f7"
+let s:gui08 = "ff29a8"
+let g:base16_gui08 = "ff29a8"
+let s:gui09 = "85ffe0"
+let g:base16_gui09 = "85ffe0"
+let s:gui0A = "f0ffaa"
+let g:base16_gui0A = "f0ffaa"
+let s:gui0B = "0badff"
+let g:base16_gui0B = "0badff"
+let s:gui0C = "8265ff"
+let g:base16_gui0C = "8265ff"
+let s:gui0D = "00eaff"
+let g:base16_gui0D = "00eaff"
+let s:gui0E = "00f6d9"
+let g:base16_gui0E = "00f6d9"
+let s:gui0F = "ff3d81"
+let g:base16_gui0F = "ff3d81"
+
+" 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"
+if exists("base16colorspace") && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let g:base16_cterm01 = "18"
+ let s:cterm02 = "19"
+ let g:base16_cterm02 = "19"
+ let s:cterm04 = "20"
+ let g:base16_cterm04 = "20"
+ let s:cterm06 = "21"
+ let g:base16_cterm06 = "21"
+ let s:cterm09 = "16"
+ let g:base16_cterm09 = "16"
+ let s:cterm0F = "17"
+ let g:base16_cterm0F = "17"
+else
+ 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"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#17191E"
+ let g:terminal_color_1 = "#ff29a8"
+ let g:terminal_color_2 = "#0badff"
+ let g:terminal_color_3 = "#f0ffaa"
+ let g:terminal_color_4 = "#00eaff"
+ let g:terminal_color_5 = "#00f6d9"
+ let g:terminal_color_6 = "#8265ff"
+ let g:terminal_color_7 = "#8b9cbe"
+ let g:terminal_color_8 = "#383a47"
+ let g:terminal_color_9 = "#ff29a8"
+ let g:terminal_color_10 = "#0badff"
+ let g:terminal_color_11 = "#f0ffaa"
+ let g:terminal_color_12 = "#00eaff"
+ let g:terminal_color_13 = "#00f6d9"
+ let g:terminal_color_14 = "#8265ff"
+ let g:terminal_color_15 = "#f4f4f7"
+ 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 = [
+ \ "#17191E",
+ \ "#ff29a8",
+ \ "#0badff",
+ \ "#f0ffaa",
+ \ "#00eaff",
+ \ "#00f6d9",
+ \ "#8265ff",
+ \ "#8b9cbe",
+ \ "#383a47",
+ \ "#ff29a8",
+ \ "#0badff",
+ \ "#f0ffaa",
+ \ "#00eaff",
+ \ "#00f6d9",
+ \ "#8265ff",
+ \ "#f4f4f7",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-vice"
+
+" Highlighting function
+" Optional variables are attributes and guisp
+function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
+ 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 <sid>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
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "italic", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "")
+call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Standard highlights to be used by plugins
+call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "")
+call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "")
+call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "")
+
+call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "")
+
+call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "")
+call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+
+call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08)
+call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09)
+call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D)
+call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C)
+
+call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E)
+
+call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "")
+call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "")
+
+" C
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C#
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>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 <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "")
+call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "")
+call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "")
+
+" CSS
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" CMP
+hi! link CmpItemAbbrDeprecated Deprecated
+hi! link CmpItemAbbrMatch SearchMatch
+hi! link CmpItemAbbrMatchFuzzy SearchMatch
+hi! link CmpItemKindText TSText
+hi! link CmpItemKindMethod TSMethod
+hi! link CmpItemKindFunction TSFunction
+hi! link CmpItemKindConstructor TSConstructor
+hi! link CmpItemKindField TSField
+hi! link CmpItemKindVariable TSVariable
+" hi! link CmpItemKindClass TS
+hi! link CmpItemKindInterface TSText
+" hi! link CmpItemKindModule TS
+hi! link CmpItemKindProperty TSProperty
+hi! link CmpItemKindUnit TSKeyword
+" hi! link CmpItemKindValue TS
+" hi! link CmpItemKindEnum TS
+hi! link CmpItemKindKeyword TSKeyword
+" hi! link CmpItemKindSnippet TS
+" hi! link CmpItemKindColor TS
+" hi! link CmpItemKindFile TS
+" hi! link CmpItemKindReference TS
+" hi! link CmpItemKindFolder TS
+" hi! link CmpItemKindEnumMember TS
+hi! link CmpItemKindConstant TSConstant
+" hi! link CmpItemKindStruct TS
+" hi! link CmpItemKindEvent TS
+hi! link CmpItemKindOperator TSOperator
+hi! link CmpItemKindTypeParameter TSType
+
+" Diff
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter
+hi! link GitGutterAdd GitAddSign
+hi! link GitGutterChange GitChangeSign
+hi! link GitGutterDelete GitDeleteSign
+hi! link GitGutterChangeDelete GitChangeDeleteSign
+
+" HTML
+call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "")
+call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Matchup
+call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "")
+
+" NERDTree
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Python
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify
+hi! link SignifySignAdd GitAddSign
+hi! link SignifySignChange GitChangeSign
+hi! link SignifySignDelete GitDeleteSign
+
+" Startify
+call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "")
+call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+
+" Treesitter
+hi! link TSVariable Identifier
+
+" Treesitter-refactor
+if has("nvim")
+ call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "")
+ call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "")
+endif
+
+" LSP
+if has("nvim")
+ hi! link DiagnosticError ErrorSign
+ hi! link DiagnosticWarn WarningSign
+ hi! link DiagnosticInfo InfoSign
+ hi! link DiagnosticHint HintSign
+
+ hi! link DiagnosticFloatingError ErrorFloat
+ hi! link DiagnosticFloatingWarn WarningFloat
+ hi! link DiagnosticFloatingInfo InfoFloat
+ hi! link DiagnosticFloatingHint HintFloat
+
+ hi! link DiagnosticUnderlineError ErrorHighlight
+ hi! link DiagnosticUnderlineWarn WarningHighlight
+ hi! link DiagnosticUnderlineInfo InfoHighlight
+ hi! link DiagnosticUnderlineHint HintHighlight
+
+ hi! link DiagnosticsVirtualTextError ErrorSign
+ hi! link DiagnosticsVirtualTextWarning WarningSign
+ hi! link DiagnosticsVirtualTextInfo InfoSign
+ hi! link DiagnosticsVirtualTextHint HintSign
+
+ " 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
+
+" Java
+call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Remove functions
+delf <sid>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
+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