| 503 | 1 " Base16 Default (https://github.com/chriskempson/base16) | 
|  | 2 " Scheme: Chris Kempson (http://chriskempson.com) | 
|  | 3 | 
|  | 4 " GUI color definitions | 
|  | 5 let s:gui00 = "151515" | 
|  | 6 let s:gui01 = "202020" | 
|  | 7 let s:gui02 = "303030" | 
|  | 8 let s:gui03 = "505050" | 
|  | 9 let s:gui04 = "b0b0b0" | 
|  | 10 let s:gui05 = "d0d0d0" | 
|  | 11 let s:gui06 = "e0e0e0" | 
|  | 12 let s:gui07 = "f5f5f5" | 
|  | 13 let s:gui08 = "ac4142" | 
|  | 14 let s:gui09 = "d28445" | 
|  | 15 let s:gui0A = "f4bf75" | 
|  | 16 let s:gui0B = "90a959" | 
|  | 17 let s:gui0C = "75b5aa" | 
|  | 18 let s:gui0D = "6a9fb5" | 
|  | 19 let s:gui0E = "aa759f" | 
|  | 20 let s:gui0F = "8f5536" | 
|  | 21 | 
|  | 22 " Terminal color definitions | 
|  | 23 let s:cterm00 = "00" | 
|  | 24 let s:cterm03 = "08" | 
|  | 25 let s:cterm05 = "07" | 
|  | 26 let s:cterm07 = "15" | 
|  | 27 let s:cterm08 = "01" | 
|  | 28 let s:cterm0A = "03" | 
|  | 29 let s:cterm0B = "02" | 
|  | 30 let s:cterm0C = "06" | 
|  | 31 let s:cterm0D = "04" | 
|  | 32 let s:cterm0E = "05" | 
|  | 33 if exists('base16colorspace') && base16colorspace == "256" | 
|  | 34   let s:cterm01 = "18" | 
|  | 35   let s:cterm02 = "19" | 
|  | 36   let s:cterm04 = "20" | 
|  | 37   let s:cterm06 = "21" | 
|  | 38   let s:cterm09 = "16" | 
|  | 39   let s:cterm0F = "17" | 
|  | 40 else | 
|  | 41   let s:cterm01 = "10" | 
|  | 42   let s:cterm02 = "11" | 
|  | 43   let s:cterm04 = "12" | 
|  | 44   let s:cterm06 = "13" | 
|  | 45   let s:cterm09 = "09" | 
|  | 46   let s:cterm0F = "14" | 
|  | 47 endif | 
|  | 48 | 
|  | 49 " Theme setup | 
|  | 50 hi clear | 
|  | 51 syntax reset | 
|  | 52 let g:colors_name = "base16-default" | 
|  | 53 | 
|  | 54 " Highlighting function | 
|  | 55 fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr) | 
|  | 56   if a:guifg != "" | 
|  | 57     exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) | 
|  | 58   endif | 
|  | 59   if a:guibg != "" | 
|  | 60     exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) | 
|  | 61   endif | 
|  | 62   if a:ctermfg != "" | 
|  | 63     exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) | 
|  | 64   endif | 
|  | 65   if a:ctermbg != "" | 
|  | 66     exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) | 
|  | 67   endif | 
|  | 68   if a:attr != "" | 
|  | 69     exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr | 
|  | 70   endif | 
|  | 71 endfun | 
|  | 72 | 
|  | 73 " Return GUI color for light/dark variants | 
|  | 74 fun s:gui(color) | 
|  | 75   if &background == "dark" | 
|  | 76     return a:color | 
|  | 77   endif | 
|  | 78 | 
|  | 79   if a:color == s:gui00 | 
|  | 80     return s:gui07 | 
|  | 81   elseif a:color == s:gui01 | 
|  | 82     return s:gui06 | 
|  | 83   elseif a:color == s:gui02 | 
|  | 84     return s:gui05 | 
|  | 85   elseif a:color == s:gui03 | 
|  | 86     return s:gui04 | 
|  | 87   elseif a:color == s:gui04 | 
|  | 88     return s:gui03 | 
|  | 89   elseif a:color == s:gui05 | 
|  | 90     return s:gui02 | 
|  | 91   elseif a:color == s:gui06 | 
|  | 92     return s:gui01 | 
|  | 93   elseif a:color == s:gui07 | 
|  | 94     return s:gui00 | 
|  | 95   endif | 
|  | 96 | 
|  | 97   return a:color | 
|  | 98 endfun | 
|  | 99 | 
|  | 100 " Return terminal color for light/dark variants | 
|  | 101 fun s:cterm(color) | 
|  | 102   if &background == "dark" | 
|  | 103     return a:color | 
|  | 104   endif | 
|  | 105 | 
|  | 106   if a:color == s:cterm00 | 
|  | 107     return s:cterm07 | 
|  | 108   elseif a:color == s:cterm01 | 
|  | 109     return s:cterm06 | 
|  | 110   elseif a:color == s:cterm02 | 
|  | 111     return s:cterm05 | 
|  | 112   elseif a:color == s:cterm03 | 
|  | 113     return s:cterm04 | 
|  | 114   elseif a:color == s:cterm04 | 
|  | 115     return s:cterm03 | 
|  | 116   elseif a:color == s:cterm05 | 
|  | 117     return s:cterm02 | 
|  | 118   elseif a:color == s:cterm06 | 
|  | 119     return s:cterm01 | 
|  | 120   elseif a:color == s:cterm07 | 
|  | 121     return s:cterm00 | 
|  | 122   endif | 
|  | 123 | 
|  | 124   return a:color | 
|  | 125 endfun | 
|  | 126 | 
|  | 127 " Vim editor colors | 
|  | 128 call <sid>hi("Bold",          "", "", "", "", "bold") | 
|  | 129 call <sid>hi("Debug",         s:gui08, "", s:cterm08, "", "") | 
|  | 130 call <sid>hi("Directory",     s:gui0D, "", s:cterm0D, "", "") | 
|  | 131 call <sid>hi("ErrorMsg",      s:gui08, s:gui00, s:cterm08, s:cterm00, "") | 
|  | 132 call <sid>hi("Exception",     s:gui08, "", s:cterm08, "", "") | 
|  | 133 call <sid>hi("FoldColumn",    "", s:gui01, "", s:cterm01, "") | 
|  | 134 call <sid>hi("Folded",        s:gui03, s:gui01, s:cterm03, s:cterm01, "") | 
|  | 135 call <sid>hi("IncSearch",     s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none") | 
|  | 136 call <sid>hi("Italic",        "", "", "", "", "none") | 
|  | 137 call <sid>hi("Macro",         s:gui08, "", s:cterm08, "", "") | 
|  | 138 call <sid>hi("MatchParen",    s:gui00, s:gui03, s:cterm00, s:cterm03,  "") | 
|  | 139 call <sid>hi("ModeMsg",       s:gui0B, "", s:cterm0B, "", "") | 
|  | 140 call <sid>hi("MoreMsg",       s:gui0B, "", s:cterm0B, "", "") | 
|  | 141 call <sid>hi("Question",      s:gui0A, "", s:cterm0A, "", "") | 
|  | 142 call <sid>hi("Search",        s:gui01, s:gui0A, s:cterm01, s:cterm0A,  "") | 
|  | 143 call <sid>hi("SpecialKey",    s:gui03, "", s:cterm03, "", "") | 
|  | 144 call <sid>hi("TooLong",       s:gui08, "", s:cterm08, "", "") | 
|  | 145 call <sid>hi("Underlined",    s:gui08, "", s:cterm08, "", "") | 
|  | 146 call <sid>hi("Visual",        "", s:gui02, "", s:cterm02, "") | 
|  | 147 call <sid>hi("VisualNOS",     s:gui08, "", s:cterm08, "", "") | 
|  | 148 call <sid>hi("WarningMsg",    s:gui08, "", s:cterm08, "", "") | 
|  | 149 call <sid>hi("WildMenu",      s:gui08, "", s:cterm08, "", "") | 
|  | 150 call <sid>hi("Title",         s:gui0D, "", s:cterm0D, "", "none") | 
|  | 151 call <sid>hi("Conceal",       s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") | 
|  | 152 call <sid>hi("Cursor",        s:gui00, s:gui05, s:cterm00, s:cterm05, "") | 
|  | 153 call <sid>hi("NonText",       s:gui03, "", s:cterm03, "", "") | 
|  | 154 call <sid>hi("Normal",        s:gui05, s:gui00, s:cterm05, s:cterm00, "") | 
|  | 155 call <sid>hi("LineNr",        s:gui03, s:gui01, s:cterm03, s:cterm01, "") | 
|  | 156 call <sid>hi("SignColumn",    s:gui03, s:gui01, s:cterm03, s:cterm01, "") | 
|  | 157 call <sid>hi("SpecialKey",    s:gui03, "", s:cterm03, "", "") | 
|  | 158 call <sid>hi("StatusLine",    s:gui04, s:gui02, s:cterm04, s:cterm02, "none") | 
|  | 159 call <sid>hi("StatusLineNC",  s:gui03, s:gui01, s:cterm03, s:cterm01, "none") | 
|  | 160 call <sid>hi("VertSplit",     s:gui02, s:gui02, s:cterm02, s:cterm02, "none") | 
|  | 161 call <sid>hi("ColorColumn",   "", s:gui01, "", s:cterm01, "none") | 
|  | 162 call <sid>hi("CursorColumn",  "", s:gui01, "", s:cterm01, "none") | 
|  | 163 call <sid>hi("CursorLine",    "", s:gui01, "", s:cterm01, "none") | 
|  | 164 call <sid>hi("CursorLineNr",  s:gui03, s:gui01, s:cterm03, s:cterm01, "") | 
|  | 165 call <sid>hi("PMenu",         s:gui04, s:gui01, s:cterm04, s:cterm01, "none") | 
|  | 166 call <sid>hi("PMenuSel",      s:gui01, s:gui04, s:cterm01, s:cterm04, "") | 
|  | 167 call <sid>hi("TabLine",       s:gui03, s:gui01, s:cterm03, s:cterm01, "none") | 
|  | 168 call <sid>hi("TabLineFill",   s:gui03, s:gui01, s:cterm03, s:cterm01, "none") | 
|  | 169 call <sid>hi("TabLineSel",    s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none") | 
|  | 170 | 
|  | 171 " Standard syntax highlighting | 
|  | 172 call <sid>hi("Boolean",      s:gui09, "", s:cterm09, "", "") | 
|  | 173 call <sid>hi("Character",    s:gui08, "", s:cterm08, "", "") | 
|  | 174 call <sid>hi("Comment",      s:gui03, "", s:cterm03, "", "") | 
|  | 175 call <sid>hi("Conditional",  s:gui0E, "", s:cterm0E, "", "") | 
|  | 176 call <sid>hi("Constant",     s:gui09, "", s:cterm09, "", "") | 
|  | 177 call <sid>hi("Define",       s:gui0E, "", s:cterm0E, "", "none") | 
|  | 178 call <sid>hi("Delimiter",    s:gui0F, "", s:cterm0F, "", "") | 
|  | 179 call <sid>hi("Float",        s:gui09, "", s:cterm09, "", "") | 
|  | 180 call <sid>hi("Function",     s:gui0D, "", s:cterm0D, "", "") | 
|  | 181 call <sid>hi("Identifier",   s:gui08, "", s:cterm08, "", "none") | 
|  | 182 call <sid>hi("Include",      s:gui0D, "", s:cterm0D, "", "") | 
|  | 183 call <sid>hi("Keyword",      s:gui0E, "", s:cterm0E, "", "") | 
|  | 184 call <sid>hi("Label",        s:gui0A, "", s:cterm0A, "", "") | 
|  | 185 call <sid>hi("Number",       s:gui09, "", s:cterm09, "", "") | 
|  | 186 call <sid>hi("Operator",     s:gui05, "", s:cterm05, "", "none") | 
|  | 187 call <sid>hi("PreProc",      s:gui0A, "", s:cterm0A, "", "") | 
|  | 188 call <sid>hi("Repeat",       s:gui0A, "", s:cterm0A, "", "") | 
|  | 189 call <sid>hi("Special",      s:gui0C, "", s:cterm0C, "", "") | 
|  | 190 call <sid>hi("SpecialChar",  s:gui0F, "", s:cterm0F, "", "") | 
|  | 191 call <sid>hi("Statement",    s:gui08, "", s:cterm08, "", "") | 
|  | 192 call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "") | 
|  | 193 call <sid>hi("String",       s:gui0B, "", s:cterm0B, "", "") | 
|  | 194 call <sid>hi("Structure",    s:gui0E, "", s:cterm0E, "", "") | 
|  | 195 call <sid>hi("Tag",          s:gui0A, "", s:cterm0A, "", "") | 
|  | 196 call <sid>hi("Todo",         s:gui0A, s:gui01, s:cterm0A, s:cterm01, "") | 
|  | 197 call <sid>hi("Type",         s:gui09, "", s:cterm09, "", "none") | 
|  | 198 call <sid>hi("Typedef",      s:gui0A, "", s:cterm0A, "", "") | 
|  | 199 | 
|  | 200 " Spelling highlighting | 
|  | 201 call <sid>hi("SpellBad",     "", s:gui00, "", s:cterm00, "undercurl") | 
|  | 202 call <sid>hi("SpellLocal",   "", s:gui00, "", s:cterm00, "undercurl") | 
|  | 203 call <sid>hi("SpellCap",     "", s:gui00, "", s:cterm00, "undercurl") | 
|  | 204 call <sid>hi("SpellRare",    "", s:gui00, "", s:cterm00, "undercurl") | 
|  | 205 | 
|  | 206 " Additional diff highlighting | 
|  | 207 call <sid>hi("DiffAdd",      s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") | 
|  | 208 call <sid>hi("DiffChange",   s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") | 
|  | 209 call <sid>hi("DiffDelete",   s:gui08, s:gui00, s:cterm08, s:cterm00, "") | 
|  | 210 call <sid>hi("DiffText",     s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") | 
|  | 211 call <sid>hi("DiffAdded",    s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") | 
|  | 212 call <sid>hi("DiffFile",     s:gui08, s:gui00, s:cterm08, s:cterm00, "") | 
|  | 213 call <sid>hi("DiffNewFile",  s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") | 
|  | 214 call <sid>hi("DiffLine",     s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") | 
|  | 215 call <sid>hi("DiffRemoved",  s:gui08, s:gui00, s:cterm08, s:cterm00, "") | 
|  | 216 | 
|  | 217 " Ruby highlighting | 
|  | 218 call <sid>hi("rubyAttribute",               s:gui0D, "", s:cterm0D, "", "") | 
|  | 219 call <sid>hi("rubyConstant",                s:gui0A, "", s:cterm0A, "", "") | 
|  | 220 call <sid>hi("rubyInterpolation",           s:gui0B, "", s:cterm0B, "", "") | 
|  | 221 call <sid>hi("rubyInterpolationDelimiter",  s:gui0F, "", s:cterm0F, "", "") | 
|  | 222 call <sid>hi("rubyRegexp",                  s:gui0C, "", s:cterm0C, "", "") | 
|  | 223 call <sid>hi("rubySymbol",                  s:gui0B, "", s:cterm0B, "", "") | 
|  | 224 call <sid>hi("rubyStringDelimiter",         s:gui0B, "", s:cterm0B, "", "") | 
|  | 225 | 
|  | 226 " PHP highlighting | 
|  | 227 call <sid>hi("phpMemberSelector",  s:gui05, "", s:cterm05, "", "") | 
|  | 228 call <sid>hi("phpComparison",      s:gui05, "", s:cterm05, "", "") | 
|  | 229 call <sid>hi("phpParent",          s:gui05, "", s:cterm05, "", "") | 
|  | 230 | 
|  | 231 " HTML highlighting | 
|  | 232 call <sid>hi("htmlBold",    s:gui0A, "", s:cterm0A, "", "") | 
|  | 233 call <sid>hi("htmlItalic",  s:gui0E, "", s:cterm0E, "", "") | 
|  | 234 call <sid>hi("htmlEndTag",  s:gui05, "", s:cterm05, "", "") | 
|  | 235 call <sid>hi("htmlTag",     s:gui05, "", s:cterm05, "", "") | 
|  | 236 | 
|  | 237 " CSS highlighting | 
|  | 238 call <sid>hi("cssBraces",      s:gui05, "", s:cterm05, "", "") | 
|  | 239 call <sid>hi("cssClassName",   s:gui0E, "", s:cterm0E, "", "") | 
|  | 240 call <sid>hi("cssColor",       s:gui0C, "", s:cterm0C, "", "") | 
|  | 241 | 
|  | 242 " SASS highlighting | 
|  | 243 call <sid>hi("sassidChar",     s:gui08, "", s:cterm08, "", "") | 
|  | 244 call <sid>hi("sassClassChar",  s:gui09, "", s:cterm09, "", "") | 
|  | 245 call <sid>hi("sassInclude",    s:gui0E, "", s:cterm0E, "", "") | 
|  | 246 call <sid>hi("sassMixing",     s:gui0E, "", s:cterm0E, "", "") | 
|  | 247 call <sid>hi("sassMixinName",  s:gui0D, "", s:cterm0D, "", "") | 
|  | 248 | 
|  | 249 " JavaScript highlighting | 
|  | 250 call <sid>hi("javaScript",        s:gui05, "", s:cterm05, "", "") | 
|  | 251 call <sid>hi("javaScriptBraces",  s:gui05, "", s:cterm05, "", "") | 
|  | 252 call <sid>hi("javaScriptNumber",  s:gui09, "", s:cterm09, "", "") | 
|  | 253 | 
|  | 254 " Markdown highlighting | 
|  | 255 call <sid>hi("markdownCode",              s:gui0B, "", s:cterm0B, "", "") | 
|  | 256 call <sid>hi("markdownCodeBlock",         s:gui0B, "", s:cterm0B, "", "") | 
|  | 257 call <sid>hi("markdownHeadingDelimiter",  s:gui0D, "", s:cterm0D, "", "") | 
|  | 258 | 
|  | 259 " Git highlighting | 
|  | 260 call <sid>hi("gitCommitOverflow",  s:gui08, "", s:cterm08, "", "") | 
|  | 261 call <sid>hi("gitCommitSummary",   s:gui0B, "", s:cterm0B, "", "") | 
|  | 262 | 
|  | 263 " GitGutter highlighting | 
|  | 264 call <sid>hi("GitGutterAdd",     s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") | 
|  | 265 call <sid>hi("GitGutterChange",  s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") | 
|  | 266 call <sid>hi("GitGutterDelete",  s:gui08, s:gui01, s:cterm08, s:cterm01, "") | 
|  | 267 call <sid>hi("GitGutterChangeDelete",  s:gui0E, s:gui01, s:cterm0E, s:cterm01, "") | 
|  | 268 | 
|  | 269 " Signify highlighting | 
|  | 270 call <sid>hi("SignifySignAdd",     s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") | 
|  | 271 call <sid>hi("SignifySignChange",  s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") | 
|  | 272 call <sid>hi("SignifySignDelete",  s:gui08, s:gui01, s:cterm08, s:cterm01, "") | 
|  | 273 | 
|  | 274 " NERDTree highlighting | 
|  | 275 call <sid>hi("NERDTreeDirSlash",  s:gui0D, "", s:cterm0D, "", "") | 
|  | 276 call <sid>hi("NERDTreeExecFile",  s:gui05, "", s:cterm05, "", "") | 
|  | 277 | 
|  | 278 " Remove functions | 
|  | 279 delf <sid>hi | 
|  | 280 delf <sid>gui | 
|  | 281 delf <sid>cterm | 
|  | 282 | 
|  | 283 " Remove color variables | 
|  | 284 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 | 
|  | 285 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 |