" vi:syntax=vim " base16-vim (https://github.com/chriskempson/base16-vim) " by Chris Kempson (http://chriskempson.com) " {{scheme-name}} scheme by {{scheme-author}} " 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-{{scheme-slug}}.sh" endif endif " GUI color definitions let s:gui00 = "{{base00-hex}}" let g:base16_gui00 = "{{base00-hex}}" let s:gui01 = "{{base01-hex}}" let g:base16_gui01 = "{{base01-hex}}" let s:gui02 = "{{base02-hex}}" let g:base16_gui02 = "{{base02-hex}}" let s:gui03 = "{{base03-hex}}" let g:base16_gui03 = "{{base03-hex}}" let s:gui04 = "{{base04-hex}}" let g:base16_gui04 = "{{base04-hex}}" let s:gui05 = "{{base05-hex}}" let g:base16_gui05 = "{{base05-hex}}" let s:gui06 = "{{base06-hex}}" let g:base16_gui06 = "{{base06-hex}}" let s:gui07 = "{{base07-hex}}" let g:base16_gui07 = "{{base07-hex}}" let s:gui08 = "{{base08-hex}}" let g:base16_gui08 = "{{base08-hex}}" let s:gui09 = "{{base09-hex}}" let g:base16_gui09 = "{{base09-hex}}" let s:gui0A = "{{base0A-hex}}" let g:base16_gui0A = "{{base0A-hex}}" let s:gui0B = "{{base0B-hex}}" let g:base16_gui0B = "{{base0B-hex}}" let s:gui0C = "{{base0C-hex}}" let g:base16_gui0C = "{{base0C-hex}}" let s:gui0D = "{{base0D-hex}}" let g:base16_gui0D = "{{base0D-hex}}" let s:gui0E = "{{base0E-hex}}" let g:base16_gui0E = "{{base0E-hex}}" let s:gui0F = "{{base0F-hex}}" let g:base16_gui0F = "{{base0F-hex}}" " 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 = "#{{base00-hex}}" let g:terminal_color_1 = "#{{base08-hex}}" let g:terminal_color_2 = "#{{base0B-hex}}" let g:terminal_color_3 = "#{{base0A-hex}}" let g:terminal_color_4 = "#{{base0D-hex}}" let g:terminal_color_5 = "#{{base0E-hex}}" let g:terminal_color_6 = "#{{base0C-hex}}" let g:terminal_color_7 = "#{{base05-hex}}" let g:terminal_color_8 = "#{{base03-hex}}" let g:terminal_color_9 = "#{{base08-hex}}" let g:terminal_color_10 = "#{{base0B-hex}}" let g:terminal_color_11 = "#{{base0A-hex}}" let g:terminal_color_12 = "#{{base0D-hex}}" let g:terminal_color_13 = "#{{base0E-hex}}" let g:terminal_color_14 = "#{{base0C-hex}}" let g:terminal_color_15 = "#{{base07-hex}}" 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 = [ \ "#{{base00-hex}}", \ "#{{base08-hex}}", \ "#{{base0B-hex}}", \ "#{{base0A-hex}}", \ "#{{base0D-hex}}", \ "#{{base0E-hex}}", \ "#{{base0C-hex}}", \ "#{{base05-hex}}", \ "#{{base03-hex}}", \ "#{{base08-hex}}", \ "#{{base0B-hex}}", \ "#{{base0A-hex}}", \ "#{{base0D-hex}}", \ "#{{base0E-hex}}", \ "#{{base0C-hex}}", \ "#{{base07-hex}}", \ ] endif " Theme setup hi clear syntax reset let g:colors_name = "base16-{{scheme-slug}}" " 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, "") if a:guifg != "" exec "hi " . a:group . " guifg=#" . a:guifg endif if a:guibg != "" exec "hi " . a:group . " guibg=#" . a:guibg 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 != "" exec "hi " . a:group . " guisp=#" . l:guisp endif endfunction fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) endfun " Vim editor colors call hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") call hi("Bold", "", "", "", "", "bold", "") call hi("Debug", s:gui08, "", s:cterm08, "", "", "") call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") call hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") call hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") call hi("Exception", s:gui08, "", s:cterm08, "", "", "") call hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") call hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") call hi("Italic", "", "", "", "", "none", "") call hi("Macro", s:gui08, "", s:cterm08, "", "", "") call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") call hi("Underlined", s:gui08, "", s:cterm08, "", "", "") call hi("Visual", "", s:gui02, "", s:cterm02, "", "") call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") call hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") call hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") call hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") call hi("NonText", s:gui03, "", s:cterm03, "", "", "") call hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "") call hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "") call hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") call hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") call hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") " Standard syntax highlighting call hi("Boolean", s:gui09, "", s:cterm09, "", "", "") call hi("Character", s:gui08, "", s:cterm08, "", "", "") call hi("Comment", s:gui03, "", s:cterm03, "", "", "") call hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") call hi("Constant", s:gui09, "", s:cterm09, "", "", "") call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") call hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") call hi("Float", s:gui09, "", s:cterm09, "", "", "") call hi("Function", s:gui0D, "", s:cterm0D, "", "", "") call hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") call hi("Include", s:gui0D, "", s:cterm0D, "", "", "") call hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") call hi("Label", s:gui0A, "", s:cterm0A, "", "", "") call hi("Number", s:gui09, "", s:cterm09, "", "", "") call hi("Operator", s:gui05, "", s:cterm05, "", "none", "") call hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") call hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") call hi("Special", s:gui0C, "", s:cterm0C, "", "", "") call hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") call hi("Statement", s:gui08, "", s:cterm08, "", "", "") call hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") call hi("String", s:gui0B, "", s:cterm0B, "", "", "") call hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") call hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") call hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") call hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") call hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") " C highlighting call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") " C# highlighting call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") call hi("csType", s:gui08, "", s:cterm08, "", "", "") call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") " CSS highlighting call hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") call hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") call hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") " Diff highlighting call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") call hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") call hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") call hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") call hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") call hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") " Git highlighting call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") " GitGutter highlighting call hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") " HTML highlighting call hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") call hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") call hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") call hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") " JavaScript highlighting call hi("javaScript", s:gui05, "", s:cterm05, "", "", "") call hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") " pangloss/vim-javascript highlighting call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") " Mail highlighting call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") " Markdown highlighting call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") call hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") " NERDTree highlighting call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") call hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") " PHP highlighting call hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") call hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") call hi("phpParent", s:gui05, "", s:cterm05, "", "", "") call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") " Python highlighting call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") " Ruby highlighting call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") " SASS highlighting call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") " Signify highlighting call hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") " Spelling highlighting call hi("SpellBad", "", "", "", "", "undercurl", s:gui08) call hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) call hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) call hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) " Startify highlighting call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") " Java highlighting call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") " Remove functions delf hi " Remove color variables unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F 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