Mercurial > ec-dotfiles
comparison rc/vim-jellybeans @ 551:138ee2cd2179
Use jellybeans theme for vim.
Better compat with plain terminal.
| author | nanaya <me@myconan.net> |
|---|---|
| date | Tue, 14 Apr 2015 04:47:54 +0900 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 550:4afbb88c7579 | 551:138ee2cd2179 |
|---|---|
| 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 " }}} |
