| 551 | 1 " Vim color file | 
|  | 2 " | 
|  | 3 "  "    __       _ _       _                             " | 
|  | 4 "  "    \ \  ___| | |_   _| |__   ___  __ _ _ __  ___    " | 
|  | 5 "  "     \ \/ _ \ | | | | |  _ \ / _ \/ _  |  _ \/ __|   " | 
|  | 6 "  "  /\_/ /  __/ | | |_| | |_| |  __/ |_| | | | \__ \   " | 
|  | 7 "  "  \___/ \___|_|_|\__  |____/ \___|\____|_| |_|___/   " | 
|  | 8 "  "                 \___/                               " | 
|  | 9 " | 
|  | 10 "         "A colorful, dark color scheme for Vim." | 
|  | 11 " | 
|  | 12 " File:         jellybeans.vim | 
|  | 13 " URL:          github.com/nanotech/jellybeans.vim | 
|  | 14 " Scripts URL:  vim.org/scripts/script.php?script_id=2555 | 
|  | 15 " Maintainer:   NanoTech (nanotech.nanotechcorp.net) | 
|  | 16 " Version:      1.6~git | 
|  | 17 " Last Change:  January 15th, 2012 | 
|  | 18 " License:      MIT | 
|  | 19 " Contributors: Daniel Herbert (pocketninja) | 
|  | 20 "               Henry So, Jr. <henryso@panix.com> | 
|  | 21 "               David Liang <bmdavll at gmail dot com> | 
|  | 22 "               Rich Healey (richo) | 
|  | 23 "               Andrew Wong (w0ng) | 
|  | 24 " | 
|  | 25 " Copyright (c) 2009-2012 NanoTech | 
|  | 26 " | 
|  | 27 " Permission is hereby granted, free of charge, to any per‐ | 
|  | 28 " son obtaining a copy of this software and associated doc‐ | 
|  | 29 " umentation  files  (the “Software”), to deal in the Soft‐ | 
|  | 30 " ware without restriction,  including  without  limitation | 
|  | 31 " the rights to use, copy, modify, merge, publish, distrib‐ | 
|  | 32 " ute, sublicense, and/or sell copies of the Software,  and | 
|  | 33 " to permit persons to whom the Software is furnished to do | 
|  | 34 " so, subject to the following conditions: | 
|  | 35 " | 
|  | 36 " The above copyright notice  and  this  permission  notice | 
|  | 37 " shall  be  included in all copies or substantial portions | 
|  | 38 " of the Software. | 
|  | 39 " | 
|  | 40 " THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY | 
|  | 41 " KIND,  EXPRESS  OR  IMPLIED, INCLUDING BUT NOT LIMITED TO | 
|  | 42 " THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ | 
|  | 43 " LAR  PURPOSE  AND  NONINFRINGEMENT. IN NO EVENT SHALL THE | 
|  | 44 " AUTHORS OR COPYRIGHT HOLDERS BE  LIABLE  FOR  ANY  CLAIM, | 
|  | 45 " DAMAGES  OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ | 
|  | 46 " TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ | 
|  | 47 " NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | 
|  | 48 " THE SOFTWARE. | 
|  | 49 | 
|  | 50 set background=dark | 
|  | 51 | 
|  | 52 hi clear | 
|  | 53 | 
|  | 54 if exists("syntax_on") | 
|  | 55   syntax reset | 
|  | 56 endif | 
|  | 57 | 
|  | 58 let colors_name = "jellybeans" | 
|  | 59 | 
|  | 60 if has("gui_running") || &t_Co == 88 || &t_Co == 256 | 
|  | 61   let s:low_color = 0 | 
|  | 62 else | 
|  | 63   let s:low_color = 1 | 
|  | 64 endif | 
|  | 65 | 
|  | 66 " Color approximation functions by Henry So, Jr. and David Liang {{{ | 
|  | 67 " Added to jellybeans.vim by Daniel Herbert | 
|  | 68 | 
|  | 69 " returns an approximate grey index for the given grey level | 
|  | 70 fun! s:grey_number(x) | 
|  | 71   if &t_Co == 88 | 
|  | 72     if a:x < 23 | 
|  | 73       return 0 | 
|  | 74     elseif a:x < 69 | 
|  | 75       return 1 | 
|  | 76     elseif a:x < 103 | 
|  | 77       return 2 | 
|  | 78     elseif a:x < 127 | 
|  | 79       return 3 | 
|  | 80     elseif a:x < 150 | 
|  | 81       return 4 | 
|  | 82     elseif a:x < 173 | 
|  | 83       return 5 | 
|  | 84     elseif a:x < 196 | 
|  | 85       return 6 | 
|  | 86     elseif a:x < 219 | 
|  | 87       return 7 | 
|  | 88     elseif a:x < 243 | 
|  | 89       return 8 | 
|  | 90     else | 
|  | 91       return 9 | 
|  | 92     endif | 
|  | 93   else | 
|  | 94     if a:x < 14 | 
|  | 95       return 0 | 
|  | 96     else | 
|  | 97       let l:n = (a:x - 8) / 10 | 
|  | 98       let l:m = (a:x - 8) % 10 | 
|  | 99       if l:m < 5 | 
|  | 100         return l:n | 
|  | 101       else | 
|  | 102         return l:n + 1 | 
|  | 103       endif | 
|  | 104     endif | 
|  | 105   endif | 
|  | 106 endfun | 
|  | 107 | 
|  | 108 " returns the actual grey level represented by the grey index | 
|  | 109 fun! s:grey_level(n) | 
|  | 110   if &t_Co == 88 | 
|  | 111     if a:n == 0 | 
|  | 112       return 0 | 
|  | 113     elseif a:n == 1 | 
|  | 114       return 46 | 
|  | 115     elseif a:n == 2 | 
|  | 116       return 92 | 
|  | 117     elseif a:n == 3 | 
|  | 118       return 115 | 
|  | 119     elseif a:n == 4 | 
|  | 120       return 139 | 
|  | 121     elseif a:n == 5 | 
|  | 122       return 162 | 
|  | 123     elseif a:n == 6 | 
|  | 124       return 185 | 
|  | 125     elseif a:n == 7 | 
|  | 126       return 208 | 
|  | 127     elseif a:n == 8 | 
|  | 128       return 231 | 
|  | 129     else | 
|  | 130       return 255 | 
|  | 131     endif | 
|  | 132   else | 
|  | 133     if a:n == 0 | 
|  | 134       return 0 | 
|  | 135     else | 
|  | 136       return 8 + (a:n * 10) | 
|  | 137     endif | 
|  | 138   endif | 
|  | 139 endfun | 
|  | 140 | 
|  | 141 " returns the palette index for the given grey index | 
|  | 142 fun! s:grey_color(n) | 
|  | 143   if &t_Co == 88 | 
|  | 144     if a:n == 0 | 
|  | 145       return 16 | 
|  | 146     elseif a:n == 9 | 
|  | 147       return 79 | 
|  | 148     else | 
|  | 149       return 79 + a:n | 
|  | 150     endif | 
|  | 151   else | 
|  | 152     if a:n == 0 | 
|  | 153       return 16 | 
|  | 154     elseif a:n == 25 | 
|  | 155       return 231 | 
|  | 156     else | 
|  | 157       return 231 + a:n | 
|  | 158     endif | 
|  | 159   endif | 
|  | 160 endfun | 
|  | 161 | 
|  | 162 " returns an approximate color index for the given color level | 
|  | 163 fun! s:rgb_number(x) | 
|  | 164   if &t_Co == 88 | 
|  | 165     if a:x < 69 | 
|  | 166       return 0 | 
|  | 167     elseif a:x < 172 | 
|  | 168       return 1 | 
|  | 169     elseif a:x < 230 | 
|  | 170       return 2 | 
|  | 171     else | 
|  | 172       return 3 | 
|  | 173     endif | 
|  | 174   else | 
|  | 175     if a:x < 75 | 
|  | 176       return 0 | 
|  | 177     else | 
|  | 178       let l:n = (a:x - 55) / 40 | 
|  | 179       let l:m = (a:x - 55) % 40 | 
|  | 180       if l:m < 20 | 
|  | 181         return l:n | 
|  | 182       else | 
|  | 183         return l:n + 1 | 
|  | 184       endif | 
|  | 185     endif | 
|  | 186   endif | 
|  | 187 endfun | 
|  | 188 | 
|  | 189 " returns the actual color level for the given color index | 
|  | 190 fun! s:rgb_level(n) | 
|  | 191   if &t_Co == 88 | 
|  | 192     if a:n == 0 | 
|  | 193       return 0 | 
|  | 194     elseif a:n == 1 | 
|  | 195       return 139 | 
|  | 196     elseif a:n == 2 | 
|  | 197       return 205 | 
|  | 198     else | 
|  | 199       return 255 | 
|  | 200     endif | 
|  | 201   else | 
|  | 202     if a:n == 0 | 
|  | 203       return 0 | 
|  | 204     else | 
|  | 205       return 55 + (a:n * 40) | 
|  | 206     endif | 
|  | 207   endif | 
|  | 208 endfun | 
|  | 209 | 
|  | 210 " returns the palette index for the given R/G/B color indices | 
|  | 211 fun! s:rgb_color(x, y, z) | 
|  | 212   if &t_Co == 88 | 
|  | 213     return 16 + (a:x * 16) + (a:y * 4) + a:z | 
|  | 214   else | 
|  | 215     return 16 + (a:x * 36) + (a:y * 6) + a:z | 
|  | 216   endif | 
|  | 217 endfun | 
|  | 218 | 
|  | 219 " returns the palette index to approximate the given R/G/B color levels | 
|  | 220 fun! s:color(r, g, b) | 
|  | 221   " get the closest grey | 
|  | 222   let l:gx = s:grey_number(a:r) | 
|  | 223   let l:gy = s:grey_number(a:g) | 
|  | 224   let l:gz = s:grey_number(a:b) | 
|  | 225 | 
|  | 226   " get the closest color | 
|  | 227   let l:x = s:rgb_number(a:r) | 
|  | 228   let l:y = s:rgb_number(a:g) | 
|  | 229   let l:z = s:rgb_number(a:b) | 
|  | 230 | 
|  | 231   if l:gx == l:gy && l:gy == l:gz | 
|  | 232     " there are two possibilities | 
|  | 233     let l:dgr = s:grey_level(l:gx) - a:r | 
|  | 234     let l:dgg = s:grey_level(l:gy) - a:g | 
|  | 235     let l:dgb = s:grey_level(l:gz) - a:b | 
|  | 236     let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) | 
|  | 237     let l:dr = s:rgb_level(l:gx) - a:r | 
|  | 238     let l:dg = s:rgb_level(l:gy) - a:g | 
|  | 239     let l:db = s:rgb_level(l:gz) - a:b | 
|  | 240     let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) | 
|  | 241     if l:dgrey < l:drgb | 
|  | 242       " use the grey | 
|  | 243       return s:grey_color(l:gx) | 
|  | 244     else | 
|  | 245       " use the color | 
|  | 246       return s:rgb_color(l:x, l:y, l:z) | 
|  | 247     endif | 
|  | 248   else | 
|  | 249     " only one possibility | 
|  | 250     return s:rgb_color(l:x, l:y, l:z) | 
|  | 251   endif | 
|  | 252 endfun | 
|  | 253 | 
|  | 254 " returns the palette index to approximate the 'rrggbb' hex string | 
|  | 255 fun! s:rgb(rgb) | 
|  | 256   let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 | 
|  | 257   let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 | 
|  | 258   let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 | 
|  | 259   return s:color(l:r, l:g, l:b) | 
|  | 260 endfun | 
|  | 261 | 
|  | 262 " sets the highlighting for the given group | 
|  | 263 fun! s:X(group, fg, bg, attr, lcfg, lcbg) | 
|  | 264   if s:low_color | 
|  | 265     let l:fge = empty(a:lcfg) | 
|  | 266     let l:bge = empty(a:lcbg) | 
|  | 267 | 
|  | 268     if !l:fge && !l:bge | 
|  | 269       exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=".a:lcbg | 
|  | 270     elseif !l:fge && l:bge | 
|  | 271       exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=NONE" | 
|  | 272     elseif l:fge && !l:bge | 
|  | 273       exec "hi ".a:group." ctermfg=NONE ctermbg=".a:lcbg | 
|  | 274     endif | 
|  | 275   else | 
|  | 276     let l:fge = empty(a:fg) | 
|  | 277     let l:bge = empty(a:bg) | 
|  | 278 | 
|  | 279     if !l:fge && !l:bge | 
|  | 280       exec "hi ".a:group." guifg=#".a:fg." guibg=#".a:bg." ctermfg=".s:rgb(a:fg)." ctermbg=".s:rgb(a:bg) | 
|  | 281     elseif !l:fge && l:bge | 
|  | 282       exec "hi ".a:group." guifg=#".a:fg." guibg=NONE ctermfg=".s:rgb(a:fg)." ctermbg=NONE" | 
|  | 283     elseif l:fge && !l:bge | 
|  | 284       exec "hi ".a:group." guifg=NONE guibg=#".a:bg." ctermfg=NONE ctermbg=".s:rgb(a:bg) | 
|  | 285     endif | 
|  | 286   endif | 
|  | 287 | 
|  | 288   if a:attr == "" | 
|  | 289     exec "hi ".a:group." gui=none cterm=none" | 
|  | 290   else | 
|  | 291     let l:noitalic = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",") | 
|  | 292     if empty(l:noitalic) | 
|  | 293       let l:noitalic = "none" | 
|  | 294     endif | 
|  | 295     exec "hi ".a:group." gui=".a:attr." cterm=".l:noitalic | 
|  | 296   endif | 
|  | 297 endfun | 
|  | 298 " }}} | 
|  | 299 | 
|  | 300 if !exists("g:jellybeans_background_color") | 
|  | 301   let g:jellybeans_background_color = "151515" | 
|  | 302 end | 
|  | 303 | 
|  | 304 call s:X("Normal","e8e8d3",g:jellybeans_background_color,"","White","") | 
|  | 305 set background=dark | 
|  | 306 | 
|  | 307 if !exists("g:jellybeans_use_lowcolor_black") || g:jellybeans_use_lowcolor_black | 
|  | 308     let s:termBlack = "Black" | 
|  | 309 else | 
|  | 310     let s:termBlack = "Grey" | 
|  | 311 endif | 
|  | 312 | 
|  | 313 if version >= 700 | 
|  | 314   call s:X("CursorLine","","1c1c1c","","",s:termBlack) | 
|  | 315   call s:X("CursorColumn","","1c1c1c","","",s:termBlack) | 
|  | 316   call s:X("MatchParen","ffffff","556779","bold","","DarkCyan") | 
|  | 317 | 
|  | 318   call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack) | 
|  | 319   call s:X("TabLineFill","9098a0","","","",s:termBlack) | 
|  | 320   call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White") | 
|  | 321 | 
|  | 322   " Auto-completion | 
|  | 323   call s:X("Pmenu","ffffff","606060","","White",s:termBlack) | 
|  | 324   call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White") | 
|  | 325 endif | 
|  | 326 | 
|  | 327 call s:X("Visual","","404040","","",s:termBlack) | 
|  | 328 call s:X("Cursor",g:jellybeans_background_color,"b0d0f0","","","") | 
|  | 329 | 
|  | 330 call s:X("LineNr","605958",g:jellybeans_background_color,"none",s:termBlack,"") | 
|  | 331 call s:X("CursorLineNr","ccc5c4","","none","White","") | 
|  | 332 call s:X("Comment","888888","","italic","Grey","") | 
|  | 333 call s:X("Todo","c7c7c7","","bold","White",s:termBlack) | 
|  | 334 | 
|  | 335 call s:X("StatusLine","000000","dddddd","italic","","White") | 
|  | 336 call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") | 
|  | 337 call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack) | 
|  | 338 call s:X("WildMenu","f0a0c0","302028","","Magenta","") | 
|  | 339 | 
|  | 340 call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"") | 
|  | 341 call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack) | 
|  | 342 call s:X("SignColumn","777777","333333","","",s:termBlack) | 
|  | 343 call s:X("ColorColumn","","000000","","",s:termBlack) | 
|  | 344 | 
|  | 345 call s:X("Title","70b950","","bold","Green","") | 
|  | 346 | 
|  | 347 call s:X("Constant","cf6a4c","","","Red","") | 
|  | 348 call s:X("Special","799d6a","","","Green","") | 
|  | 349 call s:X("Delimiter","668799","","","Grey","") | 
|  | 350 | 
|  | 351 call s:X("String","99ad6a","","","Green","") | 
|  | 352 call s:X("StringDelimiter","556633","","","DarkGreen","") | 
|  | 353 | 
|  | 354 call s:X("Identifier","c6b6ee","","","LightCyan","") | 
|  | 355 call s:X("Structure","8fbfdc","","","LightCyan","") | 
|  | 356 call s:X("Function","fad07a","","","Yellow","") | 
|  | 357 call s:X("Statement","8197bf","","","DarkBlue","") | 
|  | 358 call s:X("PreProc","8fbfdc","","","LightBlue","") | 
|  | 359 | 
|  | 360 hi! link Operator Structure | 
|  | 361 | 
|  | 362 call s:X("Type","ffb964","","","Yellow","") | 
|  | 363 call s:X("NonText","606060",g:jellybeans_background_color,"",s:termBlack,"") | 
|  | 364 | 
|  | 365 call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"") | 
|  | 366 | 
|  | 367 call s:X("Search","f0a0c0","302028","underline","Magenta","") | 
|  | 368 | 
|  | 369 call s:X("Directory","dad085","","","Yellow","") | 
|  | 370 call s:X("ErrorMsg","","902020","","","DarkRed") | 
|  | 371 hi! link Error ErrorMsg | 
|  | 372 hi! link MoreMsg Special | 
|  | 373 call s:X("Question","65C254","","","Green","") | 
|  | 374 | 
|  | 375 | 
|  | 376 " Spell Checking | 
|  | 377 | 
|  | 378 call s:X("SpellBad","","902020","underline","","DarkRed") | 
|  | 379 call s:X("SpellCap","","0000df","underline","","Blue") | 
|  | 380 call s:X("SpellRare","","540063","underline","","DarkMagenta") | 
|  | 381 call s:X("SpellLocal","","2D7067","underline","","Green") | 
|  | 382 | 
|  | 383 " Diff | 
|  | 384 | 
|  | 385 hi! link diffRemoved Constant | 
|  | 386 hi! link diffAdded String | 
|  | 387 | 
|  | 388 " VimDiff | 
|  | 389 | 
|  | 390 call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen") | 
|  | 391 call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed") | 
|  | 392 call s:X("DiffChange","","2B5B77","","White","DarkBlue") | 
|  | 393 call s:X("DiffText","8fbfdc","000000","reverse","Yellow","") | 
|  | 394 | 
|  | 395 " PHP | 
|  | 396 | 
|  | 397 hi! link phpFunctions Function | 
|  | 398 call s:X("StorageClass","c59f6f","","","Red","") | 
|  | 399 hi! link phpSuperglobal Identifier | 
|  | 400 hi! link phpQuoteSingle StringDelimiter | 
|  | 401 hi! link phpQuoteDouble StringDelimiter | 
|  | 402 hi! link phpBoolean Constant | 
|  | 403 hi! link phpNull Constant | 
|  | 404 hi! link phpArrayPair Operator | 
|  | 405 hi! link phpOperator Normal | 
|  | 406 hi! link phpRelation Normal | 
|  | 407 hi! link phpVarSelector Identifier | 
|  | 408 | 
|  | 409 " Python | 
|  | 410 | 
|  | 411 hi! link pythonOperator Statement | 
|  | 412 | 
|  | 413 " Ruby | 
|  | 414 | 
|  | 415 hi! link rubySharpBang Comment | 
|  | 416 call s:X("rubyClass","447799","","","DarkBlue","") | 
|  | 417 call s:X("rubyIdentifier","c6b6fe","","","Cyan","") | 
|  | 418 hi! link rubyConstant Type | 
|  | 419 hi! link rubyFunction Function | 
|  | 420 | 
|  | 421 call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","") | 
|  | 422 call s:X("rubySymbol","7697d6","","","Blue","") | 
|  | 423 hi! link rubyGlobalVariable rubyInstanceVariable | 
|  | 424 hi! link rubyModule rubyClass | 
|  | 425 call s:X("rubyControl","7597c6","","","Blue","") | 
|  | 426 | 
|  | 427 hi! link rubyString String | 
|  | 428 hi! link rubyStringDelimiter StringDelimiter | 
|  | 429 hi! link rubyInterpolationDelimiter Identifier | 
|  | 430 | 
|  | 431 call s:X("rubyRegexpDelimiter","540063","","","Magenta","") | 
|  | 432 call s:X("rubyRegexp","dd0093","","","DarkMagenta","") | 
|  | 433 call s:X("rubyRegexpSpecial","a40073","","","Magenta","") | 
|  | 434 | 
|  | 435 call s:X("rubyPredefinedIdentifier","de5577","","","Red","") | 
|  | 436 | 
|  | 437 " Erlang | 
|  | 438 | 
|  | 439 hi! link erlangAtom rubySymbol | 
|  | 440 hi! link erlangBIF rubyPredefinedIdentifier | 
|  | 441 hi! link erlangFunction rubyPredefinedIdentifier | 
|  | 442 hi! link erlangDirective Statement | 
|  | 443 hi! link erlangNode Identifier | 
|  | 444 | 
|  | 445 " JavaScript | 
|  | 446 | 
|  | 447 hi! link javaScriptValue Constant | 
|  | 448 hi! link javaScriptRegexpString rubyRegexp | 
|  | 449 | 
|  | 450 " CoffeeScript | 
|  | 451 | 
|  | 452 hi! link coffeeRegExp javaScriptRegexpString | 
|  | 453 | 
|  | 454 " Lua | 
|  | 455 | 
|  | 456 hi! link luaOperator Conditional | 
|  | 457 | 
|  | 458 " C | 
|  | 459 | 
|  | 460 hi! link cFormat Identifier | 
|  | 461 hi! link cOperator Constant | 
|  | 462 | 
|  | 463 " Objective-C/Cocoa | 
|  | 464 | 
|  | 465 hi! link objcClass Type | 
|  | 466 hi! link cocoaClass objcClass | 
|  | 467 hi! link objcSubclass objcClass | 
|  | 468 hi! link objcSuperclass objcClass | 
|  | 469 hi! link objcDirective rubyClass | 
|  | 470 hi! link objcStatement Constant | 
|  | 471 hi! link cocoaFunction Function | 
|  | 472 hi! link objcMethodName Identifier | 
|  | 473 hi! link objcMethodArg Normal | 
|  | 474 hi! link objcMessageName Identifier | 
|  | 475 | 
|  | 476 " Vimscript | 
|  | 477 | 
|  | 478 hi! link vimOper Normal | 
|  | 479 | 
|  | 480 " HTML | 
|  | 481 | 
|  | 482 hi! link htmlTag Statement | 
|  | 483 hi! link htmlEndTag htmlTag | 
|  | 484 hi! link htmlTagName htmlTag | 
|  | 485 | 
|  | 486 " XML | 
|  | 487 | 
|  | 488 hi! link xmlTag Statement | 
|  | 489 hi! link xmlEndTag xmlTag | 
|  | 490 hi! link xmlTagName xmlTag | 
|  | 491 hi! link xmlEqual xmlTag | 
|  | 492 hi! link xmlEntity Special | 
|  | 493 hi! link xmlEntityPunct xmlEntity | 
|  | 494 hi! link xmlDocTypeDecl PreProc | 
|  | 495 hi! link xmlDocTypeKeyword PreProc | 
|  | 496 hi! link xmlProcessingDelim xmlAttrib | 
|  | 497 | 
|  | 498 " Debugger.vim | 
|  | 499 | 
|  | 500 call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue") | 
|  | 501 call s:X("DbgBreakPt","","4F0037","","","DarkMagenta") | 
|  | 502 | 
|  | 503 " vim-indent-guides | 
|  | 504 | 
|  | 505 if !exists("g:indent_guides_auto_colors") | 
|  | 506   let g:indent_guides_auto_colors = 0 | 
|  | 507 endif | 
|  | 508 call s:X("IndentGuidesOdd","","232323","","","") | 
|  | 509 call s:X("IndentGuidesEven","","1b1b1b","","","") | 
|  | 510 | 
|  | 511 " Plugins, etc. | 
|  | 512 | 
|  | 513 hi! link TagListFileName Directory | 
|  | 514 call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green") | 
|  | 515 | 
|  | 516 if !exists("g:jellybeans_background_color_256") | 
|  | 517   let g:jellybeans_background_color_256=233 | 
|  | 518 end | 
|  | 519 " Manual overrides for 256-color terminals. Dark colors auto-map badly. | 
|  | 520 if !s:low_color | 
|  | 521   hi StatusLineNC ctermbg=235 | 
|  | 522   hi Folded ctermbg=236 | 
|  | 523   hi FoldColumn ctermbg=234 | 
|  | 524   hi SignColumn ctermbg=236 | 
|  | 525   hi CursorColumn ctermbg=234 | 
|  | 526   hi CursorLine ctermbg=234 | 
|  | 527   hi SpecialKey ctermbg=234 | 
|  | 528   exec "hi NonText ctermbg=".g:jellybeans_background_color_256 | 
|  | 529   exec "hi LineNr ctermbg=".g:jellybeans_background_color_256 | 
|  | 530   hi DiffText ctermfg=81 | 
|  | 531   exec "hi Normal ctermbg=".g:jellybeans_background_color_256 | 
|  | 532   hi DbgBreakPt ctermbg=53 | 
|  | 533   hi IndentGuidesOdd ctermbg=235 | 
|  | 534   hi IndentGuidesEven ctermbg=234 | 
|  | 535 endif | 
|  | 536 | 
|  | 537 if exists("g:jellybeans_overrides") | 
|  | 538   fun! s:load_colors(defs) | 
|  | 539     for [l:group, l:v] in items(a:defs) | 
|  | 540       call s:X(l:group, get(l:v, 'guifg', ''), get(l:v, 'guibg', ''), | 
|  | 541       \                 get(l:v, 'attr', ''), | 
|  | 542       \                 get(l:v, 'ctermfg', ''), get(l:v, 'ctermbg', '')) | 
|  | 543       if !s:low_color | 
|  | 544         for l:prop in ['ctermfg', 'ctermbg'] | 
|  | 545           let l:override_key = '256'.l:prop | 
|  | 546           if has_key(l:v, l:override_key) | 
|  | 547             exec "hi ".l:group." ".l:prop."=".l:v[l:override_key] | 
|  | 548           endif | 
|  | 549         endfor | 
|  | 550       endif | 
|  | 551       unlet l:group | 
|  | 552       unlet l:v | 
|  | 553     endfor | 
|  | 554   endfun | 
|  | 555   call s:load_colors(g:jellybeans_overrides) | 
|  | 556   delf s:load_colors | 
|  | 557 endif | 
|  | 558 | 
|  | 559 " delete functions {{{ | 
|  | 560 delf s:X | 
|  | 561 delf s:rgb | 
|  | 562 delf s:color | 
|  | 563 delf s:rgb_color | 
|  | 564 delf s:rgb_level | 
|  | 565 delf s:rgb_number | 
|  | 566 delf s:grey_color | 
|  | 567 delf s:grey_level | 
|  | 568 delf s:grey_number | 
|  | 569 " }}} |