aboutsummaryrefslogtreecommitdiff
path: root/colors
diff options
context:
space:
mode:
Diffstat (limited to 'colors')
-rw-r--r--colors/base16-3024.vim41
-rw-r--r--colors/base16-apathy.vim41
-rw-r--r--colors/base16-ashes.vim41
-rw-r--r--colors/base16-atelier-cave-light.vim41
-rw-r--r--colors/base16-atelier-cave.vim41
-rw-r--r--colors/base16-atelier-dune-light.vim41
-rw-r--r--colors/base16-atelier-dune.vim41
-rw-r--r--colors/base16-atelier-estuary-light.vim41
-rw-r--r--colors/base16-atelier-estuary.vim41
-rw-r--r--colors/base16-atelier-forest-light.vim41
-rw-r--r--colors/base16-atelier-forest.vim41
-rw-r--r--colors/base16-atelier-heath-light.vim41
-rw-r--r--colors/base16-atelier-heath.vim41
-rw-r--r--colors/base16-atelier-lakeside-light.vim41
-rw-r--r--colors/base16-atelier-lakeside.vim41
-rw-r--r--colors/base16-atelier-plateau-light.vim41
-rw-r--r--colors/base16-atelier-plateau.vim41
-rw-r--r--colors/base16-atelier-savanna-light.vim41
-rw-r--r--colors/base16-atelier-savanna.vim41
-rw-r--r--colors/base16-atelier-seaside-light.vim41
-rw-r--r--colors/base16-atelier-seaside.vim41
-rw-r--r--colors/base16-atelier-sulphurpool-light.vim41
-rw-r--r--colors/base16-atelier-sulphurpool.vim41
-rw-r--r--colors/base16-atlas.vim41
-rw-r--r--colors/base16-bespin.vim41
-rw-r--r--colors/base16-black-metal-bathory.vim41
-rw-r--r--colors/base16-black-metal-burzum.vim41
-rw-r--r--colors/base16-black-metal-dark-funeral.vim41
-rw-r--r--colors/base16-black-metal-gorgoroth.vim41
-rw-r--r--colors/base16-black-metal-immortal.vim41
-rw-r--r--colors/base16-black-metal-khold.vim41
-rw-r--r--colors/base16-black-metal-marduk.vim41
-rw-r--r--colors/base16-black-metal-mayhem.vim41
-rw-r--r--colors/base16-black-metal-nile.vim41
-rw-r--r--colors/base16-black-metal-venom.vim41
-rw-r--r--colors/base16-black-metal.vim41
-rw-r--r--colors/base16-brewer.vim41
-rw-r--r--colors/base16-bright.vim41
-rw-r--r--colors/base16-brogrammer.vim41
-rw-r--r--colors/base16-brushtrees-dark.vim41
-rw-r--r--colors/base16-brushtrees.vim41
-rw-r--r--colors/base16-chalk.vim41
-rw-r--r--colors/base16-circus.vim41
-rw-r--r--colors/base16-classic-dark.vim41
-rw-r--r--colors/base16-classic-light.vim41
-rw-r--r--colors/base16-codeschool.vim41
-rw-r--r--colors/base16-cupcake.vim41
-rw-r--r--colors/base16-cupertino.vim41
-rw-r--r--colors/base16-darkmoss.vim446
-rw-r--r--colors/base16-darktooth.vim41
-rw-r--r--colors/base16-darkviolet.vim446
-rw-r--r--colors/base16-decaf.vim446
-rw-r--r--colors/base16-default-dark.vim41
-rw-r--r--colors/base16-default-light.vim41
-rw-r--r--colors/base16-dirtysea.vim446
-rw-r--r--colors/base16-dracula.vim41
-rw-r--r--colors/base16-edge-dark.vim446
-rw-r--r--colors/base16-edge-light.vim446
-rw-r--r--colors/base16-eighties.vim41
-rw-r--r--colors/base16-embers.vim41
-rw-r--r--colors/base16-equilibrium-dark.vim446
-rw-r--r--colors/base16-equilibrium-gray-dark.vim446
-rw-r--r--colors/base16-equilibrium-gray-light.vim446
-rw-r--r--colors/base16-equilibrium-light.vim446
-rw-r--r--colors/base16-espresso.vim446
-rw-r--r--colors/base16-eva-dim.vim446
-rw-r--r--colors/base16-eva.vim446
-rw-r--r--colors/base16-flat.vim41
-rw-r--r--colors/base16-framer.vim446
-rw-r--r--colors/base16-fruit-soda.vim41
-rw-r--r--colors/base16-gigavolt.vim446
-rw-r--r--colors/base16-github.vim41
-rw-r--r--colors/base16-google-dark.vim41
-rw-r--r--colors/base16-google-light.vim41
-rw-r--r--colors/base16-grayscale-dark.vim41
-rw-r--r--colors/base16-grayscale-light.vim41
-rw-r--r--colors/base16-greenscreen.vim41
-rw-r--r--colors/base16-gruvbox-dark-hard.vim41
-rw-r--r--colors/base16-gruvbox-dark-medium.vim41
-rw-r--r--colors/base16-gruvbox-dark-pale.vim41
-rw-r--r--colors/base16-gruvbox-dark-soft.vim41
-rw-r--r--colors/base16-gruvbox-light-hard.vim41
-rw-r--r--colors/base16-gruvbox-light-medium.vim41
-rw-r--r--colors/base16-gruvbox-light-soft.vim41
-rw-r--r--colors/base16-hardcore.vim446
-rw-r--r--colors/base16-harmonic-dark.vim41
-rw-r--r--colors/base16-harmonic-light.vim41
-rw-r--r--colors/base16-heetch-light.vim41
-rw-r--r--colors/base16-heetch.vim41
-rw-r--r--colors/base16-helios.vim41
-rw-r--r--colors/base16-hopscotch.vim41
-rw-r--r--colors/base16-horizon-dark.vim53
-rw-r--r--colors/base16-horizon-light.vim446
-rw-r--r--colors/base16-horizon-terminal-dark.vim446
-rw-r--r--colors/base16-horizon-terminal-light.vim446
-rw-r--r--colors/base16-humanoid-dark.vim446
-rw-r--r--colors/base16-humanoid-light.vim446
-rw-r--r--colors/base16-ia-dark.vim41
-rw-r--r--colors/base16-ia-light.vim41
-rw-r--r--colors/base16-icy.vim41
-rw-r--r--colors/base16-irblack.vim41
-rw-r--r--colors/base16-isotope.vim41
-rw-r--r--colors/base16-kimber.vim446
-rw-r--r--colors/base16-macintosh.vim41
-rw-r--r--colors/base16-marrakesh.vim41
-rw-r--r--colors/base16-materia.vim41
-rw-r--r--colors/base16-material-darker.vim41
-rw-r--r--colors/base16-material-lighter.vim41
-rw-r--r--colors/base16-material-palenight.vim41
-rw-r--r--colors/base16-material-vivid.vim41
-rw-r--r--colors/base16-material.vim41
-rw-r--r--colors/base16-mellow-purple.vim41
-rw-r--r--colors/base16-mexico-light.vim41
-rw-r--r--colors/base16-mocha.vim41
-rw-r--r--colors/base16-monokai.vim41
-rw-r--r--colors/base16-nebula.vim446
-rw-r--r--colors/base16-nord.vim113
-rw-r--r--colors/base16-nova.vim446
-rw-r--r--colors/base16-ocean.vim41
-rw-r--r--colors/base16-oceanicnext.vim41
-rw-r--r--colors/base16-one-light.vim41
-rw-r--r--colors/base16-onedark.vim41
-rw-r--r--colors/base16-outrun-dark.vim41
-rw-r--r--colors/base16-papercolor-dark.vim41
-rw-r--r--colors/base16-papercolor-light.vim57
-rw-r--r--colors/base16-paraiso.vim41
-rw-r--r--colors/base16-pasque.vim446
-rw-r--r--colors/base16-phd.vim41
-rw-r--r--colors/base16-pico.vim41
-rw-r--r--colors/base16-pop.vim41
-rw-r--r--colors/base16-porple.vim41
-rw-r--r--colors/base16-railscasts.vim41
-rw-r--r--colors/base16-rebecca.vim41
-rw-r--r--colors/base16-sagelight.vim446
-rw-r--r--colors/base16-sandcastle.vim446
-rw-r--r--colors/base16-seti.vim41
-rw-r--r--colors/base16-shapeshifter.vim41
-rw-r--r--colors/base16-silk-dark.vim446
-rw-r--r--colors/base16-silk-light.vim446
-rw-r--r--colors/base16-snazzy.vim41
-rw-r--r--colors/base16-solarflare-light.vim446
-rw-r--r--colors/base16-solarflare.vim41
-rw-r--r--colors/base16-solarized-dark.vim41
-rw-r--r--colors/base16-solarized-light.vim41
-rw-r--r--colors/base16-spacemacs.vim41
-rw-r--r--colors/base16-summercamp.vim446
-rw-r--r--colors/base16-summerfruit-dark.vim41
-rw-r--r--colors/base16-summerfruit-light.vim41
-rw-r--r--colors/base16-synth-midnight-dark.vim171
-rw-r--r--colors/base16-synth-midnight-light.vim446
-rw-r--r--colors/base16-tango.vim446
-rw-r--r--colors/base16-tomorrow-night-eighties.vim41
-rw-r--r--colors/base16-tomorrow-night.vim41
-rw-r--r--colors/base16-tomorrow.vim41
-rw-r--r--colors/base16-tube.vim41
-rw-r--r--colors/base16-twilight.vim41
-rw-r--r--colors/base16-unikitty-dark.vim41
-rw-r--r--colors/base16-unikitty-light.vim41
-rw-r--r--colors/base16-vulcan.vim446
-rw-r--r--colors/base16-woodland.vim41
-rw-r--r--colors/base16-xcode-dusk.vim41
-rw-r--r--colors/base16-zenburn.vim41
162 files changed, 20015 insertions, 627 deletions
diff --git a/colors/base16-3024.vim b/colors/base16-3024.vim
index 5327b35..ef26387 100644
--- a/colors/base16-3024.vim
+++ b/colors/base16-3024.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-apathy.vim b/colors/base16-apathy.vim
index da14b02..fda041e 100644
--- a/colors/base16-apathy.vim
+++ b/colors/base16-apathy.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-ashes.vim b/colors/base16-ashes.vim
index 516c8b4..81b5043 100644
--- a/colors/base16-ashes.vim
+++ b/colors/base16-ashes.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-cave-light.vim b/colors/base16-atelier-cave-light.vim
index 5eda1c6..12b6e02 100644
--- a/colors/base16-atelier-cave-light.vim
+++ b/colors/base16-atelier-cave-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-cave.vim b/colors/base16-atelier-cave.vim
index 45e6cd8..6e8d894 100644
--- a/colors/base16-atelier-cave.vim
+++ b/colors/base16-atelier-cave.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-dune-light.vim b/colors/base16-atelier-dune-light.vim
index f020dc3..1cd0207 100644
--- a/colors/base16-atelier-dune-light.vim
+++ b/colors/base16-atelier-dune-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-dune.vim b/colors/base16-atelier-dune.vim
index b7fbe34..b7eeea9 100644
--- a/colors/base16-atelier-dune.vim
+++ b/colors/base16-atelier-dune.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-estuary-light.vim b/colors/base16-atelier-estuary-light.vim
index 7dd9993..a286c6e 100644
--- a/colors/base16-atelier-estuary-light.vim
+++ b/colors/base16-atelier-estuary-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-estuary.vim b/colors/base16-atelier-estuary.vim
index 6077ada..496c90a 100644
--- a/colors/base16-atelier-estuary.vim
+++ b/colors/base16-atelier-estuary.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-forest-light.vim b/colors/base16-atelier-forest-light.vim
index e4b6193..74fe168 100644
--- a/colors/base16-atelier-forest-light.vim
+++ b/colors/base16-atelier-forest-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-forest.vim b/colors/base16-atelier-forest.vim
index 9f35c9b..c389931 100644
--- a/colors/base16-atelier-forest.vim
+++ b/colors/base16-atelier-forest.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-heath-light.vim b/colors/base16-atelier-heath-light.vim
index b816524..87aabfe 100644
--- a/colors/base16-atelier-heath-light.vim
+++ b/colors/base16-atelier-heath-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-heath.vim b/colors/base16-atelier-heath.vim
index af8242b..e9cee2d 100644
--- a/colors/base16-atelier-heath.vim
+++ b/colors/base16-atelier-heath.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-lakeside-light.vim b/colors/base16-atelier-lakeside-light.vim
index d0dd623..a1bd3ea 100644
--- a/colors/base16-atelier-lakeside-light.vim
+++ b/colors/base16-atelier-lakeside-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-lakeside.vim b/colors/base16-atelier-lakeside.vim
index 9872a10..75f9423 100644
--- a/colors/base16-atelier-lakeside.vim
+++ b/colors/base16-atelier-lakeside.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-plateau-light.vim b/colors/base16-atelier-plateau-light.vim
index 488ca7b..bcafa11 100644
--- a/colors/base16-atelier-plateau-light.vim
+++ b/colors/base16-atelier-plateau-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-plateau.vim b/colors/base16-atelier-plateau.vim
index 3c55db7..23536d3 100644
--- a/colors/base16-atelier-plateau.vim
+++ b/colors/base16-atelier-plateau.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-savanna-light.vim b/colors/base16-atelier-savanna-light.vim
index 5e10447..a5b6e13 100644
--- a/colors/base16-atelier-savanna-light.vim
+++ b/colors/base16-atelier-savanna-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-savanna.vim b/colors/base16-atelier-savanna.vim
index 36631fc..ee05b6f 100644
--- a/colors/base16-atelier-savanna.vim
+++ b/colors/base16-atelier-savanna.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-seaside-light.vim b/colors/base16-atelier-seaside-light.vim
index 2af5ac2..40e3535 100644
--- a/colors/base16-atelier-seaside-light.vim
+++ b/colors/base16-atelier-seaside-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-seaside.vim b/colors/base16-atelier-seaside.vim
index d946a62..bb54fff 100644
--- a/colors/base16-atelier-seaside.vim
+++ b/colors/base16-atelier-seaside.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-sulphurpool-light.vim b/colors/base16-atelier-sulphurpool-light.vim
index d32751f..7bb65bb 100644
--- a/colors/base16-atelier-sulphurpool-light.vim
+++ b/colors/base16-atelier-sulphurpool-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atelier-sulphurpool.vim b/colors/base16-atelier-sulphurpool.vim
index 48c21fe..c51d7e3 100644
--- a/colors/base16-atelier-sulphurpool.vim
+++ b/colors/base16-atelier-sulphurpool.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-atlas.vim b/colors/base16-atlas.vim
index ffab561..bace4d5 100644
--- a/colors/base16-atlas.vim
+++ b/colors/base16-atlas.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-bespin.vim b/colors/base16-bespin.vim
index c9eab75..f109e92 100644
--- a/colors/base16-bespin.vim
+++ b/colors/base16-bespin.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-bathory.vim b/colors/base16-black-metal-bathory.vim
index 80b7afb..b8b96d3 100644
--- a/colors/base16-black-metal-bathory.vim
+++ b/colors/base16-black-metal-bathory.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-burzum.vim b/colors/base16-black-metal-burzum.vim
index 7863a1b..8bfb609 100644
--- a/colors/base16-black-metal-burzum.vim
+++ b/colors/base16-black-metal-burzum.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-dark-funeral.vim b/colors/base16-black-metal-dark-funeral.vim
index 6adc1f5..577fd37 100644
--- a/colors/base16-black-metal-dark-funeral.vim
+++ b/colors/base16-black-metal-dark-funeral.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-gorgoroth.vim b/colors/base16-black-metal-gorgoroth.vim
index 9a68945..99806dc 100644
--- a/colors/base16-black-metal-gorgoroth.vim
+++ b/colors/base16-black-metal-gorgoroth.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-immortal.vim b/colors/base16-black-metal-immortal.vim
index 90f1c94..1516fc1 100644
--- a/colors/base16-black-metal-immortal.vim
+++ b/colors/base16-black-metal-immortal.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-khold.vim b/colors/base16-black-metal-khold.vim
index 3a8e750..3d749eb 100644
--- a/colors/base16-black-metal-khold.vim
+++ b/colors/base16-black-metal-khold.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-marduk.vim b/colors/base16-black-metal-marduk.vim
index 5edccc7..9c385f1 100644
--- a/colors/base16-black-metal-marduk.vim
+++ b/colors/base16-black-metal-marduk.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-mayhem.vim b/colors/base16-black-metal-mayhem.vim
index 3f490d9..f7d92d1 100644
--- a/colors/base16-black-metal-mayhem.vim
+++ b/colors/base16-black-metal-mayhem.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-nile.vim b/colors/base16-black-metal-nile.vim
index f3b7426..f93a67b 100644
--- a/colors/base16-black-metal-nile.vim
+++ b/colors/base16-black-metal-nile.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal-venom.vim b/colors/base16-black-metal-venom.vim
index b94d621..8e466e1 100644
--- a/colors/base16-black-metal-venom.vim
+++ b/colors/base16-black-metal-venom.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-black-metal.vim b/colors/base16-black-metal.vim
index eb44ef5..8ced04a 100644
--- a/colors/base16-black-metal.vim
+++ b/colors/base16-black-metal.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-brewer.vim b/colors/base16-brewer.vim
index ac85dab..9a7582d 100644
--- a/colors/base16-brewer.vim
+++ b/colors/base16-brewer.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-bright.vim b/colors/base16-bright.vim
index 7f94e6f..81ce64f 100644
--- a/colors/base16-bright.vim
+++ b/colors/base16-bright.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-brogrammer.vim b/colors/base16-brogrammer.vim
index 4579ba9..9a50e47 100644
--- a/colors/base16-brogrammer.vim
+++ b/colors/base16-brogrammer.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-brushtrees-dark.vim b/colors/base16-brushtrees-dark.vim
index 9654bd4..ccbe893 100644
--- a/colors/base16-brushtrees-dark.vim
+++ b/colors/base16-brushtrees-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-brushtrees.vim b/colors/base16-brushtrees.vim
index c207903..7dcc690 100644
--- a/colors/base16-brushtrees.vim
+++ b/colors/base16-brushtrees.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-chalk.vim b/colors/base16-chalk.vim
index 63c457d..caa856d 100644
--- a/colors/base16-chalk.vim
+++ b/colors/base16-chalk.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-circus.vim b/colors/base16-circus.vim
index 5c83993..7bd05c7 100644
--- a/colors/base16-circus.vim
+++ b/colors/base16-circus.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-classic-dark.vim b/colors/base16-classic-dark.vim
index 58e05ec..22d1237 100644
--- a/colors/base16-classic-dark.vim
+++ b/colors/base16-classic-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-classic-light.vim b/colors/base16-classic-light.vim
index f70be3c..aba9c86 100644
--- a/colors/base16-classic-light.vim
+++ b/colors/base16-classic-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-codeschool.vim b/colors/base16-codeschool.vim
index 1167208..67821be 100644
--- a/colors/base16-codeschool.vim
+++ b/colors/base16-codeschool.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-cupcake.vim b/colors/base16-cupcake.vim
index e0233f9..c8cb367 100644
--- a/colors/base16-cupcake.vim
+++ b/colors/base16-cupcake.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-cupertino.vim b/colors/base16-cupertino.vim
index 8a1d0d8..95dd4c4 100644
--- a/colors/base16-cupertino.vim
+++ b/colors/base16-cupertino.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-darkmoss.vim b/colors/base16-darkmoss.vim
new file mode 100644
index 0000000..d07438b
--- /dev/null
+++ b/colors/base16-darkmoss.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" darkmoss scheme by Gabriel Avanzi (https://github.com/avanzzzi)
+
+" 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-darkmoss.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "171e1f"
+let g:base16_gui00 = "171e1f"
+let s:gui01 = "252c2d"
+let g:base16_gui01 = "252c2d"
+let s:gui02 = "373c3d"
+let g:base16_gui02 = "373c3d"
+let s:gui03 = "555e5f"
+let g:base16_gui03 = "555e5f"
+let s:gui04 = "818f80"
+let g:base16_gui04 = "818f80"
+let s:gui05 = "c7c7a5"
+let g:base16_gui05 = "c7c7a5"
+let s:gui06 = "e3e3c8"
+let g:base16_gui06 = "e3e3c8"
+let s:gui07 = "e1eaef"
+let g:base16_gui07 = "e1eaef"
+let s:gui08 = "ff4658"
+let g:base16_gui08 = "ff4658"
+let s:gui09 = "e6db74"
+let g:base16_gui09 = "e6db74"
+let s:gui0A = "fdb11f"
+let g:base16_gui0A = "fdb11f"
+let s:gui0B = "499180"
+let g:base16_gui0B = "499180"
+let s:gui0C = "66d9ef"
+let g:base16_gui0C = "66d9ef"
+let s:gui0D = "498091"
+let g:base16_gui0D = "498091"
+let s:gui0E = "9bc0c8"
+let g:base16_gui0E = "9bc0c8"
+let s:gui0F = "d27b53"
+let g:base16_gui0F = "d27b53"
+
+" 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 = "#171e1f"
+ let g:terminal_color_1 = "#ff4658"
+ let g:terminal_color_2 = "#499180"
+ let g:terminal_color_3 = "#fdb11f"
+ let g:terminal_color_4 = "#498091"
+ let g:terminal_color_5 = "#9bc0c8"
+ let g:terminal_color_6 = "#66d9ef"
+ let g:terminal_color_7 = "#c7c7a5"
+ let g:terminal_color_8 = "#555e5f"
+ let g:terminal_color_9 = "#ff4658"
+ let g:terminal_color_10 = "#499180"
+ let g:terminal_color_11 = "#fdb11f"
+ let g:terminal_color_12 = "#498091"
+ let g:terminal_color_13 = "#9bc0c8"
+ let g:terminal_color_14 = "#66d9ef"
+ let g:terminal_color_15 = "#e1eaef"
+ 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 = [
+ \ "#171e1f",
+ \ "#ff4658",
+ \ "#499180",
+ \ "#fdb11f",
+ \ "#498091",
+ \ "#9bc0c8",
+ \ "#66d9ef",
+ \ "#c7c7a5",
+ \ "#555e5f",
+ \ "#ff4658",
+ \ "#499180",
+ \ "#fdb11f",
+ \ "#498091",
+ \ "#9bc0c8",
+ \ "#66d9ef",
+ \ "#e1eaef",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-darkmoss"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-darktooth.vim b/colors/base16-darktooth.vim
index 68d31c7..1a65726 100644
--- a/colors/base16-darktooth.vim
+++ b/colors/base16-darktooth.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-darkviolet.vim b/colors/base16-darkviolet.vim
new file mode 100644
index 0000000..d99bca2
--- /dev/null
+++ b/colors/base16-darkviolet.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Dark Violet scheme by ruler501 (https://github.com/ruler501/base16-darkviolet)
+
+" 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-darkviolet.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "000000"
+let g:base16_gui00 = "000000"
+let s:gui01 = "231a40"
+let g:base16_gui01 = "231a40"
+let s:gui02 = "432d59"
+let g:base16_gui02 = "432d59"
+let s:gui03 = "593380"
+let g:base16_gui03 = "593380"
+let s:gui04 = "00ff00"
+let g:base16_gui04 = "00ff00"
+let s:gui05 = "b08ae6"
+let g:base16_gui05 = "b08ae6"
+let s:gui06 = "9045e6"
+let g:base16_gui06 = "9045e6"
+let s:gui07 = "a366ff"
+let g:base16_gui07 = "a366ff"
+let s:gui08 = "a82ee6"
+let g:base16_gui08 = "a82ee6"
+let s:gui09 = "bb66cc"
+let g:base16_gui09 = "bb66cc"
+let s:gui0A = "f29df2"
+let g:base16_gui0A = "f29df2"
+let s:gui0B = "4595e6"
+let g:base16_gui0B = "4595e6"
+let s:gui0C = "40dfff"
+let g:base16_gui0C = "40dfff"
+let s:gui0D = "4136d9"
+let g:base16_gui0D = "4136d9"
+let s:gui0E = "7e5ce6"
+let g:base16_gui0E = "7e5ce6"
+let s:gui0F = "a886bf"
+let g:base16_gui0F = "a886bf"
+
+" 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 = "#a82ee6"
+ let g:terminal_color_2 = "#4595e6"
+ let g:terminal_color_3 = "#f29df2"
+ let g:terminal_color_4 = "#4136d9"
+ let g:terminal_color_5 = "#7e5ce6"
+ let g:terminal_color_6 = "#40dfff"
+ let g:terminal_color_7 = "#b08ae6"
+ let g:terminal_color_8 = "#593380"
+ let g:terminal_color_9 = "#a82ee6"
+ let g:terminal_color_10 = "#4595e6"
+ let g:terminal_color_11 = "#f29df2"
+ let g:terminal_color_12 = "#4136d9"
+ let g:terminal_color_13 = "#7e5ce6"
+ let g:terminal_color_14 = "#40dfff"
+ let g:terminal_color_15 = "#a366ff"
+ 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",
+ \ "#a82ee6",
+ \ "#4595e6",
+ \ "#f29df2",
+ \ "#4136d9",
+ \ "#7e5ce6",
+ \ "#40dfff",
+ \ "#b08ae6",
+ \ "#593380",
+ \ "#a82ee6",
+ \ "#4595e6",
+ \ "#f29df2",
+ \ "#4136d9",
+ \ "#7e5ce6",
+ \ "#40dfff",
+ \ "#a366ff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-darkviolet"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-decaf.vim b/colors/base16-decaf.vim
new file mode 100644
index 0000000..080909d
--- /dev/null
+++ b/colors/base16-decaf.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Decaf scheme by Alex Mirrington (https://github.com/alexmirrington)
+
+" 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-decaf.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2d2d2d"
+let g:base16_gui00 = "2d2d2d"
+let s:gui01 = "393939"
+let g:base16_gui01 = "393939"
+let s:gui02 = "515151"
+let g:base16_gui02 = "515151"
+let s:gui03 = "777777"
+let g:base16_gui03 = "777777"
+let s:gui04 = "b4b7b4"
+let g:base16_gui04 = "b4b7b4"
+let s:gui05 = "cccccc"
+let g:base16_gui05 = "cccccc"
+let s:gui06 = "e0e0e0"
+let g:base16_gui06 = "e0e0e0"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "ff7f7b"
+let g:base16_gui08 = "ff7f7b"
+let s:gui09 = "ffbf70"
+let g:base16_gui09 = "ffbf70"
+let s:gui0A = "ffd67c"
+let g:base16_gui0A = "ffd67c"
+let s:gui0B = "beda78"
+let g:base16_gui0B = "beda78"
+let s:gui0C = "bed6ff"
+let g:base16_gui0C = "bed6ff"
+let s:gui0D = "90bee1"
+let g:base16_gui0D = "90bee1"
+let s:gui0E = "efb3f7"
+let g:base16_gui0E = "efb3f7"
+let s:gui0F = "ff93b3"
+let g:base16_gui0F = "ff93b3"
+
+" 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 = "#2d2d2d"
+ let g:terminal_color_1 = "#ff7f7b"
+ let g:terminal_color_2 = "#beda78"
+ let g:terminal_color_3 = "#ffd67c"
+ let g:terminal_color_4 = "#90bee1"
+ let g:terminal_color_5 = "#efb3f7"
+ let g:terminal_color_6 = "#bed6ff"
+ let g:terminal_color_7 = "#cccccc"
+ let g:terminal_color_8 = "#777777"
+ let g:terminal_color_9 = "#ff7f7b"
+ let g:terminal_color_10 = "#beda78"
+ let g:terminal_color_11 = "#ffd67c"
+ let g:terminal_color_12 = "#90bee1"
+ let g:terminal_color_13 = "#efb3f7"
+ let g:terminal_color_14 = "#bed6ff"
+ 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 = [
+ \ "#2d2d2d",
+ \ "#ff7f7b",
+ \ "#beda78",
+ \ "#ffd67c",
+ \ "#90bee1",
+ \ "#efb3f7",
+ \ "#bed6ff",
+ \ "#cccccc",
+ \ "#777777",
+ \ "#ff7f7b",
+ \ "#beda78",
+ \ "#ffd67c",
+ \ "#90bee1",
+ \ "#efb3f7",
+ \ "#bed6ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-decaf"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-default-dark.vim b/colors/base16-default-dark.vim
index 1b13793..2dcff3a 100644
--- a/colors/base16-default-dark.vim
+++ b/colors/base16-default-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-default-light.vim b/colors/base16-default-light.vim
index 4e6d410..1807bf9 100644
--- a/colors/base16-default-light.vim
+++ b/colors/base16-default-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-dirtysea.vim b/colors/base16-dirtysea.vim
new file mode 100644
index 0000000..ac0956d
--- /dev/null
+++ b/colors/base16-dirtysea.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" dirtysea scheme by Kahlil (Kal) Hodgson
+
+" 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-dirtysea.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "e0e0e0"
+let g:base16_gui00 = "e0e0e0"
+let s:gui01 = "d0dad0"
+let g:base16_gui01 = "d0dad0"
+let s:gui02 = "d0d0d0"
+let g:base16_gui02 = "d0d0d0"
+let s:gui03 = "707070"
+let g:base16_gui03 = "707070"
+let s:gui04 = "202020"
+let g:base16_gui04 = "202020"
+let s:gui05 = "000000"
+let g:base16_gui05 = "000000"
+let s:gui06 = "f8f8f8"
+let g:base16_gui06 = "f8f8f8"
+let s:gui07 = "c4d9c4"
+let g:base16_gui07 = "c4d9c4"
+let s:gui08 = "840000"
+let g:base16_gui08 = "840000"
+let s:gui09 = "006565"
+let g:base16_gui09 = "006565"
+let s:gui0A = "755B00"
+let g:base16_gui0A = "755B00"
+let s:gui0B = "730073"
+let g:base16_gui0B = "730073"
+let s:gui0C = "755B00"
+let g:base16_gui0C = "755B00"
+let s:gui0D = "007300"
+let g:base16_gui0D = "007300"
+let s:gui0E = "000090"
+let g:base16_gui0E = "000090"
+let s:gui0F = "755B00"
+let g:base16_gui0F = "755B00"
+
+" 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 = "#e0e0e0"
+ let g:terminal_color_1 = "#840000"
+ let g:terminal_color_2 = "#730073"
+ let g:terminal_color_3 = "#755B00"
+ let g:terminal_color_4 = "#007300"
+ let g:terminal_color_5 = "#000090"
+ let g:terminal_color_6 = "#755B00"
+ let g:terminal_color_7 = "#000000"
+ let g:terminal_color_8 = "#707070"
+ let g:terminal_color_9 = "#840000"
+ let g:terminal_color_10 = "#730073"
+ let g:terminal_color_11 = "#755B00"
+ let g:terminal_color_12 = "#007300"
+ let g:terminal_color_13 = "#000090"
+ let g:terminal_color_14 = "#755B00"
+ let g:terminal_color_15 = "#c4d9c4"
+ 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 = [
+ \ "#e0e0e0",
+ \ "#840000",
+ \ "#730073",
+ \ "#755B00",
+ \ "#007300",
+ \ "#000090",
+ \ "#755B00",
+ \ "#000000",
+ \ "#707070",
+ \ "#840000",
+ \ "#730073",
+ \ "#755B00",
+ \ "#007300",
+ \ "#000090",
+ \ "#755B00",
+ \ "#c4d9c4",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-dirtysea"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-dracula.vim b/colors/base16-dracula.vim
index fbd0f4b..4257747 100644
--- a/colors/base16-dracula.vim
+++ b/colors/base16-dracula.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-edge-dark.vim b/colors/base16-edge-dark.vim
new file mode 100644
index 0000000..7266613
--- /dev/null
+++ b/colors/base16-edge-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Edge Dark scheme by cjayross (https://github.com/cjayross)
+
+" 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-edge-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "262729"
+let g:base16_gui00 = "262729"
+let s:gui01 = "88909f"
+let g:base16_gui01 = "88909f"
+let s:gui02 = "b7bec9"
+let g:base16_gui02 = "b7bec9"
+let s:gui03 = "3e4249"
+let g:base16_gui03 = "3e4249"
+let s:gui04 = "73b3e7"
+let g:base16_gui04 = "73b3e7"
+let s:gui05 = "b7bec9"
+let g:base16_gui05 = "b7bec9"
+let s:gui06 = "d390e7"
+let g:base16_gui06 = "d390e7"
+let s:gui07 = "3e4249"
+let g:base16_gui07 = "3e4249"
+let s:gui08 = "e77171"
+let g:base16_gui08 = "e77171"
+let s:gui09 = "e77171"
+let g:base16_gui09 = "e77171"
+let s:gui0A = "dbb774"
+let g:base16_gui0A = "dbb774"
+let s:gui0B = "a1bf78"
+let g:base16_gui0B = "a1bf78"
+let s:gui0C = "5ebaa5"
+let g:base16_gui0C = "5ebaa5"
+let s:gui0D = "73b3e7"
+let g:base16_gui0D = "73b3e7"
+let s:gui0E = "d390e7"
+let g:base16_gui0E = "d390e7"
+let s:gui0F = "5ebaa5"
+let g:base16_gui0F = "5ebaa5"
+
+" 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 = "#262729"
+ let g:terminal_color_1 = "#e77171"
+ let g:terminal_color_2 = "#a1bf78"
+ let g:terminal_color_3 = "#dbb774"
+ let g:terminal_color_4 = "#73b3e7"
+ let g:terminal_color_5 = "#d390e7"
+ let g:terminal_color_6 = "#5ebaa5"
+ let g:terminal_color_7 = "#b7bec9"
+ let g:terminal_color_8 = "#3e4249"
+ let g:terminal_color_9 = "#e77171"
+ let g:terminal_color_10 = "#a1bf78"
+ let g:terminal_color_11 = "#dbb774"
+ let g:terminal_color_12 = "#73b3e7"
+ let g:terminal_color_13 = "#d390e7"
+ let g:terminal_color_14 = "#5ebaa5"
+ let g:terminal_color_15 = "#3e4249"
+ 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 = [
+ \ "#262729",
+ \ "#e77171",
+ \ "#a1bf78",
+ \ "#dbb774",
+ \ "#73b3e7",
+ \ "#d390e7",
+ \ "#5ebaa5",
+ \ "#b7bec9",
+ \ "#3e4249",
+ \ "#e77171",
+ \ "#a1bf78",
+ \ "#dbb774",
+ \ "#73b3e7",
+ \ "#d390e7",
+ \ "#5ebaa5",
+ \ "#3e4249",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-edge-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-edge-light.vim b/colors/base16-edge-light.vim
new file mode 100644
index 0000000..79fdda3
--- /dev/null
+++ b/colors/base16-edge-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Edge Light scheme by cjayross (https://github.com/cjayross)
+
+" 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-edge-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "fafafa"
+let g:base16_gui00 = "fafafa"
+let s:gui01 = "7c9f4b"
+let g:base16_gui01 = "7c9f4b"
+let s:gui02 = "d69822"
+let g:base16_gui02 = "d69822"
+let s:gui03 = "5e646f"
+let g:base16_gui03 = "5e646f"
+let s:gui04 = "6587bf"
+let g:base16_gui04 = "6587bf"
+let s:gui05 = "5e646f"
+let g:base16_gui05 = "5e646f"
+let s:gui06 = "b870ce"
+let g:base16_gui06 = "b870ce"
+let s:gui07 = "5e646f"
+let g:base16_gui07 = "5e646f"
+let s:gui08 = "db7070"
+let g:base16_gui08 = "db7070"
+let s:gui09 = "db7070"
+let g:base16_gui09 = "db7070"
+let s:gui0A = "d69822"
+let g:base16_gui0A = "d69822"
+let s:gui0B = "7c9f4b"
+let g:base16_gui0B = "7c9f4b"
+let s:gui0C = "509c93"
+let g:base16_gui0C = "509c93"
+let s:gui0D = "6587bf"
+let g:base16_gui0D = "6587bf"
+let s:gui0E = "b870ce"
+let g:base16_gui0E = "b870ce"
+let s:gui0F = "509c93"
+let g:base16_gui0F = "509c93"
+
+" 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 = "#db7070"
+ let g:terminal_color_2 = "#7c9f4b"
+ let g:terminal_color_3 = "#d69822"
+ let g:terminal_color_4 = "#6587bf"
+ let g:terminal_color_5 = "#b870ce"
+ let g:terminal_color_6 = "#509c93"
+ let g:terminal_color_7 = "#5e646f"
+ let g:terminal_color_8 = "#5e646f"
+ let g:terminal_color_9 = "#db7070"
+ let g:terminal_color_10 = "#7c9f4b"
+ let g:terminal_color_11 = "#d69822"
+ let g:terminal_color_12 = "#6587bf"
+ let g:terminal_color_13 = "#b870ce"
+ let g:terminal_color_14 = "#509c93"
+ let g:terminal_color_15 = "#5e646f"
+ 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",
+ \ "#db7070",
+ \ "#7c9f4b",
+ \ "#d69822",
+ \ "#6587bf",
+ \ "#b870ce",
+ \ "#509c93",
+ \ "#5e646f",
+ \ "#5e646f",
+ \ "#db7070",
+ \ "#7c9f4b",
+ \ "#d69822",
+ \ "#6587bf",
+ \ "#b870ce",
+ \ "#509c93",
+ \ "#5e646f",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-edge-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-eighties.vim b/colors/base16-eighties.vim
index db81e9f..cc95bb2 100644
--- a/colors/base16-eighties.vim
+++ b/colors/base16-eighties.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-embers.vim b/colors/base16-embers.vim
index a5bfafd..a0c163a 100644
--- a/colors/base16-embers.vim
+++ b/colors/base16-embers.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-equilibrium-dark.vim b/colors/base16-equilibrium-dark.vim
new file mode 100644
index 0000000..a79493e
--- /dev/null
+++ b/colors/base16-equilibrium-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Equilibrium Dark scheme by Carlo Abelli
+
+" 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-equilibrium-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "0c1118"
+let g:base16_gui00 = "0c1118"
+let s:gui01 = "181c22"
+let g:base16_gui01 = "181c22"
+let s:gui02 = "22262d"
+let g:base16_gui02 = "22262d"
+let s:gui03 = "7b776e"
+let g:base16_gui03 = "7b776e"
+let s:gui04 = "949088"
+let g:base16_gui04 = "949088"
+let s:gui05 = "afaba2"
+let g:base16_gui05 = "afaba2"
+let s:gui06 = "cac6bd"
+let g:base16_gui06 = "cac6bd"
+let s:gui07 = "e7e2d9"
+let g:base16_gui07 = "e7e2d9"
+let s:gui08 = "f04339"
+let g:base16_gui08 = "f04339"
+let s:gui09 = "df5923"
+let g:base16_gui09 = "df5923"
+let s:gui0A = "bb8801"
+let g:base16_gui0A = "bb8801"
+let s:gui0B = "7f8b00"
+let g:base16_gui0B = "7f8b00"
+let s:gui0C = "00948b"
+let g:base16_gui0C = "00948b"
+let s:gui0D = "008dd1"
+let g:base16_gui0D = "008dd1"
+let s:gui0E = "6a7fd2"
+let g:base16_gui0E = "6a7fd2"
+let s:gui0F = "e3488e"
+let g:base16_gui0F = "e3488e"
+
+" 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 = "#0c1118"
+ let g:terminal_color_1 = "#f04339"
+ let g:terminal_color_2 = "#7f8b00"
+ let g:terminal_color_3 = "#bb8801"
+ let g:terminal_color_4 = "#008dd1"
+ let g:terminal_color_5 = "#6a7fd2"
+ let g:terminal_color_6 = "#00948b"
+ let g:terminal_color_7 = "#afaba2"
+ let g:terminal_color_8 = "#7b776e"
+ let g:terminal_color_9 = "#f04339"
+ let g:terminal_color_10 = "#7f8b00"
+ let g:terminal_color_11 = "#bb8801"
+ let g:terminal_color_12 = "#008dd1"
+ let g:terminal_color_13 = "#6a7fd2"
+ let g:terminal_color_14 = "#00948b"
+ let g:terminal_color_15 = "#e7e2d9"
+ 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 = [
+ \ "#0c1118",
+ \ "#f04339",
+ \ "#7f8b00",
+ \ "#bb8801",
+ \ "#008dd1",
+ \ "#6a7fd2",
+ \ "#00948b",
+ \ "#afaba2",
+ \ "#7b776e",
+ \ "#f04339",
+ \ "#7f8b00",
+ \ "#bb8801",
+ \ "#008dd1",
+ \ "#6a7fd2",
+ \ "#00948b",
+ \ "#e7e2d9",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-equilibrium-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-equilibrium-gray-dark.vim b/colors/base16-equilibrium-gray-dark.vim
new file mode 100644
index 0000000..4a4c8cc
--- /dev/null
+++ b/colors/base16-equilibrium-gray-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Equilibrium Gray Dark scheme by Carlo Abelli
+
+" 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-equilibrium-gray-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "111111"
+let g:base16_gui00 = "111111"
+let s:gui01 = "1b1b1b"
+let g:base16_gui01 = "1b1b1b"
+let s:gui02 = "262626"
+let g:base16_gui02 = "262626"
+let s:gui03 = "777777"
+let g:base16_gui03 = "777777"
+let s:gui04 = "919191"
+let g:base16_gui04 = "919191"
+let s:gui05 = "ababab"
+let g:base16_gui05 = "ababab"
+let s:gui06 = "c6c6c6"
+let g:base16_gui06 = "c6c6c6"
+let s:gui07 = "e2e2e2"
+let g:base16_gui07 = "e2e2e2"
+let s:gui08 = "f04339"
+let g:base16_gui08 = "f04339"
+let s:gui09 = "df5923"
+let g:base16_gui09 = "df5923"
+let s:gui0A = "bb8801"
+let g:base16_gui0A = "bb8801"
+let s:gui0B = "7f8b00"
+let g:base16_gui0B = "7f8b00"
+let s:gui0C = "00948b"
+let g:base16_gui0C = "00948b"
+let s:gui0D = "008dd1"
+let g:base16_gui0D = "008dd1"
+let s:gui0E = "6a7fd2"
+let g:base16_gui0E = "6a7fd2"
+let s:gui0F = "e3488e"
+let g:base16_gui0F = "e3488e"
+
+" 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 = "#111111"
+ let g:terminal_color_1 = "#f04339"
+ let g:terminal_color_2 = "#7f8b00"
+ let g:terminal_color_3 = "#bb8801"
+ let g:terminal_color_4 = "#008dd1"
+ let g:terminal_color_5 = "#6a7fd2"
+ let g:terminal_color_6 = "#00948b"
+ let g:terminal_color_7 = "#ababab"
+ let g:terminal_color_8 = "#777777"
+ let g:terminal_color_9 = "#f04339"
+ let g:terminal_color_10 = "#7f8b00"
+ let g:terminal_color_11 = "#bb8801"
+ let g:terminal_color_12 = "#008dd1"
+ let g:terminal_color_13 = "#6a7fd2"
+ let g:terminal_color_14 = "#00948b"
+ let g:terminal_color_15 = "#e2e2e2"
+ 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 = [
+ \ "#111111",
+ \ "#f04339",
+ \ "#7f8b00",
+ \ "#bb8801",
+ \ "#008dd1",
+ \ "#6a7fd2",
+ \ "#00948b",
+ \ "#ababab",
+ \ "#777777",
+ \ "#f04339",
+ \ "#7f8b00",
+ \ "#bb8801",
+ \ "#008dd1",
+ \ "#6a7fd2",
+ \ "#00948b",
+ \ "#e2e2e2",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-equilibrium-gray-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-equilibrium-gray-light.vim b/colors/base16-equilibrium-gray-light.vim
new file mode 100644
index 0000000..36e1c8e
--- /dev/null
+++ b/colors/base16-equilibrium-gray-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Equilibrium Gray Light scheme by Carlo Abelli
+
+" 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-equilibrium-gray-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f1f1f1"
+let g:base16_gui00 = "f1f1f1"
+let s:gui01 = "e2e2e2"
+let g:base16_gui01 = "e2e2e2"
+let s:gui02 = "d4d4d4"
+let g:base16_gui02 = "d4d4d4"
+let s:gui03 = "777777"
+let g:base16_gui03 = "777777"
+let s:gui04 = "5e5e5e"
+let g:base16_gui04 = "5e5e5e"
+let s:gui05 = "474747"
+let g:base16_gui05 = "474747"
+let s:gui06 = "303030"
+let g:base16_gui06 = "303030"
+let s:gui07 = "1b1b1b"
+let g:base16_gui07 = "1b1b1b"
+let s:gui08 = "d02023"
+let g:base16_gui08 = "d02023"
+let s:gui09 = "bf3e05"
+let g:base16_gui09 = "bf3e05"
+let s:gui0A = "9d6f00"
+let g:base16_gui0A = "9d6f00"
+let s:gui0B = "637200"
+let g:base16_gui0B = "637200"
+let s:gui0C = "007a72"
+let g:base16_gui0C = "007a72"
+let s:gui0D = "0073b5"
+let g:base16_gui0D = "0073b5"
+let s:gui0E = "4e66b6"
+let g:base16_gui0E = "4e66b6"
+let s:gui0F = "c42775"
+let g:base16_gui0F = "c42775"
+
+" 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 = "#f1f1f1"
+ let g:terminal_color_1 = "#d02023"
+ let g:terminal_color_2 = "#637200"
+ let g:terminal_color_3 = "#9d6f00"
+ let g:terminal_color_4 = "#0073b5"
+ let g:terminal_color_5 = "#4e66b6"
+ let g:terminal_color_6 = "#007a72"
+ let g:terminal_color_7 = "#474747"
+ let g:terminal_color_8 = "#777777"
+ let g:terminal_color_9 = "#d02023"
+ let g:terminal_color_10 = "#637200"
+ let g:terminal_color_11 = "#9d6f00"
+ let g:terminal_color_12 = "#0073b5"
+ let g:terminal_color_13 = "#4e66b6"
+ let g:terminal_color_14 = "#007a72"
+ let g:terminal_color_15 = "#1b1b1b"
+ 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 = [
+ \ "#f1f1f1",
+ \ "#d02023",
+ \ "#637200",
+ \ "#9d6f00",
+ \ "#0073b5",
+ \ "#4e66b6",
+ \ "#007a72",
+ \ "#474747",
+ \ "#777777",
+ \ "#d02023",
+ \ "#637200",
+ \ "#9d6f00",
+ \ "#0073b5",
+ \ "#4e66b6",
+ \ "#007a72",
+ \ "#1b1b1b",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-equilibrium-gray-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-equilibrium-light.vim b/colors/base16-equilibrium-light.vim
new file mode 100644
index 0000000..7c53ba9
--- /dev/null
+++ b/colors/base16-equilibrium-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Equilibrium Light scheme by Carlo Abelli
+
+" 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-equilibrium-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f5f0e7"
+let g:base16_gui00 = "f5f0e7"
+let s:gui01 = "e7e2d9"
+let g:base16_gui01 = "e7e2d9"
+let s:gui02 = "d8d4cb"
+let g:base16_gui02 = "d8d4cb"
+let s:gui03 = "73777f"
+let g:base16_gui03 = "73777f"
+let s:gui04 = "5a5f66"
+let g:base16_gui04 = "5a5f66"
+let s:gui05 = "43474e"
+let g:base16_gui05 = "43474e"
+let s:gui06 = "2c3138"
+let g:base16_gui06 = "2c3138"
+let s:gui07 = "181c22"
+let g:base16_gui07 = "181c22"
+let s:gui08 = "d02023"
+let g:base16_gui08 = "d02023"
+let s:gui09 = "bf3e05"
+let g:base16_gui09 = "bf3e05"
+let s:gui0A = "9d6f00"
+let g:base16_gui0A = "9d6f00"
+let s:gui0B = "637200"
+let g:base16_gui0B = "637200"
+let s:gui0C = "007a72"
+let g:base16_gui0C = "007a72"
+let s:gui0D = "0073b5"
+let g:base16_gui0D = "0073b5"
+let s:gui0E = "4e66b6"
+let g:base16_gui0E = "4e66b6"
+let s:gui0F = "c42775"
+let g:base16_gui0F = "c42775"
+
+" 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 = "#f5f0e7"
+ let g:terminal_color_1 = "#d02023"
+ let g:terminal_color_2 = "#637200"
+ let g:terminal_color_3 = "#9d6f00"
+ let g:terminal_color_4 = "#0073b5"
+ let g:terminal_color_5 = "#4e66b6"
+ let g:terminal_color_6 = "#007a72"
+ let g:terminal_color_7 = "#43474e"
+ let g:terminal_color_8 = "#73777f"
+ let g:terminal_color_9 = "#d02023"
+ let g:terminal_color_10 = "#637200"
+ let g:terminal_color_11 = "#9d6f00"
+ let g:terminal_color_12 = "#0073b5"
+ let g:terminal_color_13 = "#4e66b6"
+ let g:terminal_color_14 = "#007a72"
+ let g:terminal_color_15 = "#181c22"
+ 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 = [
+ \ "#f5f0e7",
+ \ "#d02023",
+ \ "#637200",
+ \ "#9d6f00",
+ \ "#0073b5",
+ \ "#4e66b6",
+ \ "#007a72",
+ \ "#43474e",
+ \ "#73777f",
+ \ "#d02023",
+ \ "#637200",
+ \ "#9d6f00",
+ \ "#0073b5",
+ \ "#4e66b6",
+ \ "#007a72",
+ \ "#181c22",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-equilibrium-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-espresso.vim b/colors/base16-espresso.vim
new file mode 100644
index 0000000..244c1fe
--- /dev/null
+++ b/colors/base16-espresso.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Espresso scheme by Alex Mirrington (https://github.com/alexmirrington)
+
+" 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-espresso.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2d2d2d"
+let g:base16_gui00 = "2d2d2d"
+let s:gui01 = "393939"
+let g:base16_gui01 = "393939"
+let s:gui02 = "515151"
+let g:base16_gui02 = "515151"
+let s:gui03 = "777777"
+let g:base16_gui03 = "777777"
+let s:gui04 = "b4b7b4"
+let g:base16_gui04 = "b4b7b4"
+let s:gui05 = "cccccc"
+let g:base16_gui05 = "cccccc"
+let s:gui06 = "e0e0e0"
+let g:base16_gui06 = "e0e0e0"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "d25252"
+let g:base16_gui08 = "d25252"
+let s:gui09 = "f9a959"
+let g:base16_gui09 = "f9a959"
+let s:gui0A = "ffc66d"
+let g:base16_gui0A = "ffc66d"
+let s:gui0B = "a5c261"
+let g:base16_gui0B = "a5c261"
+let s:gui0C = "bed6ff"
+let g:base16_gui0C = "bed6ff"
+let s:gui0D = "6c99bb"
+let g:base16_gui0D = "6c99bb"
+let s:gui0E = "d197d9"
+let g:base16_gui0E = "d197d9"
+let s:gui0F = "f97394"
+let g:base16_gui0F = "f97394"
+
+" 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 = "#2d2d2d"
+ let g:terminal_color_1 = "#d25252"
+ let g:terminal_color_2 = "#a5c261"
+ let g:terminal_color_3 = "#ffc66d"
+ let g:terminal_color_4 = "#6c99bb"
+ let g:terminal_color_5 = "#d197d9"
+ let g:terminal_color_6 = "#bed6ff"
+ let g:terminal_color_7 = "#cccccc"
+ let g:terminal_color_8 = "#777777"
+ let g:terminal_color_9 = "#d25252"
+ let g:terminal_color_10 = "#a5c261"
+ let g:terminal_color_11 = "#ffc66d"
+ let g:terminal_color_12 = "#6c99bb"
+ let g:terminal_color_13 = "#d197d9"
+ let g:terminal_color_14 = "#bed6ff"
+ 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 = [
+ \ "#2d2d2d",
+ \ "#d25252",
+ \ "#a5c261",
+ \ "#ffc66d",
+ \ "#6c99bb",
+ \ "#d197d9",
+ \ "#bed6ff",
+ \ "#cccccc",
+ \ "#777777",
+ \ "#d25252",
+ \ "#a5c261",
+ \ "#ffc66d",
+ \ "#6c99bb",
+ \ "#d197d9",
+ \ "#bed6ff",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-espresso"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-eva-dim.vim b/colors/base16-eva-dim.vim
new file mode 100644
index 0000000..4871f53
--- /dev/null
+++ b/colors/base16-eva-dim.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Eva Dim scheme by kjakapat (https://github.com/kjakapat)
+
+" 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-eva-dim.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2a3b4d"
+let g:base16_gui00 = "2a3b4d"
+let s:gui01 = "3d566f"
+let g:base16_gui01 = "3d566f"
+let s:gui02 = "4b6988"
+let g:base16_gui02 = "4b6988"
+let s:gui03 = "55799c"
+let g:base16_gui03 = "55799c"
+let s:gui04 = "7e90a3"
+let g:base16_gui04 = "7e90a3"
+let s:gui05 = "9fa2a6"
+let g:base16_gui05 = "9fa2a6"
+let s:gui06 = "d6d7d9"
+let g:base16_gui06 = "d6d7d9"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "c4676c"
+let g:base16_gui08 = "c4676c"
+let s:gui09 = "ff9966"
+let g:base16_gui09 = "ff9966"
+let s:gui0A = "cfd05d"
+let g:base16_gui0A = "cfd05d"
+let s:gui0B = "5de561"
+let g:base16_gui0B = "5de561"
+let s:gui0C = "4b8f77"
+let g:base16_gui0C = "4b8f77"
+let s:gui0D = "1ae1dc"
+let g:base16_gui0D = "1ae1dc"
+let s:gui0E = "9c6cd3"
+let g:base16_gui0E = "9c6cd3"
+let s:gui0F = "bb64a9"
+let g:base16_gui0F = "bb64a9"
+
+" 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 = "#2a3b4d"
+ let g:terminal_color_1 = "#c4676c"
+ let g:terminal_color_2 = "#5de561"
+ let g:terminal_color_3 = "#cfd05d"
+ let g:terminal_color_4 = "#1ae1dc"
+ let g:terminal_color_5 = "#9c6cd3"
+ let g:terminal_color_6 = "#4b8f77"
+ let g:terminal_color_7 = "#9fa2a6"
+ let g:terminal_color_8 = "#55799c"
+ let g:terminal_color_9 = "#c4676c"
+ let g:terminal_color_10 = "#5de561"
+ let g:terminal_color_11 = "#cfd05d"
+ let g:terminal_color_12 = "#1ae1dc"
+ let g:terminal_color_13 = "#9c6cd3"
+ let g:terminal_color_14 = "#4b8f77"
+ 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 = [
+ \ "#2a3b4d",
+ \ "#c4676c",
+ \ "#5de561",
+ \ "#cfd05d",
+ \ "#1ae1dc",
+ \ "#9c6cd3",
+ \ "#4b8f77",
+ \ "#9fa2a6",
+ \ "#55799c",
+ \ "#c4676c",
+ \ "#5de561",
+ \ "#cfd05d",
+ \ "#1ae1dc",
+ \ "#9c6cd3",
+ \ "#4b8f77",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-eva-dim"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-eva.vim b/colors/base16-eva.vim
new file mode 100644
index 0000000..a989052
--- /dev/null
+++ b/colors/base16-eva.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Eva scheme by kjakapat (https://github.com/kjakapat)
+
+" 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-eva.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2a3b4d"
+let g:base16_gui00 = "2a3b4d"
+let s:gui01 = "3d566f"
+let g:base16_gui01 = "3d566f"
+let s:gui02 = "4b6988"
+let g:base16_gui02 = "4b6988"
+let s:gui03 = "55799c"
+let g:base16_gui03 = "55799c"
+let s:gui04 = "7e90a3"
+let g:base16_gui04 = "7e90a3"
+let s:gui05 = "9fa2a6"
+let g:base16_gui05 = "9fa2a6"
+let s:gui06 = "d6d7d9"
+let g:base16_gui06 = "d6d7d9"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "c4676c"
+let g:base16_gui08 = "c4676c"
+let s:gui09 = "ff9966"
+let g:base16_gui09 = "ff9966"
+let s:gui0A = "ffff66"
+let g:base16_gui0A = "ffff66"
+let s:gui0B = "66ff66"
+let g:base16_gui0B = "66ff66"
+let s:gui0C = "4b8f77"
+let g:base16_gui0C = "4b8f77"
+let s:gui0D = "15f4ee"
+let g:base16_gui0D = "15f4ee"
+let s:gui0E = "9c6cd3"
+let g:base16_gui0E = "9c6cd3"
+let s:gui0F = "bb64a9"
+let g:base16_gui0F = "bb64a9"
+
+" 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 = "#2a3b4d"
+ let g:terminal_color_1 = "#c4676c"
+ let g:terminal_color_2 = "#66ff66"
+ let g:terminal_color_3 = "#ffff66"
+ let g:terminal_color_4 = "#15f4ee"
+ let g:terminal_color_5 = "#9c6cd3"
+ let g:terminal_color_6 = "#4b8f77"
+ let g:terminal_color_7 = "#9fa2a6"
+ let g:terminal_color_8 = "#55799c"
+ let g:terminal_color_9 = "#c4676c"
+ let g:terminal_color_10 = "#66ff66"
+ let g:terminal_color_11 = "#ffff66"
+ let g:terminal_color_12 = "#15f4ee"
+ let g:terminal_color_13 = "#9c6cd3"
+ let g:terminal_color_14 = "#4b8f77"
+ 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 = [
+ \ "#2a3b4d",
+ \ "#c4676c",
+ \ "#66ff66",
+ \ "#ffff66",
+ \ "#15f4ee",
+ \ "#9c6cd3",
+ \ "#4b8f77",
+ \ "#9fa2a6",
+ \ "#55799c",
+ \ "#c4676c",
+ \ "#66ff66",
+ \ "#ffff66",
+ \ "#15f4ee",
+ \ "#9c6cd3",
+ \ "#4b8f77",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-eva"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-flat.vim b/colors/base16-flat.vim
index b7270b5..761643e 100644
--- a/colors/base16-flat.vim
+++ b/colors/base16-flat.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-framer.vim b/colors/base16-framer.vim
new file mode 100644
index 0000000..9e854bb
--- /dev/null
+++ b/colors/base16-framer.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Framer scheme by Framer (Maintained by Jesse Hoyos)
+
+" 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-framer.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "181818"
+let g:base16_gui00 = "181818"
+let s:gui01 = "151515"
+let g:base16_gui01 = "151515"
+let s:gui02 = "464646"
+let g:base16_gui02 = "464646"
+let s:gui03 = "747474"
+let g:base16_gui03 = "747474"
+let s:gui04 = "B9B9B9"
+let g:base16_gui04 = "B9B9B9"
+let s:gui05 = "D0D0D0"
+let g:base16_gui05 = "D0D0D0"
+let s:gui06 = "E8E8E8"
+let g:base16_gui06 = "E8E8E8"
+let s:gui07 = "EEEEEE"
+let g:base16_gui07 = "EEEEEE"
+let s:gui08 = "FD886B"
+let g:base16_gui08 = "FD886B"
+let s:gui09 = "FC4769"
+let g:base16_gui09 = "FC4769"
+let s:gui0A = "FECB6E"
+let g:base16_gui0A = "FECB6E"
+let s:gui0B = "32CCDC"
+let g:base16_gui0B = "32CCDC"
+let s:gui0C = "ACDDFD"
+let g:base16_gui0C = "ACDDFD"
+let s:gui0D = "20BCFC"
+let g:base16_gui0D = "20BCFC"
+let s:gui0E = "BA8CFC"
+let g:base16_gui0E = "BA8CFC"
+let s:gui0F = "B15F4A"
+let g:base16_gui0F = "B15F4A"
+
+" 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 = "#FD886B"
+ let g:terminal_color_2 = "#32CCDC"
+ let g:terminal_color_3 = "#FECB6E"
+ let g:terminal_color_4 = "#20BCFC"
+ let g:terminal_color_5 = "#BA8CFC"
+ let g:terminal_color_6 = "#ACDDFD"
+ let g:terminal_color_7 = "#D0D0D0"
+ let g:terminal_color_8 = "#747474"
+ let g:terminal_color_9 = "#FD886B"
+ let g:terminal_color_10 = "#32CCDC"
+ let g:terminal_color_11 = "#FECB6E"
+ let g:terminal_color_12 = "#20BCFC"
+ let g:terminal_color_13 = "#BA8CFC"
+ let g:terminal_color_14 = "#ACDDFD"
+ let g:terminal_color_15 = "#EEEEEE"
+ 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",
+ \ "#FD886B",
+ \ "#32CCDC",
+ \ "#FECB6E",
+ \ "#20BCFC",
+ \ "#BA8CFC",
+ \ "#ACDDFD",
+ \ "#D0D0D0",
+ \ "#747474",
+ \ "#FD886B",
+ \ "#32CCDC",
+ \ "#FECB6E",
+ \ "#20BCFC",
+ \ "#BA8CFC",
+ \ "#ACDDFD",
+ \ "#EEEEEE",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-framer"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-fruit-soda.vim b/colors/base16-fruit-soda.vim
index 24a44e8..e565c12 100644
--- a/colors/base16-fruit-soda.vim
+++ b/colors/base16-fruit-soda.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gigavolt.vim b/colors/base16-gigavolt.vim
new file mode 100644
index 0000000..d617646
--- /dev/null
+++ b/colors/base16-gigavolt.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Gigavolt scheme by Aidan Swope (http://github.com/Whillikers)
+
+" 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-gigavolt.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "202126"
+let g:base16_gui00 = "202126"
+let s:gui01 = "2d303d"
+let g:base16_gui01 = "2d303d"
+let s:gui02 = "5a576e"
+let g:base16_gui02 = "5a576e"
+let s:gui03 = "a1d2e6"
+let g:base16_gui03 = "a1d2e6"
+let s:gui04 = "cad3ff"
+let g:base16_gui04 = "cad3ff"
+let s:gui05 = "e9e7e1"
+let g:base16_gui05 = "e9e7e1"
+let s:gui06 = "eff0f9"
+let g:base16_gui06 = "eff0f9"
+let s:gui07 = "f2fbff"
+let g:base16_gui07 = "f2fbff"
+let s:gui08 = "ff661a"
+let g:base16_gui08 = "ff661a"
+let s:gui09 = "19f988"
+let g:base16_gui09 = "19f988"
+let s:gui0A = "ffdc2d"
+let g:base16_gui0A = "ffdc2d"
+let s:gui0B = "f2e6a9"
+let g:base16_gui0B = "f2e6a9"
+let s:gui0C = "fb6acb"
+let g:base16_gui0C = "fb6acb"
+let s:gui0D = "40bfff"
+let g:base16_gui0D = "40bfff"
+let s:gui0E = "ae94f9"
+let g:base16_gui0E = "ae94f9"
+let s:gui0F = "6187ff"
+let g:base16_gui0F = "6187ff"
+
+" 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 = "#202126"
+ let g:terminal_color_1 = "#ff661a"
+ let g:terminal_color_2 = "#f2e6a9"
+ let g:terminal_color_3 = "#ffdc2d"
+ let g:terminal_color_4 = "#40bfff"
+ let g:terminal_color_5 = "#ae94f9"
+ let g:terminal_color_6 = "#fb6acb"
+ let g:terminal_color_7 = "#e9e7e1"
+ let g:terminal_color_8 = "#a1d2e6"
+ let g:terminal_color_9 = "#ff661a"
+ let g:terminal_color_10 = "#f2e6a9"
+ let g:terminal_color_11 = "#ffdc2d"
+ let g:terminal_color_12 = "#40bfff"
+ let g:terminal_color_13 = "#ae94f9"
+ let g:terminal_color_14 = "#fb6acb"
+ let g:terminal_color_15 = "#f2fbff"
+ 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 = [
+ \ "#202126",
+ \ "#ff661a",
+ \ "#f2e6a9",
+ \ "#ffdc2d",
+ \ "#40bfff",
+ \ "#ae94f9",
+ \ "#fb6acb",
+ \ "#e9e7e1",
+ \ "#a1d2e6",
+ \ "#ff661a",
+ \ "#f2e6a9",
+ \ "#ffdc2d",
+ \ "#40bfff",
+ \ "#ae94f9",
+ \ "#fb6acb",
+ \ "#f2fbff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-gigavolt"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-github.vim b/colors/base16-github.vim
index 41d2f6c..3d96a30 100644
--- a/colors/base16-github.vim
+++ b/colors/base16-github.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-google-dark.vim b/colors/base16-google-dark.vim
index 660445e..dec440b 100644
--- a/colors/base16-google-dark.vim
+++ b/colors/base16-google-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-google-light.vim b/colors/base16-google-light.vim
index 714a930..4d47ec6 100644
--- a/colors/base16-google-light.vim
+++ b/colors/base16-google-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-grayscale-dark.vim b/colors/base16-grayscale-dark.vim
index d8ae003..8470b5b 100644
--- a/colors/base16-grayscale-dark.vim
+++ b/colors/base16-grayscale-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-grayscale-light.vim b/colors/base16-grayscale-light.vim
index 953fe19..ee6d1b1 100644
--- a/colors/base16-grayscale-light.vim
+++ b/colors/base16-grayscale-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-greenscreen.vim b/colors/base16-greenscreen.vim
index c6b10b1..ae497fa 100644
--- a/colors/base16-greenscreen.vim
+++ b/colors/base16-greenscreen.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-dark-hard.vim b/colors/base16-gruvbox-dark-hard.vim
index 88a0b89..6d5a3d9 100644
--- a/colors/base16-gruvbox-dark-hard.vim
+++ b/colors/base16-gruvbox-dark-hard.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-dark-medium.vim b/colors/base16-gruvbox-dark-medium.vim
index 385fa06..bee9f54 100644
--- a/colors/base16-gruvbox-dark-medium.vim
+++ b/colors/base16-gruvbox-dark-medium.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-dark-pale.vim b/colors/base16-gruvbox-dark-pale.vim
index 396fafc..8ecff7f 100644
--- a/colors/base16-gruvbox-dark-pale.vim
+++ b/colors/base16-gruvbox-dark-pale.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-dark-soft.vim b/colors/base16-gruvbox-dark-soft.vim
index 5d8355c..7e1d18d 100644
--- a/colors/base16-gruvbox-dark-soft.vim
+++ b/colors/base16-gruvbox-dark-soft.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-light-hard.vim b/colors/base16-gruvbox-light-hard.vim
index d1adcdd..8250fa3 100644
--- a/colors/base16-gruvbox-light-hard.vim
+++ b/colors/base16-gruvbox-light-hard.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-light-medium.vim b/colors/base16-gruvbox-light-medium.vim
index 71c4700..c06d207 100644
--- a/colors/base16-gruvbox-light-medium.vim
+++ b/colors/base16-gruvbox-light-medium.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-gruvbox-light-soft.vim b/colors/base16-gruvbox-light-soft.vim
index 501945d..19bd2bf 100644
--- a/colors/base16-gruvbox-light-soft.vim
+++ b/colors/base16-gruvbox-light-soft.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-hardcore.vim b/colors/base16-hardcore.vim
new file mode 100644
index 0000000..ccada2f
--- /dev/null
+++ b/colors/base16-hardcore.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Hardcore scheme by Chris Caller
+
+" 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-hardcore.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "212121"
+let g:base16_gui00 = "212121"
+let s:gui01 = "303030"
+let g:base16_gui01 = "303030"
+let s:gui02 = "353535"
+let g:base16_gui02 = "353535"
+let s:gui03 = "4A4A4A"
+let g:base16_gui03 = "4A4A4A"
+let s:gui04 = "707070"
+let g:base16_gui04 = "707070"
+let s:gui05 = "cdcdcd"
+let g:base16_gui05 = "cdcdcd"
+let s:gui06 = "e5e5e5"
+let g:base16_gui06 = "e5e5e5"
+let s:gui07 = "ffffff"
+let g:base16_gui07 = "ffffff"
+let s:gui08 = "f92672"
+let g:base16_gui08 = "f92672"
+let s:gui09 = "fd971f"
+let g:base16_gui09 = "fd971f"
+let s:gui0A = "e6db74"
+let g:base16_gui0A = "e6db74"
+let s:gui0B = "a6e22e"
+let g:base16_gui0B = "a6e22e"
+let s:gui0C = "708387"
+let g:base16_gui0C = "708387"
+let s:gui0D = "66d9ef"
+let g:base16_gui0D = "66d9ef"
+let s:gui0E = "9e6ffe"
+let g:base16_gui0E = "9e6ffe"
+let s:gui0F = "e8b882"
+let g:base16_gui0F = "e8b882"
+
+" 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 = "#212121"
+ let g:terminal_color_1 = "#f92672"
+ let g:terminal_color_2 = "#a6e22e"
+ let g:terminal_color_3 = "#e6db74"
+ let g:terminal_color_4 = "#66d9ef"
+ let g:terminal_color_5 = "#9e6ffe"
+ let g:terminal_color_6 = "#708387"
+ let g:terminal_color_7 = "#cdcdcd"
+ let g:terminal_color_8 = "#4A4A4A"
+ let g:terminal_color_9 = "#f92672"
+ let g:terminal_color_10 = "#a6e22e"
+ let g:terminal_color_11 = "#e6db74"
+ let g:terminal_color_12 = "#66d9ef"
+ let g:terminal_color_13 = "#9e6ffe"
+ let g:terminal_color_14 = "#708387"
+ 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 = [
+ \ "#212121",
+ \ "#f92672",
+ \ "#a6e22e",
+ \ "#e6db74",
+ \ "#66d9ef",
+ \ "#9e6ffe",
+ \ "#708387",
+ \ "#cdcdcd",
+ \ "#4A4A4A",
+ \ "#f92672",
+ \ "#a6e22e",
+ \ "#e6db74",
+ \ "#66d9ef",
+ \ "#9e6ffe",
+ \ "#708387",
+ \ "#ffffff",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-hardcore"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-harmonic-dark.vim b/colors/base16-harmonic-dark.vim
index fb0e7d1..ee4367a 100644
--- a/colors/base16-harmonic-dark.vim
+++ b/colors/base16-harmonic-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-harmonic-light.vim b/colors/base16-harmonic-light.vim
index bbdb9e3..f6cf74f 100644
--- a/colors/base16-harmonic-light.vim
+++ b/colors/base16-harmonic-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-heetch-light.vim b/colors/base16-heetch-light.vim
index 4fef411..7f439d2 100644
--- a/colors/base16-heetch-light.vim
+++ b/colors/base16-heetch-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-heetch.vim b/colors/base16-heetch.vim
index 0364d75..29a64af 100644
--- a/colors/base16-heetch.vim
+++ b/colors/base16-heetch.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-helios.vim b/colors/base16-helios.vim
index 874dc16..c117210 100644
--- a/colors/base16-helios.vim
+++ b/colors/base16-helios.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-hopscotch.vim b/colors/base16-hopscotch.vim
index b75486f..0dd476e 100644
--- a/colors/base16-hopscotch.vim
+++ b/colors/base16-hopscotch.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-horizon-dark.vim b/colors/base16-horizon-dark.vim
index 639e59e..9f00e74 100644
--- a/colors/base16-horizon-dark.vim
+++ b/colors/base16-horizon-dark.vim
@@ -21,10 +21,10 @@ let s:gui01 = "232530"
let g:base16_gui01 = "232530"
let s:gui02 = "2E303E"
let g:base16_gui02 = "2E303E"
-let s:gui03 = "676A8D"
-let g:base16_gui03 = "676A8D"
-let s:gui04 = "CED1D0"
-let g:base16_gui04 = "CED1D0"
+let s:gui03 = "6F6F70"
+let g:base16_gui03 = "6F6F70"
+let s:gui04 = "9DA0A2"
+let g:base16_gui04 = "9DA0A2"
let s:gui05 = "CBCED0"
let g:base16_gui05 = "CBCED0"
let s:gui06 = "DCDFE4"
@@ -107,7 +107,7 @@ if has("nvim")
let g:terminal_color_5 = "#B072D1"
let g:terminal_color_6 = "#24A8B4"
let g:terminal_color_7 = "#CBCED0"
- let g:terminal_color_8 = "#676A8D"
+ let g:terminal_color_8 = "#6F6F70"
let g:terminal_color_9 = "#E93C58"
let g:terminal_color_10 = "#EFAF8E"
let g:terminal_color_11 = "#EFB993"
@@ -131,7 +131,7 @@ elseif has("terminal")
\ "#B072D1",
\ "#24A8B4",
\ "#CBCED0",
- \ "#676A8D",
+ \ "#6F6F70",
\ "#E93C58",
\ "#EFAF8E",
\ "#EFB993",
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-horizon-light.vim b/colors/base16-horizon-light.vim
new file mode 100644
index 0000000..61621f1
--- /dev/null
+++ b/colors/base16-horizon-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Horizon Light scheme by Michaƫl Ball (http://github.com/michael-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-horizon-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "FDF0ED"
+let g:base16_gui00 = "FDF0ED"
+let s:gui01 = "FADAD1"
+let g:base16_gui01 = "FADAD1"
+let s:gui02 = "F9CBBE"
+let g:base16_gui02 = "F9CBBE"
+let s:gui03 = "BDB3B1"
+let g:base16_gui03 = "BDB3B1"
+let s:gui04 = "948C8A"
+let g:base16_gui04 = "948C8A"
+let s:gui05 = "403C3D"
+let g:base16_gui05 = "403C3D"
+let s:gui06 = "302C2D"
+let g:base16_gui06 = "302C2D"
+let s:gui07 = "201C1D"
+let g:base16_gui07 = "201C1D"
+let s:gui08 = "F7939B"
+let g:base16_gui08 = "F7939B"
+let s:gui09 = "F6661E"
+let g:base16_gui09 = "F6661E"
+let s:gui0A = "FBE0D9"
+let g:base16_gui0A = "FBE0D9"
+let s:gui0B = "94E1B0"
+let g:base16_gui0B = "94E1B0"
+let s:gui0C = "DC3318"
+let g:base16_gui0C = "DC3318"
+let s:gui0D = "DA103F"
+let g:base16_gui0D = "DA103F"
+let s:gui0E = "1D8991"
+let g:base16_gui0E = "1D8991"
+let s:gui0F = "E58C92"
+let g:base16_gui0F = "E58C92"
+
+" 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 = "#FDF0ED"
+ let g:terminal_color_1 = "#F7939B"
+ let g:terminal_color_2 = "#94E1B0"
+ let g:terminal_color_3 = "#FBE0D9"
+ let g:terminal_color_4 = "#DA103F"
+ let g:terminal_color_5 = "#1D8991"
+ let g:terminal_color_6 = "#DC3318"
+ let g:terminal_color_7 = "#403C3D"
+ let g:terminal_color_8 = "#BDB3B1"
+ let g:terminal_color_9 = "#F7939B"
+ let g:terminal_color_10 = "#94E1B0"
+ let g:terminal_color_11 = "#FBE0D9"
+ let g:terminal_color_12 = "#DA103F"
+ let g:terminal_color_13 = "#1D8991"
+ let g:terminal_color_14 = "#DC3318"
+ let g:terminal_color_15 = "#201C1D"
+ 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 = [
+ \ "#FDF0ED",
+ \ "#F7939B",
+ \ "#94E1B0",
+ \ "#FBE0D9",
+ \ "#DA103F",
+ \ "#1D8991",
+ \ "#DC3318",
+ \ "#403C3D",
+ \ "#BDB3B1",
+ \ "#F7939B",
+ \ "#94E1B0",
+ \ "#FBE0D9",
+ \ "#DA103F",
+ \ "#1D8991",
+ \ "#DC3318",
+ \ "#201C1D",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-horizon-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-horizon-terminal-dark.vim b/colors/base16-horizon-terminal-dark.vim
new file mode 100644
index 0000000..c55e71d
--- /dev/null
+++ b/colors/base16-horizon-terminal-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Horizon Dark scheme by Michaƫl Ball (http://github.com/michael-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-horizon-terminal-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1C1E26"
+let g:base16_gui00 = "1C1E26"
+let s:gui01 = "232530"
+let g:base16_gui01 = "232530"
+let s:gui02 = "2E303E"
+let g:base16_gui02 = "2E303E"
+let s:gui03 = "6F6F70"
+let g:base16_gui03 = "6F6F70"
+let s:gui04 = "9DA0A2"
+let g:base16_gui04 = "9DA0A2"
+let s:gui05 = "CBCED0"
+let g:base16_gui05 = "CBCED0"
+let s:gui06 = "DCDFE4"
+let g:base16_gui06 = "DCDFE4"
+let s:gui07 = "E3E6EE"
+let g:base16_gui07 = "E3E6EE"
+let s:gui08 = "E95678"
+let g:base16_gui08 = "E95678"
+let s:gui09 = "FAB795"
+let g:base16_gui09 = "FAB795"
+let s:gui0A = "FAC29A"
+let g:base16_gui0A = "FAC29A"
+let s:gui0B = "29D398"
+let g:base16_gui0B = "29D398"
+let s:gui0C = "59E1E3"
+let g:base16_gui0C = "59E1E3"
+let s:gui0D = "26BBD9"
+let g:base16_gui0D = "26BBD9"
+let s:gui0E = "EE64AC"
+let g:base16_gui0E = "EE64AC"
+let s:gui0F = "F09383"
+let g:base16_gui0F = "F09383"
+
+" 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 = "#1C1E26"
+ let g:terminal_color_1 = "#E95678"
+ let g:terminal_color_2 = "#29D398"
+ let g:terminal_color_3 = "#FAC29A"
+ let g:terminal_color_4 = "#26BBD9"
+ let g:terminal_color_5 = "#EE64AC"
+ let g:terminal_color_6 = "#59E1E3"
+ let g:terminal_color_7 = "#CBCED0"
+ let g:terminal_color_8 = "#6F6F70"
+ let g:terminal_color_9 = "#E95678"
+ let g:terminal_color_10 = "#29D398"
+ let g:terminal_color_11 = "#FAC29A"
+ let g:terminal_color_12 = "#26BBD9"
+ let g:terminal_color_13 = "#EE64AC"
+ let g:terminal_color_14 = "#59E1E3"
+ let g:terminal_color_15 = "#E3E6EE"
+ 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 = [
+ \ "#1C1E26",
+ \ "#E95678",
+ \ "#29D398",
+ \ "#FAC29A",
+ \ "#26BBD9",
+ \ "#EE64AC",
+ \ "#59E1E3",
+ \ "#CBCED0",
+ \ "#6F6F70",
+ \ "#E95678",
+ \ "#29D398",
+ \ "#FAC29A",
+ \ "#26BBD9",
+ \ "#EE64AC",
+ \ "#59E1E3",
+ \ "#E3E6EE",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-horizon-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-horizon-terminal-light.vim b/colors/base16-horizon-terminal-light.vim
new file mode 100644
index 0000000..a0f5930
--- /dev/null
+++ b/colors/base16-horizon-terminal-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Horizon Light scheme by Michaƫl Ball (http://github.com/michael-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-horizon-terminal-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "FDF0ED"
+let g:base16_gui00 = "FDF0ED"
+let s:gui01 = "FADAD1"
+let g:base16_gui01 = "FADAD1"
+let s:gui02 = "F9CBBE"
+let g:base16_gui02 = "F9CBBE"
+let s:gui03 = "BDB3B1"
+let g:base16_gui03 = "BDB3B1"
+let s:gui04 = "948C8A"
+let g:base16_gui04 = "948C8A"
+let s:gui05 = "403C3D"
+let g:base16_gui05 = "403C3D"
+let s:gui06 = "302C2D"
+let g:base16_gui06 = "302C2D"
+let s:gui07 = "201C1D"
+let g:base16_gui07 = "201C1D"
+let s:gui08 = "E95678"
+let g:base16_gui08 = "E95678"
+let s:gui09 = "F9CEC3"
+let g:base16_gui09 = "F9CEC3"
+let s:gui0A = "FADAD1"
+let g:base16_gui0A = "FADAD1"
+let s:gui0B = "29D398"
+let g:base16_gui0B = "29D398"
+let s:gui0C = "59E1E3"
+let g:base16_gui0C = "59E1E3"
+let s:gui0D = "26BBD9"
+let g:base16_gui0D = "26BBD9"
+let s:gui0E = "EE64AC"
+let g:base16_gui0E = "EE64AC"
+let s:gui0F = "F9CBBE"
+let g:base16_gui0F = "F9CBBE"
+
+" 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 = "#FDF0ED"
+ let g:terminal_color_1 = "#E95678"
+ let g:terminal_color_2 = "#29D398"
+ let g:terminal_color_3 = "#FADAD1"
+ let g:terminal_color_4 = "#26BBD9"
+ let g:terminal_color_5 = "#EE64AC"
+ let g:terminal_color_6 = "#59E1E3"
+ let g:terminal_color_7 = "#403C3D"
+ let g:terminal_color_8 = "#BDB3B1"
+ let g:terminal_color_9 = "#E95678"
+ let g:terminal_color_10 = "#29D398"
+ let g:terminal_color_11 = "#FADAD1"
+ let g:terminal_color_12 = "#26BBD9"
+ let g:terminal_color_13 = "#EE64AC"
+ let g:terminal_color_14 = "#59E1E3"
+ let g:terminal_color_15 = "#201C1D"
+ 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 = [
+ \ "#FDF0ED",
+ \ "#E95678",
+ \ "#29D398",
+ \ "#FADAD1",
+ \ "#26BBD9",
+ \ "#EE64AC",
+ \ "#59E1E3",
+ \ "#403C3D",
+ \ "#BDB3B1",
+ \ "#E95678",
+ \ "#29D398",
+ \ "#FADAD1",
+ \ "#26BBD9",
+ \ "#EE64AC",
+ \ "#59E1E3",
+ \ "#201C1D",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-horizon-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-humanoid-dark.vim b/colors/base16-humanoid-dark.vim
new file mode 100644
index 0000000..65cac4c
--- /dev/null
+++ b/colors/base16-humanoid-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Humanoid dark scheme by Thomas (tasmo) Friese
+
+" 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-humanoid-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "232629"
+let g:base16_gui00 = "232629"
+let s:gui01 = "333b3d"
+let g:base16_gui01 = "333b3d"
+let s:gui02 = "484e54"
+let g:base16_gui02 = "484e54"
+let s:gui03 = "60615d"
+let g:base16_gui03 = "60615d"
+let s:gui04 = "c0c0bd"
+let g:base16_gui04 = "c0c0bd"
+let s:gui05 = "f8f8f2"
+let g:base16_gui05 = "f8f8f2"
+let s:gui06 = "fcfcf6"
+let g:base16_gui06 = "fcfcf6"
+let s:gui07 = "fcfcfc"
+let g:base16_gui07 = "fcfcfc"
+let s:gui08 = "f11235"
+let g:base16_gui08 = "f11235"
+let s:gui09 = "ff9505"
+let g:base16_gui09 = "ff9505"
+let s:gui0A = "ffb627"
+let g:base16_gui0A = "ffb627"
+let s:gui0B = "02d849"
+let g:base16_gui0B = "02d849"
+let s:gui0C = "0dd9d6"
+let g:base16_gui0C = "0dd9d6"
+let s:gui0D = "00a6fb"
+let g:base16_gui0D = "00a6fb"
+let s:gui0E = "f15ee3"
+let g:base16_gui0E = "f15ee3"
+let s:gui0F = "b27701"
+let g:base16_gui0F = "b27701"
+
+" 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 = "#232629"
+ let g:terminal_color_1 = "#f11235"
+ let g:terminal_color_2 = "#02d849"
+ let g:terminal_color_3 = "#ffb627"
+ let g:terminal_color_4 = "#00a6fb"
+ let g:terminal_color_5 = "#f15ee3"
+ let g:terminal_color_6 = "#0dd9d6"
+ let g:terminal_color_7 = "#f8f8f2"
+ let g:terminal_color_8 = "#60615d"
+ let g:terminal_color_9 = "#f11235"
+ let g:terminal_color_10 = "#02d849"
+ let g:terminal_color_11 = "#ffb627"
+ let g:terminal_color_12 = "#00a6fb"
+ let g:terminal_color_13 = "#f15ee3"
+ let g:terminal_color_14 = "#0dd9d6"
+ let g:terminal_color_15 = "#fcfcfc"
+ 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 = [
+ \ "#232629",
+ \ "#f11235",
+ \ "#02d849",
+ \ "#ffb627",
+ \ "#00a6fb",
+ \ "#f15ee3",
+ \ "#0dd9d6",
+ \ "#f8f8f2",
+ \ "#60615d",
+ \ "#f11235",
+ \ "#02d849",
+ \ "#ffb627",
+ \ "#00a6fb",
+ \ "#f15ee3",
+ \ "#0dd9d6",
+ \ "#fcfcfc",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-humanoid-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-humanoid-light.vim b/colors/base16-humanoid-light.vim
new file mode 100644
index 0000000..f72c0b9
--- /dev/null
+++ b/colors/base16-humanoid-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Humanoid light scheme by Thomas (tasmo) Friese
+
+" 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-humanoid-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f8f8f2"
+let g:base16_gui00 = "f8f8f2"
+let s:gui01 = "efefe9"
+let g:base16_gui01 = "efefe9"
+let s:gui02 = "deded8"
+let g:base16_gui02 = "deded8"
+let s:gui03 = "c0c0bd"
+let g:base16_gui03 = "c0c0bd"
+let s:gui04 = "60615d"
+let g:base16_gui04 = "60615d"
+let s:gui05 = "232629"
+let g:base16_gui05 = "232629"
+let s:gui06 = "2f3337"
+let g:base16_gui06 = "2f3337"
+let s:gui07 = "070708"
+let g:base16_gui07 = "070708"
+let s:gui08 = "b0151a"
+let g:base16_gui08 = "b0151a"
+let s:gui09 = "ff3d00"
+let g:base16_gui09 = "ff3d00"
+let s:gui0A = "ffb627"
+let g:base16_gui0A = "ffb627"
+let s:gui0B = "388e3c"
+let g:base16_gui0B = "388e3c"
+let s:gui0C = "008e8e"
+let g:base16_gui0C = "008e8e"
+let s:gui0D = "0082c9"
+let g:base16_gui0D = "0082c9"
+let s:gui0E = "700f98"
+let g:base16_gui0E = "700f98"
+let s:gui0F = "b27701"
+let g:base16_gui0F = "b27701"
+
+" 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 = "#f8f8f2"
+ let g:terminal_color_1 = "#b0151a"
+ let g:terminal_color_2 = "#388e3c"
+ let g:terminal_color_3 = "#ffb627"
+ let g:terminal_color_4 = "#0082c9"
+ let g:terminal_color_5 = "#700f98"
+ let g:terminal_color_6 = "#008e8e"
+ let g:terminal_color_7 = "#232629"
+ let g:terminal_color_8 = "#c0c0bd"
+ let g:terminal_color_9 = "#b0151a"
+ let g:terminal_color_10 = "#388e3c"
+ let g:terminal_color_11 = "#ffb627"
+ let g:terminal_color_12 = "#0082c9"
+ let g:terminal_color_13 = "#700f98"
+ let g:terminal_color_14 = "#008e8e"
+ let g:terminal_color_15 = "#070708"
+ 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 = [
+ \ "#f8f8f2",
+ \ "#b0151a",
+ \ "#388e3c",
+ \ "#ffb627",
+ \ "#0082c9",
+ \ "#700f98",
+ \ "#008e8e",
+ \ "#232629",
+ \ "#c0c0bd",
+ \ "#b0151a",
+ \ "#388e3c",
+ \ "#ffb627",
+ \ "#0082c9",
+ \ "#700f98",
+ \ "#008e8e",
+ \ "#070708",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-humanoid-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-ia-dark.vim b/colors/base16-ia-dark.vim
index f358e31..5df461e 100644
--- a/colors/base16-ia-dark.vim
+++ b/colors/base16-ia-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-ia-light.vim b/colors/base16-ia-light.vim
index 2b4e27c..1100a8f 100644
--- a/colors/base16-ia-light.vim
+++ b/colors/base16-ia-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-icy.vim b/colors/base16-icy.vim
index 0cce16f..52306b4 100644
--- a/colors/base16-icy.vim
+++ b/colors/base16-icy.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-irblack.vim b/colors/base16-irblack.vim
index 1eb525b..d1e8e31 100644
--- a/colors/base16-irblack.vim
+++ b/colors/base16-irblack.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-isotope.vim b/colors/base16-isotope.vim
index 6b2d8b1..d6c0707 100644
--- a/colors/base16-isotope.vim
+++ b/colors/base16-isotope.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-kimber.vim b/colors/base16-kimber.vim
new file mode 100644
index 0000000..cf10d90
--- /dev/null
+++ b/colors/base16-kimber.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Kimber scheme by Mishka Nguyen (https://github.com/akhsiM)
+
+" 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-kimber.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "222222"
+let g:base16_gui00 = "222222"
+let s:gui01 = "313131"
+let g:base16_gui01 = "313131"
+let s:gui02 = "555D55"
+let g:base16_gui02 = "555D55"
+let s:gui03 = "644646"
+let g:base16_gui03 = "644646"
+let s:gui04 = "5A5A5A"
+let g:base16_gui04 = "5A5A5A"
+let s:gui05 = "DEDEE7"
+let g:base16_gui05 = "DEDEE7"
+let s:gui06 = "C3C3B4"
+let g:base16_gui06 = "C3C3B4"
+let s:gui07 = "FFFFE6"
+let g:base16_gui07 = "FFFFE6"
+let s:gui08 = "C88C8C"
+let g:base16_gui08 = "C88C8C"
+let s:gui09 = "476C88"
+let g:base16_gui09 = "476C88"
+let s:gui0A = "D8B56D"
+let g:base16_gui0A = "D8B56D"
+let s:gui0B = "99C899"
+let g:base16_gui0B = "99C899"
+let s:gui0C = "78B4B4"
+let g:base16_gui0C = "78B4B4"
+let s:gui0D = "537C9C"
+let g:base16_gui0D = "537C9C"
+let s:gui0E = "86CACD"
+let g:base16_gui0E = "86CACD"
+let s:gui0F = "704F4F"
+let g:base16_gui0F = "704F4F"
+
+" 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 = "#222222"
+ let g:terminal_color_1 = "#C88C8C"
+ let g:terminal_color_2 = "#99C899"
+ let g:terminal_color_3 = "#D8B56D"
+ let g:terminal_color_4 = "#537C9C"
+ let g:terminal_color_5 = "#86CACD"
+ let g:terminal_color_6 = "#78B4B4"
+ let g:terminal_color_7 = "#DEDEE7"
+ let g:terminal_color_8 = "#644646"
+ let g:terminal_color_9 = "#C88C8C"
+ let g:terminal_color_10 = "#99C899"
+ let g:terminal_color_11 = "#D8B56D"
+ let g:terminal_color_12 = "#537C9C"
+ let g:terminal_color_13 = "#86CACD"
+ let g:terminal_color_14 = "#78B4B4"
+ let g:terminal_color_15 = "#FFFFE6"
+ 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 = [
+ \ "#222222",
+ \ "#C88C8C",
+ \ "#99C899",
+ \ "#D8B56D",
+ \ "#537C9C",
+ \ "#86CACD",
+ \ "#78B4B4",
+ \ "#DEDEE7",
+ \ "#644646",
+ \ "#C88C8C",
+ \ "#99C899",
+ \ "#D8B56D",
+ \ "#537C9C",
+ \ "#86CACD",
+ \ "#78B4B4",
+ \ "#FFFFE6",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-kimber"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-macintosh.vim b/colors/base16-macintosh.vim
index af9a39b..47301cf 100644
--- a/colors/base16-macintosh.vim
+++ b/colors/base16-macintosh.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-marrakesh.vim b/colors/base16-marrakesh.vim
index 94dbad0..3bb6d7b 100644
--- a/colors/base16-marrakesh.vim
+++ b/colors/base16-marrakesh.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-materia.vim b/colors/base16-materia.vim
index 5fcf2e6..6a38916 100644
--- a/colors/base16-materia.vim
+++ b/colors/base16-materia.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-material-darker.vim b/colors/base16-material-darker.vim
index 06d637b..b5cf745 100644
--- a/colors/base16-material-darker.vim
+++ b/colors/base16-material-darker.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-material-lighter.vim b/colors/base16-material-lighter.vim
index 66f92bd..8effd73 100644
--- a/colors/base16-material-lighter.vim
+++ b/colors/base16-material-lighter.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-material-palenight.vim b/colors/base16-material-palenight.vim
index f48d767..0b60992 100644
--- a/colors/base16-material-palenight.vim
+++ b/colors/base16-material-palenight.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-material-vivid.vim b/colors/base16-material-vivid.vim
index 6260e1a..4ee19b5 100644
--- a/colors/base16-material-vivid.vim
+++ b/colors/base16-material-vivid.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-material.vim b/colors/base16-material.vim
index 3c494c4..e5c6d5f 100644
--- a/colors/base16-material.vim
+++ b/colors/base16-material.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-mellow-purple.vim b/colors/base16-mellow-purple.vim
index ed3c508..4b73668 100644
--- a/colors/base16-mellow-purple.vim
+++ b/colors/base16-mellow-purple.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-mexico-light.vim b/colors/base16-mexico-light.vim
index 7c6bdc5..af44f43 100644
--- a/colors/base16-mexico-light.vim
+++ b/colors/base16-mexico-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-mocha.vim b/colors/base16-mocha.vim
index 870283b..79ef56c 100644
--- a/colors/base16-mocha.vim
+++ b/colors/base16-mocha.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-monokai.vim b/colors/base16-monokai.vim
index 9930f5d..d1ecbc6 100644
--- a/colors/base16-monokai.vim
+++ b/colors/base16-monokai.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-nebula.vim b/colors/base16-nebula.vim
new file mode 100644
index 0000000..9c08619
--- /dev/null
+++ b/colors/base16-nebula.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Nebula scheme 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-nebula.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "22273b"
+let g:base16_gui00 = "22273b"
+let s:gui01 = "414f60"
+let g:base16_gui01 = "414f60"
+let s:gui02 = "5a8380"
+let g:base16_gui02 = "5a8380"
+let s:gui03 = "6e6f72"
+let g:base16_gui03 = "6e6f72"
+let s:gui04 = "87888b"
+let g:base16_gui04 = "87888b"
+let s:gui05 = "a4a6a9"
+let g:base16_gui05 = "a4a6a9"
+let s:gui06 = "c7c9cd"
+let g:base16_gui06 = "c7c9cd"
+let s:gui07 = "8dbdaa"
+let g:base16_gui07 = "8dbdaa"
+let s:gui08 = "777abc"
+let g:base16_gui08 = "777abc"
+let s:gui09 = "94929e"
+let g:base16_gui09 = "94929e"
+let s:gui0A = "4f9062"
+let g:base16_gui0A = "4f9062"
+let s:gui0B = "6562a8"
+let g:base16_gui0B = "6562a8"
+let s:gui0C = "226f68"
+let g:base16_gui0C = "226f68"
+let s:gui0D = "4d6bb6"
+let g:base16_gui0D = "4d6bb6"
+let s:gui0E = "716cae"
+let g:base16_gui0E = "716cae"
+let s:gui0F = "8c70a7"
+let g:base16_gui0F = "8c70a7"
+
+" 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 = "#22273b"
+ let g:terminal_color_1 = "#777abc"
+ let g:terminal_color_2 = "#6562a8"
+ let g:terminal_color_3 = "#4f9062"
+ let g:terminal_color_4 = "#4d6bb6"
+ let g:terminal_color_5 = "#716cae"
+ let g:terminal_color_6 = "#226f68"
+ let g:terminal_color_7 = "#a4a6a9"
+ let g:terminal_color_8 = "#6e6f72"
+ let g:terminal_color_9 = "#777abc"
+ let g:terminal_color_10 = "#6562a8"
+ let g:terminal_color_11 = "#4f9062"
+ let g:terminal_color_12 = "#4d6bb6"
+ let g:terminal_color_13 = "#716cae"
+ let g:terminal_color_14 = "#226f68"
+ let g:terminal_color_15 = "#8dbdaa"
+ 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 = [
+ \ "#22273b",
+ \ "#777abc",
+ \ "#6562a8",
+ \ "#4f9062",
+ \ "#4d6bb6",
+ \ "#716cae",
+ \ "#226f68",
+ \ "#a4a6a9",
+ \ "#6e6f72",
+ \ "#777abc",
+ \ "#6562a8",
+ \ "#4f9062",
+ \ "#4d6bb6",
+ \ "#716cae",
+ \ "#226f68",
+ \ "#8dbdaa",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-nebula"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-nord.vim b/colors/base16-nord.vim
index b612425..6d2243f 100644
--- a/colors/base16-nord.vim
+++ b/colors/base16-nord.vim
@@ -31,22 +31,22 @@ let s:gui06 = "ECEFF4"
let g:base16_gui06 = "ECEFF4"
let s:gui07 = "8FBCBB"
let g:base16_gui07 = "8FBCBB"
-let s:gui08 = "88C0D0"
-let g:base16_gui08 = "88C0D0"
-let s:gui09 = "81A1C1"
-let g:base16_gui09 = "81A1C1"
-let s:gui0A = "5E81AC"
-let g:base16_gui0A = "5E81AC"
-let s:gui0B = "BF616A"
-let g:base16_gui0B = "BF616A"
-let s:gui0C = "D08770"
-let g:base16_gui0C = "D08770"
-let s:gui0D = "EBCB8B"
-let g:base16_gui0D = "EBCB8B"
-let s:gui0E = "A3BE8C"
-let g:base16_gui0E = "A3BE8C"
-let s:gui0F = "B48EAD"
-let g:base16_gui0F = "B48EAD"
+let s:gui08 = "BF616A"
+let g:base16_gui08 = "BF616A"
+let s:gui09 = "D08770"
+let g:base16_gui09 = "D08770"
+let s:gui0A = "EBCB8B"
+let g:base16_gui0A = "EBCB8B"
+let s:gui0B = "A3BE8C"
+let g:base16_gui0B = "A3BE8C"
+let s:gui0C = "88C0D0"
+let g:base16_gui0C = "88C0D0"
+let s:gui0D = "81A1C1"
+let g:base16_gui0D = "81A1C1"
+let s:gui0E = "B48EAD"
+let g:base16_gui0E = "B48EAD"
+let s:gui0F = "5E81AC"
+let g:base16_gui0F = "5E81AC"
" Terminal color definitions
let s:cterm00 = "00"
@@ -100,20 +100,20 @@ endif
" Neovim terminal colours
if has("nvim")
let g:terminal_color_0 = "#2E3440"
- let g:terminal_color_1 = "#88C0D0"
- let g:terminal_color_2 = "#BF616A"
- let g:terminal_color_3 = "#5E81AC"
- let g:terminal_color_4 = "#EBCB8B"
- let g:terminal_color_5 = "#A3BE8C"
- let g:terminal_color_6 = "#D08770"
+ let g:terminal_color_1 = "#BF616A"
+ let g:terminal_color_2 = "#A3BE8C"
+ let g:terminal_color_3 = "#EBCB8B"
+ let g:terminal_color_4 = "#81A1C1"
+ let g:terminal_color_5 = "#B48EAD"
+ let g:terminal_color_6 = "#88C0D0"
let g:terminal_color_7 = "#E5E9F0"
let g:terminal_color_8 = "#4C566A"
- let g:terminal_color_9 = "#88C0D0"
- let g:terminal_color_10 = "#BF616A"
- let g:terminal_color_11 = "#5E81AC"
- let g:terminal_color_12 = "#EBCB8B"
- let g:terminal_color_13 = "#A3BE8C"
- let g:terminal_color_14 = "#D08770"
+ let g:terminal_color_9 = "#BF616A"
+ let g:terminal_color_10 = "#A3BE8C"
+ let g:terminal_color_11 = "#EBCB8B"
+ let g:terminal_color_12 = "#81A1C1"
+ let g:terminal_color_13 = "#B48EAD"
+ let g:terminal_color_14 = "#88C0D0"
let g:terminal_color_15 = "#8FBCBB"
let g:terminal_color_background = g:terminal_color_0
let g:terminal_color_foreground = g:terminal_color_5
@@ -124,20 +124,20 @@ if has("nvim")
elseif has("terminal")
let g:terminal_ansi_colors = [
\ "#2E3440",
- \ "#88C0D0",
\ "#BF616A",
- \ "#5E81AC",
- \ "#EBCB8B",
\ "#A3BE8C",
- \ "#D08770",
+ \ "#EBCB8B",
+ \ "#81A1C1",
+ \ "#B48EAD",
+ \ "#88C0D0",
\ "#E5E9F0",
\ "#4C566A",
- \ "#88C0D0",
\ "#BF616A",
- \ "#5E81AC",
- \ "#EBCB8B",
\ "#A3BE8C",
- \ "#D08770",
+ \ "#EBCB8B",
+ \ "#81A1C1",
+ \ "#B48EAD",
+ \ "#88C0D0",
\ "#8FBCBB",
\ ]
endif
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-nova.vim b/colors/base16-nova.vim
new file mode 100644
index 0000000..61b4f8c
--- /dev/null
+++ b/colors/base16-nova.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Nova scheme by George Essig (https://github.com/gessig), Trevor D. Miller (https://trevordmiller.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-nova.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "3C4C55"
+let g:base16_gui00 = "3C4C55"
+let s:gui01 = "556873"
+let g:base16_gui01 = "556873"
+let s:gui02 = "6A7D89"
+let g:base16_gui02 = "6A7D89"
+let s:gui03 = "899BA6"
+let g:base16_gui03 = "899BA6"
+let s:gui04 = "899BA6"
+let g:base16_gui04 = "899BA6"
+let s:gui05 = "C5D4DD"
+let g:base16_gui05 = "C5D4DD"
+let s:gui06 = "899BA6"
+let g:base16_gui06 = "899BA6"
+let s:gui07 = "556873"
+let g:base16_gui07 = "556873"
+let s:gui08 = "83AFE5"
+let g:base16_gui08 = "83AFE5"
+let s:gui09 = "7FC1CA"
+let g:base16_gui09 = "7FC1CA"
+let s:gui0A = "A8CE93"
+let g:base16_gui0A = "A8CE93"
+let s:gui0B = "7FC1CA"
+let g:base16_gui0B = "7FC1CA"
+let s:gui0C = "F2C38F"
+let g:base16_gui0C = "F2C38F"
+let s:gui0D = "83AFE5"
+let g:base16_gui0D = "83AFE5"
+let s:gui0E = "9A93E1"
+let g:base16_gui0E = "9A93E1"
+let s:gui0F = "F2C38F"
+let g:base16_gui0F = "F2C38F"
+
+" 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 = "#3C4C55"
+ let g:terminal_color_1 = "#83AFE5"
+ let g:terminal_color_2 = "#7FC1CA"
+ let g:terminal_color_3 = "#A8CE93"
+ let g:terminal_color_4 = "#83AFE5"
+ let g:terminal_color_5 = "#9A93E1"
+ let g:terminal_color_6 = "#F2C38F"
+ let g:terminal_color_7 = "#C5D4DD"
+ let g:terminal_color_8 = "#899BA6"
+ let g:terminal_color_9 = "#83AFE5"
+ let g:terminal_color_10 = "#7FC1CA"
+ let g:terminal_color_11 = "#A8CE93"
+ let g:terminal_color_12 = "#83AFE5"
+ let g:terminal_color_13 = "#9A93E1"
+ let g:terminal_color_14 = "#F2C38F"
+ let g:terminal_color_15 = "#556873"
+ 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 = [
+ \ "#3C4C55",
+ \ "#83AFE5",
+ \ "#7FC1CA",
+ \ "#A8CE93",
+ \ "#83AFE5",
+ \ "#9A93E1",
+ \ "#F2C38F",
+ \ "#C5D4DD",
+ \ "#899BA6",
+ \ "#83AFE5",
+ \ "#7FC1CA",
+ \ "#A8CE93",
+ \ "#83AFE5",
+ \ "#9A93E1",
+ \ "#F2C38F",
+ \ "#556873",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-nova"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-ocean.vim b/colors/base16-ocean.vim
index 60aed2e..f57a993 100644
--- a/colors/base16-ocean.vim
+++ b/colors/base16-ocean.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-oceanicnext.vim b/colors/base16-oceanicnext.vim
index de6406b..f2cd04c 100644
--- a/colors/base16-oceanicnext.vim
+++ b/colors/base16-oceanicnext.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-one-light.vim b/colors/base16-one-light.vim
index 3ef2862..323d143 100644
--- a/colors/base16-one-light.vim
+++ b/colors/base16-one-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-onedark.vim b/colors/base16-onedark.vim
index 8d4f2ee..2743f8e 100644
--- a/colors/base16-onedark.vim
+++ b/colors/base16-onedark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-outrun-dark.vim b/colors/base16-outrun-dark.vim
index 61f4c06..ecc2d1b 100644
--- a/colors/base16-outrun-dark.vim
+++ b/colors/base16-outrun-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-papercolor-dark.vim b/colors/base16-papercolor-dark.vim
index aad141f..138ee07 100644
--- a/colors/base16-papercolor-dark.vim
+++ b/colors/base16-papercolor-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-papercolor-light.vim b/colors/base16-papercolor-light.vim
index 2e4e52f..11bc798 100644
--- a/colors/base16-papercolor-light.vim
+++ b/colors/base16-papercolor-light.vim
@@ -25,12 +25,12 @@ let s:gui03 = "5f8700"
let g:base16_gui03 = "5f8700"
let s:gui04 = "0087af"
let g:base16_gui04 = "0087af"
-let s:gui05 = "878787"
-let g:base16_gui05 = "878787"
+let s:gui05 = "444444"
+let g:base16_gui05 = "444444"
let s:gui06 = "005f87"
let g:base16_gui06 = "005f87"
-let s:gui07 = "444444"
-let g:base16_gui07 = "444444"
+let s:gui07 = "878787"
+let g:base16_gui07 = "878787"
let s:gui08 = "bcbcbc"
let g:base16_gui08 = "bcbcbc"
let s:gui09 = "d70000"
@@ -106,7 +106,7 @@ if has("nvim")
let g:terminal_color_4 = "#d75f00"
let g:terminal_color_5 = "#005faf"
let g:terminal_color_6 = "#d75f00"
- let g:terminal_color_7 = "#878787"
+ let g:terminal_color_7 = "#444444"
let g:terminal_color_8 = "#5f8700"
let g:terminal_color_9 = "#bcbcbc"
let g:terminal_color_10 = "#8700af"
@@ -114,7 +114,7 @@ if has("nvim")
let g:terminal_color_12 = "#d75f00"
let g:terminal_color_13 = "#005faf"
let g:terminal_color_14 = "#d75f00"
- let g:terminal_color_15 = "#444444"
+ let g:terminal_color_15 = "#878787"
let g:terminal_color_background = g:terminal_color_0
let g:terminal_color_foreground = g:terminal_color_5
if &background == "light"
@@ -130,7 +130,7 @@ elseif has("terminal")
\ "#d75f00",
\ "#005faf",
\ "#d75f00",
- \ "#878787",
+ \ "#444444",
\ "#5f8700",
\ "#bcbcbc",
\ "#8700af",
@@ -138,7 +138,7 @@ elseif has("terminal")
\ "#d75f00",
\ "#005faf",
\ "#d75f00",
- \ "#444444",
+ \ "#878787",
\ ]
endif
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-paraiso.vim b/colors/base16-paraiso.vim
index a45544f..6dd48de 100644
--- a/colors/base16-paraiso.vim
+++ b/colors/base16-paraiso.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-pasque.vim b/colors/base16-pasque.vim
new file mode 100644
index 0000000..3710c80
--- /dev/null
+++ b/colors/base16-pasque.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Pasque scheme 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-pasque.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "271C3A"
+let g:base16_gui00 = "271C3A"
+let s:gui01 = "100323"
+let g:base16_gui01 = "100323"
+let s:gui02 = "3E2D5C"
+let g:base16_gui02 = "3E2D5C"
+let s:gui03 = "5D5766"
+let g:base16_gui03 = "5D5766"
+let s:gui04 = "BEBCBF"
+let g:base16_gui04 = "BEBCBF"
+let s:gui05 = "DEDCDF"
+let g:base16_gui05 = "DEDCDF"
+let s:gui06 = "EDEAEF"
+let g:base16_gui06 = "EDEAEF"
+let s:gui07 = "BBAADD"
+let g:base16_gui07 = "BBAADD"
+let s:gui08 = "A92258"
+let g:base16_gui08 = "A92258"
+let s:gui09 = "918889"
+let g:base16_gui09 = "918889"
+let s:gui0A = "804ead"
+let g:base16_gui0A = "804ead"
+let s:gui0B = "C6914B"
+let g:base16_gui0B = "C6914B"
+let s:gui0C = "7263AA"
+let g:base16_gui0C = "7263AA"
+let s:gui0D = "8E7DC6"
+let g:base16_gui0D = "8E7DC6"
+let s:gui0E = "953B9D"
+let g:base16_gui0E = "953B9D"
+let s:gui0F = "59325C"
+let g:base16_gui0F = "59325C"
+
+" 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 = "#271C3A"
+ let g:terminal_color_1 = "#A92258"
+ let g:terminal_color_2 = "#C6914B"
+ let g:terminal_color_3 = "#804ead"
+ let g:terminal_color_4 = "#8E7DC6"
+ let g:terminal_color_5 = "#953B9D"
+ let g:terminal_color_6 = "#7263AA"
+ let g:terminal_color_7 = "#DEDCDF"
+ let g:terminal_color_8 = "#5D5766"
+ let g:terminal_color_9 = "#A92258"
+ let g:terminal_color_10 = "#C6914B"
+ let g:terminal_color_11 = "#804ead"
+ let g:terminal_color_12 = "#8E7DC6"
+ let g:terminal_color_13 = "#953B9D"
+ let g:terminal_color_14 = "#7263AA"
+ let g:terminal_color_15 = "#BBAADD"
+ 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 = [
+ \ "#271C3A",
+ \ "#A92258",
+ \ "#C6914B",
+ \ "#804ead",
+ \ "#8E7DC6",
+ \ "#953B9D",
+ \ "#7263AA",
+ \ "#DEDCDF",
+ \ "#5D5766",
+ \ "#A92258",
+ \ "#C6914B",
+ \ "#804ead",
+ \ "#8E7DC6",
+ \ "#953B9D",
+ \ "#7263AA",
+ \ "#BBAADD",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-pasque"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-phd.vim b/colors/base16-phd.vim
index cc33967..64d2be4 100644
--- a/colors/base16-phd.vim
+++ b/colors/base16-phd.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-pico.vim b/colors/base16-pico.vim
index c6d7eb9..f3df30d 100644
--- a/colors/base16-pico.vim
+++ b/colors/base16-pico.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-pop.vim b/colors/base16-pop.vim
index 0f0cb09..f5cabf9 100644
--- a/colors/base16-pop.vim
+++ b/colors/base16-pop.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-porple.vim b/colors/base16-porple.vim
index 522e9d4..0cc3c32 100644
--- a/colors/base16-porple.vim
+++ b/colors/base16-porple.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-railscasts.vim b/colors/base16-railscasts.vim
index ed08018..e0c88ad 100644
--- a/colors/base16-railscasts.vim
+++ b/colors/base16-railscasts.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-rebecca.vim b/colors/base16-rebecca.vim
index 1fc178d..92cf204 100644
--- a/colors/base16-rebecca.vim
+++ b/colors/base16-rebecca.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-sagelight.vim b/colors/base16-sagelight.vim
new file mode 100644
index 0000000..2d5a7ff
--- /dev/null
+++ b/colors/base16-sagelight.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Sagelight scheme by Carter Veldhuizen
+
+" 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-sagelight.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "f8f8f8"
+let g:base16_gui00 = "f8f8f8"
+let s:gui01 = "e8e8e8"
+let g:base16_gui01 = "e8e8e8"
+let s:gui02 = "d8d8d8"
+let g:base16_gui02 = "d8d8d8"
+let s:gui03 = "b8b8b8"
+let g:base16_gui03 = "b8b8b8"
+let s:gui04 = "585858"
+let g:base16_gui04 = "585858"
+let s:gui05 = "383838"
+let g:base16_gui05 = "383838"
+let s:gui06 = "282828"
+let g:base16_gui06 = "282828"
+let s:gui07 = "181818"
+let g:base16_gui07 = "181818"
+let s:gui08 = "fa8480"
+let g:base16_gui08 = "fa8480"
+let s:gui09 = "ffaa61"
+let g:base16_gui09 = "ffaa61"
+let s:gui0A = "ffdc61"
+let g:base16_gui0A = "ffdc61"
+let s:gui0B = "a0d2c8"
+let g:base16_gui0B = "a0d2c8"
+let s:gui0C = "a2d6f5"
+let g:base16_gui0C = "a2d6f5"
+let s:gui0D = "a0a7d2"
+let g:base16_gui0D = "a0a7d2"
+let s:gui0E = "c8a0d2"
+let g:base16_gui0E = "c8a0d2"
+let s:gui0F = "d2b2a0"
+let g:base16_gui0F = "d2b2a0"
+
+" 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 = "#f8f8f8"
+ let g:terminal_color_1 = "#fa8480"
+ let g:terminal_color_2 = "#a0d2c8"
+ let g:terminal_color_3 = "#ffdc61"
+ let g:terminal_color_4 = "#a0a7d2"
+ let g:terminal_color_5 = "#c8a0d2"
+ let g:terminal_color_6 = "#a2d6f5"
+ let g:terminal_color_7 = "#383838"
+ let g:terminal_color_8 = "#b8b8b8"
+ let g:terminal_color_9 = "#fa8480"
+ let g:terminal_color_10 = "#a0d2c8"
+ let g:terminal_color_11 = "#ffdc61"
+ let g:terminal_color_12 = "#a0a7d2"
+ let g:terminal_color_13 = "#c8a0d2"
+ let g:terminal_color_14 = "#a2d6f5"
+ let g:terminal_color_15 = "#181818"
+ 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 = [
+ \ "#f8f8f8",
+ \ "#fa8480",
+ \ "#a0d2c8",
+ \ "#ffdc61",
+ \ "#a0a7d2",
+ \ "#c8a0d2",
+ \ "#a2d6f5",
+ \ "#383838",
+ \ "#b8b8b8",
+ \ "#fa8480",
+ \ "#a0d2c8",
+ \ "#ffdc61",
+ \ "#a0a7d2",
+ \ "#c8a0d2",
+ \ "#a2d6f5",
+ \ "#181818",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-sagelight"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-sandcastle.vim b/colors/base16-sandcastle.vim
new file mode 100644
index 0000000..b3118a5
--- /dev/null
+++ b/colors/base16-sandcastle.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Sandcastle 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-sandcastle.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "282c34"
+let g:base16_gui00 = "282c34"
+let s:gui01 = "2c323b"
+let g:base16_gui01 = "2c323b"
+let s:gui02 = "3e4451"
+let g:base16_gui02 = "3e4451"
+let s:gui03 = "665c54"
+let g:base16_gui03 = "665c54"
+let s:gui04 = "928374"
+let g:base16_gui04 = "928374"
+let s:gui05 = "a89984"
+let g:base16_gui05 = "a89984"
+let s:gui06 = "d5c4a1"
+let g:base16_gui06 = "d5c4a1"
+let s:gui07 = "fdf4c1"
+let g:base16_gui07 = "fdf4c1"
+let s:gui08 = "83a598"
+let g:base16_gui08 = "83a598"
+let s:gui09 = "a07e3b"
+let g:base16_gui09 = "a07e3b"
+let s:gui0A = "a07e3b"
+let g:base16_gui0A = "a07e3b"
+let s:gui0B = "528b8b"
+let g:base16_gui0B = "528b8b"
+let s:gui0C = "83a598"
+let g:base16_gui0C = "83a598"
+let s:gui0D = "83a598"
+let g:base16_gui0D = "83a598"
+let s:gui0E = "d75f5f"
+let g:base16_gui0E = "d75f5f"
+let s:gui0F = "a87322"
+let g:base16_gui0F = "a87322"
+
+" 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 = "#282c34"
+ let g:terminal_color_1 = "#83a598"
+ let g:terminal_color_2 = "#528b8b"
+ let g:terminal_color_3 = "#a07e3b"
+ let g:terminal_color_4 = "#83a598"
+ let g:terminal_color_5 = "#d75f5f"
+ let g:terminal_color_6 = "#83a598"
+ let g:terminal_color_7 = "#a89984"
+ let g:terminal_color_8 = "#665c54"
+ let g:terminal_color_9 = "#83a598"
+ let g:terminal_color_10 = "#528b8b"
+ let g:terminal_color_11 = "#a07e3b"
+ let g:terminal_color_12 = "#83a598"
+ let g:terminal_color_13 = "#d75f5f"
+ let g:terminal_color_14 = "#83a598"
+ let g:terminal_color_15 = "#fdf4c1"
+ 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 = [
+ \ "#282c34",
+ \ "#83a598",
+ \ "#528b8b",
+ \ "#a07e3b",
+ \ "#83a598",
+ \ "#d75f5f",
+ \ "#83a598",
+ \ "#a89984",
+ \ "#665c54",
+ \ "#83a598",
+ \ "#528b8b",
+ \ "#a07e3b",
+ \ "#83a598",
+ \ "#d75f5f",
+ \ "#83a598",
+ \ "#fdf4c1",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-sandcastle"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-seti.vim b/colors/base16-seti.vim
index fd3d63e..57b81c0 100644
--- a/colors/base16-seti.vim
+++ b/colors/base16-seti.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-shapeshifter.vim b/colors/base16-shapeshifter.vim
index 7f6637e..62c85a2 100644
--- a/colors/base16-shapeshifter.vim
+++ b/colors/base16-shapeshifter.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-silk-dark.vim b/colors/base16-silk-dark.vim
new file mode 100644
index 0000000..7cda06a
--- /dev/null
+++ b/colors/base16-silk-dark.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Silk Dark scheme 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-silk-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "0e3c46"
+let g:base16_gui00 = "0e3c46"
+let s:gui01 = "1D494E"
+let g:base16_gui01 = "1D494E"
+let s:gui02 = "2A5054"
+let g:base16_gui02 = "2A5054"
+let s:gui03 = "587073"
+let g:base16_gui03 = "587073"
+let s:gui04 = "9DC8CD"
+let g:base16_gui04 = "9DC8CD"
+let s:gui05 = "C7DBDD"
+let g:base16_gui05 = "C7DBDD"
+let s:gui06 = "CBF2F7"
+let g:base16_gui06 = "CBF2F7"
+let s:gui07 = "D2FAFF"
+let g:base16_gui07 = "D2FAFF"
+let s:gui08 = "fb6953"
+let g:base16_gui08 = "fb6953"
+let s:gui09 = "fcab74"
+let g:base16_gui09 = "fcab74"
+let s:gui0A = "fce380"
+let g:base16_gui0A = "fce380"
+let s:gui0B = "73d8ad"
+let g:base16_gui0B = "73d8ad"
+let s:gui0C = "3fb2b9"
+let g:base16_gui0C = "3fb2b9"
+let s:gui0D = "46bddd"
+let g:base16_gui0D = "46bddd"
+let s:gui0E = "756b8a"
+let g:base16_gui0E = "756b8a"
+let s:gui0F = "9b647b"
+let g:base16_gui0F = "9b647b"
+
+" 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 = "#0e3c46"
+ let g:terminal_color_1 = "#fb6953"
+ let g:terminal_color_2 = "#73d8ad"
+ let g:terminal_color_3 = "#fce380"
+ let g:terminal_color_4 = "#46bddd"
+ let g:terminal_color_5 = "#756b8a"
+ let g:terminal_color_6 = "#3fb2b9"
+ let g:terminal_color_7 = "#C7DBDD"
+ let g:terminal_color_8 = "#587073"
+ let g:terminal_color_9 = "#fb6953"
+ let g:terminal_color_10 = "#73d8ad"
+ let g:terminal_color_11 = "#fce380"
+ let g:terminal_color_12 = "#46bddd"
+ let g:terminal_color_13 = "#756b8a"
+ let g:terminal_color_14 = "#3fb2b9"
+ let g:terminal_color_15 = "#D2FAFF"
+ 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 = [
+ \ "#0e3c46",
+ \ "#fb6953",
+ \ "#73d8ad",
+ \ "#fce380",
+ \ "#46bddd",
+ \ "#756b8a",
+ \ "#3fb2b9",
+ \ "#C7DBDD",
+ \ "#587073",
+ \ "#fb6953",
+ \ "#73d8ad",
+ \ "#fce380",
+ \ "#46bddd",
+ \ "#756b8a",
+ \ "#3fb2b9",
+ \ "#D2FAFF",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-silk-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-silk-light.vim b/colors/base16-silk-light.vim
new file mode 100644
index 0000000..dda723f
--- /dev/null
+++ b/colors/base16-silk-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Silk Light scheme 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-silk-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "E9F1EF"
+let g:base16_gui00 = "E9F1EF"
+let s:gui01 = "CCD4D3"
+let g:base16_gui01 = "CCD4D3"
+let s:gui02 = "90B7B6"
+let g:base16_gui02 = "90B7B6"
+let s:gui03 = "5C787B"
+let g:base16_gui03 = "5C787B"
+let s:gui04 = "4B5B5F"
+let g:base16_gui04 = "4B5B5F"
+let s:gui05 = "385156"
+let g:base16_gui05 = "385156"
+let s:gui06 = "0e3c46"
+let g:base16_gui06 = "0e3c46"
+let s:gui07 = "D2FAFF"
+let g:base16_gui07 = "D2FAFF"
+let s:gui08 = "CF432E"
+let g:base16_gui08 = "CF432E"
+let s:gui09 = "D27F46"
+let g:base16_gui09 = "D27F46"
+let s:gui0A = "CFAD25"
+let g:base16_gui0A = "CFAD25"
+let s:gui0B = "6CA38C"
+let g:base16_gui0B = "6CA38C"
+let s:gui0C = "329CA2"
+let g:base16_gui0C = "329CA2"
+let s:gui0D = "39AAC9"
+let g:base16_gui0D = "39AAC9"
+let s:gui0E = "6E6582"
+let g:base16_gui0E = "6E6582"
+let s:gui0F = "865369"
+let g:base16_gui0F = "865369"
+
+" 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 = "#E9F1EF"
+ let g:terminal_color_1 = "#CF432E"
+ let g:terminal_color_2 = "#6CA38C"
+ let g:terminal_color_3 = "#CFAD25"
+ let g:terminal_color_4 = "#39AAC9"
+ let g:terminal_color_5 = "#6E6582"
+ let g:terminal_color_6 = "#329CA2"
+ let g:terminal_color_7 = "#385156"
+ let g:terminal_color_8 = "#5C787B"
+ let g:terminal_color_9 = "#CF432E"
+ let g:terminal_color_10 = "#6CA38C"
+ let g:terminal_color_11 = "#CFAD25"
+ let g:terminal_color_12 = "#39AAC9"
+ let g:terminal_color_13 = "#6E6582"
+ let g:terminal_color_14 = "#329CA2"
+ let g:terminal_color_15 = "#D2FAFF"
+ 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 = [
+ \ "#E9F1EF",
+ \ "#CF432E",
+ \ "#6CA38C",
+ \ "#CFAD25",
+ \ "#39AAC9",
+ \ "#6E6582",
+ \ "#329CA2",
+ \ "#385156",
+ \ "#5C787B",
+ \ "#CF432E",
+ \ "#6CA38C",
+ \ "#CFAD25",
+ \ "#39AAC9",
+ \ "#6E6582",
+ \ "#329CA2",
+ \ "#D2FAFF",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-silk-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-snazzy.vim b/colors/base16-snazzy.vim
index ff284dc..8beec3f 100644
--- a/colors/base16-snazzy.vim
+++ b/colors/base16-snazzy.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-solarflare-light.vim b/colors/base16-solarflare-light.vim
new file mode 100644
index 0000000..ade7123
--- /dev/null
+++ b/colors/base16-solarflare-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Solar Flare Light scheme by Chuck Harmston (https://chuck.harmston.ch)
+
+" 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-solarflare-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "F5F7FA"
+let g:base16_gui00 = "F5F7FA"
+let s:gui01 = "E8E9ED"
+let g:base16_gui01 = "E8E9ED"
+let s:gui02 = "A6AFB8"
+let g:base16_gui02 = "A6AFB8"
+let s:gui03 = "85939E"
+let g:base16_gui03 = "85939E"
+let s:gui04 = "667581"
+let g:base16_gui04 = "667581"
+let s:gui05 = "586875"
+let g:base16_gui05 = "586875"
+let s:gui06 = "222E38"
+let g:base16_gui06 = "222E38"
+let s:gui07 = "18262F"
+let g:base16_gui07 = "18262F"
+let s:gui08 = "EF5253"
+let g:base16_gui08 = "EF5253"
+let s:gui09 = "E66B2B"
+let g:base16_gui09 = "E66B2B"
+let s:gui0A = "E4B51C"
+let g:base16_gui0A = "E4B51C"
+let s:gui0B = "7CC844"
+let g:base16_gui0B = "7CC844"
+let s:gui0C = "52CBB0"
+let g:base16_gui0C = "52CBB0"
+let s:gui0D = "33B5E1"
+let g:base16_gui0D = "33B5E1"
+let s:gui0E = "A363D5"
+let g:base16_gui0E = "A363D5"
+let s:gui0F = "D73C9A"
+let g:base16_gui0F = "D73C9A"
+
+" 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 = "#F5F7FA"
+ let g:terminal_color_1 = "#EF5253"
+ let g:terminal_color_2 = "#7CC844"
+ let g:terminal_color_3 = "#E4B51C"
+ let g:terminal_color_4 = "#33B5E1"
+ let g:terminal_color_5 = "#A363D5"
+ let g:terminal_color_6 = "#52CBB0"
+ let g:terminal_color_7 = "#586875"
+ let g:terminal_color_8 = "#85939E"
+ let g:terminal_color_9 = "#EF5253"
+ let g:terminal_color_10 = "#7CC844"
+ let g:terminal_color_11 = "#E4B51C"
+ let g:terminal_color_12 = "#33B5E1"
+ let g:terminal_color_13 = "#A363D5"
+ let g:terminal_color_14 = "#52CBB0"
+ let g:terminal_color_15 = "#18262F"
+ 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 = [
+ \ "#F5F7FA",
+ \ "#EF5253",
+ \ "#7CC844",
+ \ "#E4B51C",
+ \ "#33B5E1",
+ \ "#A363D5",
+ \ "#52CBB0",
+ \ "#586875",
+ \ "#85939E",
+ \ "#EF5253",
+ \ "#7CC844",
+ \ "#E4B51C",
+ \ "#33B5E1",
+ \ "#A363D5",
+ \ "#52CBB0",
+ \ "#18262F",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-solarflare-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-solarflare.vim b/colors/base16-solarflare.vim
index 0ff8d14..6eab012 100644
--- a/colors/base16-solarflare.vim
+++ b/colors/base16-solarflare.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-solarized-dark.vim b/colors/base16-solarized-dark.vim
index 2e85eb6..9a31422 100644
--- a/colors/base16-solarized-dark.vim
+++ b/colors/base16-solarized-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-solarized-light.vim b/colors/base16-solarized-light.vim
index 1f40397..3881c74 100644
--- a/colors/base16-solarized-light.vim
+++ b/colors/base16-solarized-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-spacemacs.vim b/colors/base16-spacemacs.vim
index 3532acb..501e691 100644
--- a/colors/base16-spacemacs.vim
+++ b/colors/base16-spacemacs.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-summercamp.vim b/colors/base16-summercamp.vim
new file mode 100644
index 0000000..2ad0ffa
--- /dev/null
+++ b/colors/base16-summercamp.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" summercamp scheme by zoe firi (zoefiri.github.io)
+
+" 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-summercamp.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "1c1810"
+let g:base16_gui00 = "1c1810"
+let s:gui01 = "2a261c"
+let g:base16_gui01 = "2a261c"
+let s:gui02 = "3a3527"
+let g:base16_gui02 = "3a3527"
+let s:gui03 = "504b38"
+let g:base16_gui03 = "504b38"
+let s:gui04 = "5f5b45"
+let g:base16_gui04 = "5f5b45"
+let s:gui05 = "736e55"
+let g:base16_gui05 = "736e55"
+let s:gui06 = "bab696"
+let g:base16_gui06 = "bab696"
+let s:gui07 = "f8f5de"
+let g:base16_gui07 = "f8f5de"
+let s:gui08 = "e35142"
+let g:base16_gui08 = "e35142"
+let s:gui09 = "fba11b"
+let g:base16_gui09 = "fba11b"
+let s:gui0A = "f2ff27"
+let g:base16_gui0A = "f2ff27"
+let s:gui0B = "5ceb5a"
+let g:base16_gui0B = "5ceb5a"
+let s:gui0C = "5aebbc"
+let g:base16_gui0C = "5aebbc"
+let s:gui0D = "489bf0"
+let g:base16_gui0D = "489bf0"
+let s:gui0E = "FF8080"
+let g:base16_gui0E = "FF8080"
+let s:gui0F = "F69BE7"
+let g:base16_gui0F = "F69BE7"
+
+" 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 = "#1c1810"
+ let g:terminal_color_1 = "#e35142"
+ let g:terminal_color_2 = "#5ceb5a"
+ let g:terminal_color_3 = "#f2ff27"
+ let g:terminal_color_4 = "#489bf0"
+ let g:terminal_color_5 = "#FF8080"
+ let g:terminal_color_6 = "#5aebbc"
+ let g:terminal_color_7 = "#736e55"
+ let g:terminal_color_8 = "#504b38"
+ let g:terminal_color_9 = "#e35142"
+ let g:terminal_color_10 = "#5ceb5a"
+ let g:terminal_color_11 = "#f2ff27"
+ let g:terminal_color_12 = "#489bf0"
+ let g:terminal_color_13 = "#FF8080"
+ let g:terminal_color_14 = "#5aebbc"
+ let g:terminal_color_15 = "#f8f5de"
+ 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 = [
+ \ "#1c1810",
+ \ "#e35142",
+ \ "#5ceb5a",
+ \ "#f2ff27",
+ \ "#489bf0",
+ \ "#FF8080",
+ \ "#5aebbc",
+ \ "#736e55",
+ \ "#504b38",
+ \ "#e35142",
+ \ "#5ceb5a",
+ \ "#f2ff27",
+ \ "#489bf0",
+ \ "#FF8080",
+ \ "#5aebbc",
+ \ "#f8f5de",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-summercamp"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-summerfruit-dark.vim b/colors/base16-summerfruit-dark.vim
index 5d398a1..3caafcf 100644
--- a/colors/base16-summerfruit-dark.vim
+++ b/colors/base16-summerfruit-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-summerfruit-light.vim b/colors/base16-summerfruit-light.vim
index 3784c17..1ed4173 100644
--- a/colors/base16-summerfruit-light.vim
+++ b/colors/base16-summerfruit-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-synth-midnight-dark.vim b/colors/base16-synth-midnight-dark.vim
index e8ccfb4..4389e49 100644
--- a/colors/base16-synth-midnight-dark.vim
+++ b/colors/base16-synth-midnight-dark.vim
@@ -2,7 +2,7 @@
" base16-vim (https://github.com/chriskempson/base16-vim)
" by Chris Kempson (http://chriskempson.com)
-" Synth Midnight Dark scheme by Michaƫl Ball (http://github.com/michael-ball/)
+" Synth Midnight Terminal Dark scheme by Michaƫl Ball (http://github.com/michael-ball/)
" This enables the coresponding base16-shell script to run so that
" :colorscheme works in terminals supported by base16-shell scripts
@@ -15,38 +15,38 @@ if !has("gui_running")
endif
" GUI color definitions
-let s:gui00 = "040404"
-let g:base16_gui00 = "040404"
-let s:gui01 = "141414"
-let g:base16_gui01 = "141414"
-let s:gui02 = "242424"
-let g:base16_gui02 = "242424"
-let s:gui03 = "61507A"
-let g:base16_gui03 = "61507A"
-let s:gui04 = "BFBBBF"
-let g:base16_gui04 = "BFBBBF"
-let s:gui05 = "DFDBDF"
-let g:base16_gui05 = "DFDBDF"
-let s:gui06 = "EFEBEF"
-let g:base16_gui06 = "EFEBEF"
-let s:gui07 = "FFFBFF"
-let g:base16_gui07 = "FFFBFF"
-let s:gui08 = "B53B50"
-let g:base16_gui08 = "B53B50"
-let s:gui09 = "E4600E"
-let g:base16_gui09 = "E4600E"
-let s:gui0A = "DAE84D"
-let g:base16_gui0A = "DAE84D"
-let s:gui0B = "06EA61"
-let g:base16_gui0B = "06EA61"
-let s:gui0C = "7CEDE9"
-let g:base16_gui0C = "7CEDE9"
-let s:gui0D = "03AEFF"
-let g:base16_gui0D = "03AEFF"
-let s:gui0E = "EA5CE2"
-let g:base16_gui0E = "EA5CE2"
-let s:gui0F = "9D4D0E"
-let g:base16_gui0F = "9D4D0E"
+let s:gui00 = "050608"
+let g:base16_gui00 = "050608"
+let s:gui01 = "1a1b1c"
+let g:base16_gui01 = "1a1b1c"
+let s:gui02 = "28292a"
+let g:base16_gui02 = "28292a"
+let s:gui03 = "474849"
+let g:base16_gui03 = "474849"
+let s:gui04 = "a3a5a6"
+let g:base16_gui04 = "a3a5a6"
+let s:gui05 = "c1c3c4"
+let g:base16_gui05 = "c1c3c4"
+let s:gui06 = "cfd1d2"
+let g:base16_gui06 = "cfd1d2"
+let s:gui07 = "dddfe0"
+let g:base16_gui07 = "dddfe0"
+let s:gui08 = "b53b50"
+let g:base16_gui08 = "b53b50"
+let s:gui09 = "ea770d"
+let g:base16_gui09 = "ea770d"
+let s:gui0A = "c9d364"
+let g:base16_gui0A = "c9d364"
+let s:gui0B = "06ea61"
+let g:base16_gui0B = "06ea61"
+let s:gui0C = "42fff9"
+let g:base16_gui0C = "42fff9"
+let s:gui0D = "03aeff"
+let g:base16_gui0D = "03aeff"
+let s:gui0E = "ea5ce2"
+let g:base16_gui0E = "ea5ce2"
+let s:gui0F = "cd6320"
+let g:base16_gui0F = "cd6320"
" Terminal color definitions
let s:cterm00 = "00"
@@ -99,22 +99,22 @@ endif
" Neovim terminal colours
if has("nvim")
- let g:terminal_color_0 = "#040404"
- let g:terminal_color_1 = "#B53B50"
- let g:terminal_color_2 = "#06EA61"
- let g:terminal_color_3 = "#DAE84D"
- let g:terminal_color_4 = "#03AEFF"
- let g:terminal_color_5 = "#EA5CE2"
- let g:terminal_color_6 = "#7CEDE9"
- let g:terminal_color_7 = "#DFDBDF"
- let g:terminal_color_8 = "#61507A"
- let g:terminal_color_9 = "#B53B50"
- let g:terminal_color_10 = "#06EA61"
- let g:terminal_color_11 = "#DAE84D"
- let g:terminal_color_12 = "#03AEFF"
- let g:terminal_color_13 = "#EA5CE2"
- let g:terminal_color_14 = "#7CEDE9"
- let g:terminal_color_15 = "#FFFBFF"
+ let g:terminal_color_0 = "#050608"
+ let g:terminal_color_1 = "#b53b50"
+ let g:terminal_color_2 = "#06ea61"
+ let g:terminal_color_3 = "#c9d364"
+ let g:terminal_color_4 = "#03aeff"
+ let g:terminal_color_5 = "#ea5ce2"
+ let g:terminal_color_6 = "#42fff9"
+ let g:terminal_color_7 = "#c1c3c4"
+ let g:terminal_color_8 = "#474849"
+ let g:terminal_color_9 = "#b53b50"
+ let g:terminal_color_10 = "#06ea61"
+ let g:terminal_color_11 = "#c9d364"
+ let g:terminal_color_12 = "#03aeff"
+ let g:terminal_color_13 = "#ea5ce2"
+ let g:terminal_color_14 = "#42fff9"
+ let g:terminal_color_15 = "#dddfe0"
let g:terminal_color_background = g:terminal_color_0
let g:terminal_color_foreground = g:terminal_color_5
if &background == "light"
@@ -123,22 +123,22 @@ if has("nvim")
endif
elseif has("terminal")
let g:terminal_ansi_colors = [
- \ "#040404",
- \ "#B53B50",
- \ "#06EA61",
- \ "#DAE84D",
- \ "#03AEFF",
- \ "#EA5CE2",
- \ "#7CEDE9",
- \ "#DFDBDF",
- \ "#61507A",
- \ "#B53B50",
- \ "#06EA61",
- \ "#DAE84D",
- \ "#03AEFF",
- \ "#EA5CE2",
- \ "#7CEDE9",
- \ "#FFFBFF",
+ \ "#050608",
+ \ "#b53b50",
+ \ "#06ea61",
+ \ "#c9d364",
+ \ "#03aeff",
+ \ "#ea5ce2",
+ \ "#42fff9",
+ \ "#c1c3c4",
+ \ "#474849",
+ \ "#b53b50",
+ \ "#06ea61",
+ \ "#c9d364",
+ \ "#03aeff",
+ \ "#ea5ce2",
+ \ "#42fff9",
+ \ "#dddfe0",
\ ]
endif
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-synth-midnight-light.vim b/colors/base16-synth-midnight-light.vim
new file mode 100644
index 0000000..5fec84f
--- /dev/null
+++ b/colors/base16-synth-midnight-light.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Synth Midnight Terminal Light scheme by Michaƫl Ball (http://github.com/michael-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-synth-midnight-light.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "dddfe0"
+let g:base16_gui00 = "dddfe0"
+let s:gui01 = "cfd1d2"
+let g:base16_gui01 = "cfd1d2"
+let s:gui02 = "c1c3c4"
+let g:base16_gui02 = "c1c3c4"
+let s:gui03 = "a3a5a6"
+let g:base16_gui03 = "a3a5a6"
+let s:gui04 = "474849"
+let g:base16_gui04 = "474849"
+let s:gui05 = "28292a"
+let g:base16_gui05 = "28292a"
+let s:gui06 = "1a1b1c"
+let g:base16_gui06 = "1a1b1c"
+let s:gui07 = "050608"
+let g:base16_gui07 = "050608"
+let s:gui08 = "b53b50"
+let g:base16_gui08 = "b53b50"
+let s:gui09 = "ea770d"
+let g:base16_gui09 = "ea770d"
+let s:gui0A = "c9d364"
+let g:base16_gui0A = "c9d364"
+let s:gui0B = "06ea61"
+let g:base16_gui0B = "06ea61"
+let s:gui0C = "42fff9"
+let g:base16_gui0C = "42fff9"
+let s:gui0D = "03aeff"
+let g:base16_gui0D = "03aeff"
+let s:gui0E = "ea5ce2"
+let g:base16_gui0E = "ea5ce2"
+let s:gui0F = "cd6320"
+let g:base16_gui0F = "cd6320"
+
+" 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 = "#dddfe0"
+ let g:terminal_color_1 = "#b53b50"
+ let g:terminal_color_2 = "#06ea61"
+ let g:terminal_color_3 = "#c9d364"
+ let g:terminal_color_4 = "#03aeff"
+ let g:terminal_color_5 = "#ea5ce2"
+ let g:terminal_color_6 = "#42fff9"
+ let g:terminal_color_7 = "#28292a"
+ let g:terminal_color_8 = "#a3a5a6"
+ let g:terminal_color_9 = "#b53b50"
+ let g:terminal_color_10 = "#06ea61"
+ let g:terminal_color_11 = "#c9d364"
+ let g:terminal_color_12 = "#03aeff"
+ let g:terminal_color_13 = "#ea5ce2"
+ let g:terminal_color_14 = "#42fff9"
+ let g:terminal_color_15 = "#050608"
+ 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 = [
+ \ "#dddfe0",
+ \ "#b53b50",
+ \ "#06ea61",
+ \ "#c9d364",
+ \ "#03aeff",
+ \ "#ea5ce2",
+ \ "#42fff9",
+ \ "#28292a",
+ \ "#a3a5a6",
+ \ "#b53b50",
+ \ "#06ea61",
+ \ "#c9d364",
+ \ "#03aeff",
+ \ "#ea5ce2",
+ \ "#42fff9",
+ \ "#050608",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-synth-midnight-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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-tango.vim b/colors/base16-tango.vim
new file mode 100644
index 0000000..069ca35
--- /dev/null
+++ b/colors/base16-tango.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Tango scheme by @Schnouki, based on the Tango Desktop Project
+
+" 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-tango.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "2e3436"
+let g:base16_gui00 = "2e3436"
+let s:gui01 = "8ae234"
+let g:base16_gui01 = "8ae234"
+let s:gui02 = "fce94f"
+let g:base16_gui02 = "fce94f"
+let s:gui03 = "555753"
+let g:base16_gui03 = "555753"
+let s:gui04 = "729fcf"
+let g:base16_gui04 = "729fcf"
+let s:gui05 = "d3d7cf"
+let g:base16_gui05 = "d3d7cf"
+let s:gui06 = "ad7fa8"
+let g:base16_gui06 = "ad7fa8"
+let s:gui07 = "eeeeec"
+let g:base16_gui07 = "eeeeec"
+let s:gui08 = "cc0000"
+let g:base16_gui08 = "cc0000"
+let s:gui09 = "ef2929"
+let g:base16_gui09 = "ef2929"
+let s:gui0A = "c4a000"
+let g:base16_gui0A = "c4a000"
+let s:gui0B = "4e9a06"
+let g:base16_gui0B = "4e9a06"
+let s:gui0C = "06989a"
+let g:base16_gui0C = "06989a"
+let s:gui0D = "3465a4"
+let g:base16_gui0D = "3465a4"
+let s:gui0E = "75507b"
+let g:base16_gui0E = "75507b"
+let s:gui0F = "34e2e2"
+let g:base16_gui0F = "34e2e2"
+
+" 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 = "#2e3436"
+ let g:terminal_color_1 = "#cc0000"
+ let g:terminal_color_2 = "#4e9a06"
+ let g:terminal_color_3 = "#c4a000"
+ let g:terminal_color_4 = "#3465a4"
+ let g:terminal_color_5 = "#75507b"
+ let g:terminal_color_6 = "#06989a"
+ let g:terminal_color_7 = "#d3d7cf"
+ let g:terminal_color_8 = "#555753"
+ let g:terminal_color_9 = "#cc0000"
+ let g:terminal_color_10 = "#4e9a06"
+ let g:terminal_color_11 = "#c4a000"
+ let g:terminal_color_12 = "#3465a4"
+ let g:terminal_color_13 = "#75507b"
+ let g:terminal_color_14 = "#06989a"
+ let g:terminal_color_15 = "#eeeeec"
+ 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 = [
+ \ "#2e3436",
+ \ "#cc0000",
+ \ "#4e9a06",
+ \ "#c4a000",
+ \ "#3465a4",
+ \ "#75507b",
+ \ "#06989a",
+ \ "#d3d7cf",
+ \ "#555753",
+ \ "#cc0000",
+ \ "#4e9a06",
+ \ "#c4a000",
+ \ "#3465a4",
+ \ "#75507b",
+ \ "#06989a",
+ \ "#eeeeec",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-tango"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-tomorrow-night-eighties.vim b/colors/base16-tomorrow-night-eighties.vim
index 6763d17..8289b4b 100644
--- a/colors/base16-tomorrow-night-eighties.vim
+++ b/colors/base16-tomorrow-night-eighties.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-tomorrow-night.vim b/colors/base16-tomorrow-night.vim
index f3fe5cd..a7943d0 100644
--- a/colors/base16-tomorrow-night.vim
+++ b/colors/base16-tomorrow-night.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-tomorrow.vim b/colors/base16-tomorrow.vim
index 17b2977..d8b4d3b 100644
--- a/colors/base16-tomorrow.vim
+++ b/colors/base16-tomorrow.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-tube.vim b/colors/base16-tube.vim
index 05267cd..c1ff1a6 100644
--- a/colors/base16-tube.vim
+++ b/colors/base16-tube.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-twilight.vim b/colors/base16-twilight.vim
index f325806..96c602f 100644
--- a/colors/base16-twilight.vim
+++ b/colors/base16-twilight.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-unikitty-dark.vim b/colors/base16-unikitty-dark.vim
index 80f636f..81a7a9e 100644
--- a/colors/base16-unikitty-dark.vim
+++ b/colors/base16-unikitty-dark.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-unikitty-light.vim b/colors/base16-unikitty-light.vim
index ded1992..f640697 100644
--- a/colors/base16-unikitty-light.vim
+++ b/colors/base16-unikitty-light.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-vulcan.vim b/colors/base16-vulcan.vim
new file mode 100644
index 0000000..59a82c9
--- /dev/null
+++ b/colors/base16-vulcan.vim
@@ -0,0 +1,446 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" vulcan scheme by Andrey Varfolomeev
+
+" 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-vulcan.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "041523"
+let g:base16_gui00 = "041523"
+let s:gui01 = "122339"
+let g:base16_gui01 = "122339"
+let s:gui02 = "003552"
+let g:base16_gui02 = "003552"
+let s:gui03 = "7a5759"
+let g:base16_gui03 = "7a5759"
+let s:gui04 = "6b6977"
+let g:base16_gui04 = "6b6977"
+let s:gui05 = "5b778c"
+let g:base16_gui05 = "5b778c"
+let s:gui06 = "333238"
+let g:base16_gui06 = "333238"
+let s:gui07 = "214d68"
+let g:base16_gui07 = "214d68"
+let s:gui08 = "818591"
+let g:base16_gui08 = "818591"
+let s:gui09 = "9198a3"
+let g:base16_gui09 = "9198a3"
+let s:gui0A = "adb4b9"
+let g:base16_gui0A = "adb4b9"
+let s:gui0B = "977d7c"
+let g:base16_gui0B = "977d7c"
+let s:gui0C = "977d7c"
+let g:base16_gui0C = "977d7c"
+let s:gui0D = "977d7c"
+let g:base16_gui0D = "977d7c"
+let s:gui0E = "9198a3"
+let g:base16_gui0E = "9198a3"
+let s:gui0F = "977d7c"
+let g:base16_gui0F = "977d7c"
+
+" 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 = "#041523"
+ let g:terminal_color_1 = "#818591"
+ let g:terminal_color_2 = "#977d7c"
+ let g:terminal_color_3 = "#adb4b9"
+ let g:terminal_color_4 = "#977d7c"
+ let g:terminal_color_5 = "#9198a3"
+ let g:terminal_color_6 = "#977d7c"
+ let g:terminal_color_7 = "#5b778c"
+ let g:terminal_color_8 = "#7a5759"
+ let g:terminal_color_9 = "#818591"
+ let g:terminal_color_10 = "#977d7c"
+ let g:terminal_color_11 = "#adb4b9"
+ let g:terminal_color_12 = "#977d7c"
+ let g:terminal_color_13 = "#9198a3"
+ let g:terminal_color_14 = "#977d7c"
+ let g:terminal_color_15 = "#214d68"
+ 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 = [
+ \ "#041523",
+ \ "#818591",
+ \ "#977d7c",
+ \ "#adb4b9",
+ \ "#977d7c",
+ \ "#9198a3",
+ \ "#977d7c",
+ \ "#5b778c",
+ \ "#7a5759",
+ \ "#818591",
+ \ "#977d7c",
+ \ "#adb4b9",
+ \ "#977d7c",
+ \ "#9198a3",
+ \ "#977d7c",
+ \ "#214d68",
+ \ ]
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-vulcan"
+
+" 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+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:gui08, s:gui0A, s:cterm08, "", "", "")
+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, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+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 highlighting
+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:gui0F, "", s:cterm0F, "", "", "")
+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:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+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, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+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, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+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 highlighting
+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 highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+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 highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E)
+
+" Startify highlighting
+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, "", "", "")
+
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
+" Java highlighting
+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-woodland.vim b/colors/base16-woodland.vim
index d5863d5..3f7c730 100644
--- a/colors/base16-woodland.vim
+++ b/colors/base16-woodland.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-xcode-dusk.vim b/colors/base16-xcode-dusk.vim
index 7409870..608fbaa 100644
--- a/colors/base16-xcode-dusk.vim
+++ b/colors/base16-xcode-dusk.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")
diff --git a/colors/base16-zenburn.vim b/colors/base16-zenburn.vim
index 8c11a00..a664d31 100644
--- a/colors/base16-zenburn.vim
+++ b/colors/base16-zenburn.vim
@@ -153,11 +153,22 @@ 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 != ""
- exec "hi " . a:group . " guifg=#" . 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 != ""
- exec "hi " . a:group . " guibg=#" . 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
@@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...)
exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
endif
if l:guisp != ""
- exec "hi " . a:group . " guisp=#" . 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
@@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "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, "", "")
+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:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
@@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "")
call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "")
call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "")
+" Neovim Treesitter highlighting
+if has("nvim")
+ call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "")
+ call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "")
+ call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "")
+ call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "")
+ call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "")
+endif
+
+" LSP highlighting
+if has("nvim")
+ call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
+ call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
+endif
+
" Java highlighting
call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "")