" vi:syntax=vim " base16-vim (https://github.com/chriskempson/base16-vim) " by Chris Kempson (http://chriskempson.com) " Ashes scheme by Jannik Siebert (https://github.com/janniks) " 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-ashes.sh" endif endif " GUI color definitions let s:gui00 = "1C2023" let g:base16_gui00 = "1C2023" let s:gui01 = "393F45" let g:base16_gui01 = "393F45" let s:gui02 = "565E65" let g:base16_gui02 = "565E65" let s:gui03 = "747C84" let g:base16_gui03 = "747C84" let s:gui04 = "ADB3BA" let g:base16_gui04 = "ADB3BA" let s:gui05 = "C7CCD1" let g:base16_gui05 = "C7CCD1" let s:gui06 = "DFE2E5" let g:base16_gui06 = "DFE2E5" let s:gui07 = "F3F4F5" let g:base16_gui07 = "F3F4F5" let s:gui08 = "C7AE95" let g:base16_gui08 = "C7AE95" let s:gui09 = "C7C795" let g:base16_gui09 = "C7C795" let s:gui0A = "AEC795" let g:base16_gui0A = "AEC795" let s:gui0B = "95C7AE" let g:base16_gui0B = "95C7AE" let s:gui0C = "95AEC7" let g:base16_gui0C = "95AEC7" let s:gui0D = "AE95C7" let g:base16_gui0D = "AE95C7" let s:gui0E = "C795AE" let g:base16_gui0E = "C795AE" let s:gui0F = "C79595" let g:base16_gui0F = "C79595" " 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 = "#1C2023" let g:terminal_color_1 = "#C7AE95" let g:terminal_color_2 = "#95C7AE" let g:terminal_color_3 = "#AEC795" let g:terminal_color_4 = "#AE95C7" let g:terminal_color_5 = "#C795AE" let g:terminal_color_6 = "#95AEC7" let g:terminal_color_7 = "#C7CCD1" let g:terminal_color_8 = "#747C84" let g:terminal_color_9 = "#C7AE95" let g:terminal_color_10 = "#95C7AE" let g:terminal_color_11 = "#AEC795" let g:terminal_color_12 = "#AE95C7" let g:terminal_color_13 = "#C795AE" let g:terminal_color_14 = "#95AEC7" let g:terminal_color_15 = "#F3F4F5" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 if &background == "light" let g:terminal_color_background = g:terminal_color_7 let g:terminal_color_foreground = g:terminal_color_2 endif elseif has("terminal") let g:terminal_ansi_colors = [ \ "#1C2023", \ "#C7AE95", \ "#95C7AE", \ "#AEC795", \ "#AE95C7", \ "#C795AE", \ "#95AEC7", \ "#C7CCD1", \ "#747C84", \ "#C7AE95", \ "#95C7AE", \ "#AEC795", \ "#AE95C7", \ "#C795AE", \ "#95AEC7", \ "#F3F4F5", \ ] endif " Theme setup hi clear syntax reset let g:colors_name = "base16-ashes" " 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:gui01, s:cterm03, s:cterm01, "", "") call hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") 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, "", "", "")