dotfiles

=> git.r.bdr.sh
=> summary
=> tree
=> log
=> refs

dotfiles/vim/colors/solarized.vim | 50 KB

=> view raw

   1 " Name:     Solarized vim colorscheme
   2 " Author:   Ethan Schoonover 
   3 " URL:      http://ethanschoonover.com/solarized
   4 "           (see this url for latest release & screenshots)
   5 " License:  OSI approved MIT license (see end of this file)
   6 " Created:  In the middle of the night
   7 " Modified: 2011 May 05
   8 "
   9 " Usage "{{{
  10 "
  11 " ---------------------------------------------------------------------
  12 " ABOUT:
  13 " ---------------------------------------------------------------------
  14 " Solarized is a carefully designed selective contrast colorscheme with dual
  15 " light and dark modes that runs in both GUI, 256 and 16 color modes.
  16 "
  17 " See the homepage above for screenshots and details.
  18 "
  19 " ---------------------------------------------------------------------
  20 " OPTIONS:
  21 " ---------------------------------------------------------------------
  22 " See the "solarized.txt" help file included with this colorscheme (in the 
  23 " "doc" subdirectory) for information on options, usage, the Toggle Background 
  24 " function and more. If you have already installed Solarized, this is available 
  25 " from the Solarized menu and command line as ":help solarized"
  26 "
  27 " ---------------------------------------------------------------------
  28 " INSTALLATION:
  29 " ---------------------------------------------------------------------
  30 " Two options for installation: manual or pathogen
  31 "
  32 " MANUAL INSTALLATION OPTION:
  33 " ---------------------------------------------------------------------
  34 "
  35 " 1.  Download the solarized distribution (available on the homepage above)
  36 "     and unarchive the file.
  37 " 2.  Move `solarized.vim` to your `.vim/colors` directory.
  38 " 3.  Move each of the files in each subdirectories to the corresponding .vim
  39 "     subdirectory (e.g. autoload/togglebg.vim goes into your .vim/autoload 
  40 "     directory as .vim/autoload/togglebg.vim).
  41 "
  42 " RECOMMENDED PATHOGEN INSTALLATION OPTION:
  43 " ---------------------------------------------------------------------
  44 "
  45 " 1.  Download and install Tim Pope's Pathogen from:
  46 "     https://github.com/tpope/vim-pathogen
  47 "
  48 " 2.  Next, move or clone the `vim-colors-solarized` directory so that it is
  49 "     a subdirectory of the `.vim/bundle` directory.
  50 "
  51 "     a. **clone with git:**
  52 "
  53 "       $ cd ~/.vim/bundle
  54 "       $ git clone git://github.com/altercation/vim-colors-solarized.git
  55 "
  56 "     b. **or move manually into the pathogen bundle directory:**
  57 "         In the parent directory of vim-colors-solarized:
  58 "
  59 "         $ mv vim-colors-solarized ~/.vim/bundle/
  60 "
  61 " MODIFY VIMRC:
  62 "
  63 " After either Option 1 or Option 2 above, put the following two lines in your
  64 " .vimrc:
  65 "
  66 "     syntax enable
  67 "     set background=dark
  68 "     colorscheme solarized
  69 "
  70 " or, for the light background mode of Solarized:
  71 "
  72 "     syntax enable
  73 "     set background=light
  74 "     colorscheme solarized
  75 "
  76 " I like to have a different background in GUI and terminal modes, so I can use
  77 " the following if-then. However, I find vim's background autodetection to be
  78 " pretty good and, at least with MacVim, I can leave this background value
  79 " assignment out entirely and get the same results.
  80 "
  81 "     if has('gui_running')
  82 "       set background=light
  83 "     else
  84 "       set background=dark
  85 "     endif
  86 "
  87 " See the Solarized homepage at http://ethanschoonover.com/solarized for
  88 " screenshots which will help you select either the light or dark background.
  89 "
  90 " ---------------------------------------------------------------------
  91 " COLOR VALUES
  92 " ---------------------------------------------------------------------
  93 " Download palettes and files from: http://ethanschoonover.com/solarized
  94 "
  95 " L\*a\*b values are canonical (White D65, Reference D50), other values are
  96 " matched in sRGB space.
  97 "
  98 " SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      sRGB        HSB
  99 " --------- ------- ---- -------  ----------- ---------- ----------- -----------
 100 " base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
 101 " base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
 102 " base01    #586e75 10/7 brgreen  240 #4e4e4e 45 -07 -07  88 110 117 194  25  46
 103 " base00    #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195  23  51
 104 " base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
 105 " base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
 106 " base2     #eee8d5  7/7 white    254 #d7d7af 92 -00  10 238 232 213  44  11  93
 107 " base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
 108 " yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
 109 " orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
 110 " red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
 111 " magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
 112 " violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
 113 " blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
 114 " cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
 115 " green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60
 116 "
 117 " ---------------------------------------------------------------------
 118 " COLORSCHEME HACKING
 119 " ---------------------------------------------------------------------
 120 "
 121 " Useful commands for testing colorschemes:
 122 " :source $VIMRUNTIME/syntax/hitest.vim
 123 " :help highlight-groups
 124 " :help cterm-colors
 125 " :help group-name
 126 "
 127 " Useful links for developing colorschemes:
 128 " http://www.vim.org/scripts/script.php?script_id=2937
 129 " http://vimcasts.org/episodes/creating-colorschemes-for-vim/
 130 " http://www.frexx.de/xterm-256-notes/"
 131 "
 132 " }}}
 133 " Environment Specific Overrides "{{{
 134 " Allow or disallow certain features based on current terminal emulator or 
 135 " environment.
 136 
 137 " Terminals that support italics
 138 let s:terms_italic=[
 139             \"rxvt",
 140             \"gnome-terminal"
 141             \]
 142 " For reference only, terminals are known to be incomptible.
 143 " Terminals that are in neither list need to be tested.
 144 let s:terms_noitalic=[
 145             \"iTerm.app",
 146             \"Apple_Terminal"
 147             \]
 148 if has("gui_running")
 149     let s:terminal_italic=1 " TODO: could refactor to not require this at all
 150 else
 151     let s:terminal_italic=0 " terminals will be guilty until proven compatible
 152     for term in s:terms_italic
 153         if $TERM_PROGRAM =~ term
 154             let s:terminal_italic=1
 155         endif
 156     endfor
 157 endif
 158 
 159 " }}}
 160 " Default option values"{{{
 161 " ---------------------------------------------------------------------
 162 " s:options_list is used to autogenerate a list of all non-default options 
 163 " using "call SolarizedOptions()" or with the "Generate .vimrc commands" 
 164 " Solarized menu option. See the "Menus" section below for the function itself.
 165 let s:options_list=[
 166             \'" this block of commands has been autogenerated by solarized.vim and',
 167             \'" includes the current, non-default Solarized option values.',
 168             \'" To use, place these commands in your .vimrc file (replacing any',
 169             \'" existing colorscheme commands). See also ":help solarized"',
 170             \'',
 171             \'" ------------------------------------------------------------------',
 172             \'" Solarized Colorscheme Config',
 173             \'" ------------------------------------------------------------------',
 174             \]
 175 let s:colorscheme_list=[
 176             \'syntax enable',
 177             \'set background='.&background,
 178             \'colorscheme solarized',
 179             \]
 180 let s:defaults_list=[
 181             \'" ------------------------------------------------------------------',
 182             \'',
 183             \'" The following items are available options, but do not need to be',
 184             \'" included in your .vimrc as they are currently set to their defaults.',
 185             \''
 186             \]
 187 let s:lazycat_list=[
 188             \'" lazy method of appending this onto your .vimrc ":w! >> ~/.vimrc"',
 189             \'" ------------------------------------------------------------------',
 190             \]
 191 
 192 function! s:SetOption(name,default)
 193     if type(a:default) == type(0)
 194         let l:wrap=''
 195         let l:ewrap=''
 196     else
 197         let l:wrap='"'
 198         let l:ewrap='\"'
 199     endif
 200     if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default
 201         exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"'
 202         exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")'
 203     else
 204         exe 'call add(s:options_list,  "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'    \"default value is '.a:default.'")'
 205     endif
 206 endfunction
 207 
 208 if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256)
 209     let s:solarized_termtrans_default = 1
 210 else
 211     let s:solarized_termtrans_default = 0
 212 endif
 213 call s:SetOption("termtrans",s:solarized_termtrans_default)
 214 call s:SetOption("degrade",0)
 215 call s:SetOption("bold",1)
 216 call s:SetOption("underline",1)
 217 call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support
 218 call s:SetOption("termcolors",16)
 219 call s:SetOption("contrast","normal")
 220 call s:SetOption("visibility","normal")
 221 call s:SetOption("diffmode","normal")
 222 call s:SetOption("hitrail",0)
 223 call s:SetOption("menu",1)
 224 
 225 "}}}
 226 " Colorscheme initialization "{{{
 227 " ---------------------------------------------------------------------
 228 hi clear
 229 if exists("syntax_on")
 230   syntax reset
 231 endif
 232 let colors_name = "solarized"
 233 
 234 "}}}
 235 " GUI & CSApprox hexadecimal palettes"{{{
 236 " ---------------------------------------------------------------------
 237 "
 238 " Set both gui and terminal color values in separate conditional statements
 239 " Due to possibility that CSApprox is running (though I suppose we could just
 240 " leave the hex values out entirely in that case and include only cterm colors)
 241 " We also check to see if user has set solarized (force use of the
 242 " neutral gray monotone palette component)
 243 if (has("gui_running") && g:solarized_degrade == 0)
 244     let s:vmode       = "gui"
 245     let s:base03      = "#002b36"
 246     let s:base02      = "#073642"
 247     let s:base01      = "#586e75"
 248     let s:base00      = "#657b83"
 249     let s:base0       = "#839496"
 250     let s:base1       = "#93a1a1"
 251     let s:base2       = "#eee8d5"
 252     let s:base3       = "#fdf6e3"
 253     let s:yellow      = "#b58900"
 254     let s:orange      = "#cb4b16"
 255     let s:red         = "#dc322f"
 256     let s:magenta     = "#d33682"
 257     let s:violet      = "#6c71c4"
 258     let s:blue        = "#268bd2"
 259     let s:cyan        = "#2aa198"
 260     "let s:green       = "#859900" "original
 261     let s:green       = "#719e07" "experimental
 262 elseif (has("gui_running") && g:solarized_degrade == 1)
 263     " These colors are identical to the 256 color mode. They may be viewed
 264     " while in gui mode via "let g:solarized_degrade=1", though this is not
 265     " recommened and is for testing only.
 266     let s:vmode       = "gui"
 267     let s:base03      = "#1c1c1c"
 268     let s:base02      = "#262626"
 269     let s:base01      = "#4e4e4e"
 270     let s:base00      = "#585858"
 271     let s:base0       = "#808080"
 272     let s:base1       = "#8a8a8a"
 273     let s:base2       = "#d7d7af"
 274     let s:base3       = "#ffffd7"
 275     let s:yellow      = "#af8700"
 276     let s:orange      = "#d75f00"
 277     let s:red         = "#af0000"
 278     let s:magenta     = "#af005f"
 279     let s:violet      = "#5f5faf"
 280     let s:blue        = "#0087ff"
 281     let s:cyan        = "#00afaf"
 282     let s:green       = "#5f8700"
 283 elseif g:solarized_termcolors != 256 && &t_Co >= 16
 284     let s:vmode       = "cterm"
 285     let s:base03      = "8"
 286     let s:base02      = "0"
 287     let s:base01      = "10"
 288     let s:base00      = "11"
 289     let s:base0       = "12"
 290     let s:base1       = "14"
 291     let s:base2       = "7"
 292     let s:base3       = "15"
 293     let s:yellow      = "3"
 294     let s:orange      = "9"
 295     let s:red         = "1"
 296     let s:magenta     = "5"
 297     let s:violet      = "13"
 298     let s:blue        = "4"
 299     let s:cyan        = "6"
 300     let s:green       = "2"
 301 elseif g:solarized_termcolors == 256
 302     let s:vmode       = "cterm"
 303     let s:base03      = "234"
 304     let s:base02      = "235"
 305     let s:base01      = "239"
 306     let s:base00      = "240"
 307     let s:base0       = "244"
 308     let s:base1       = "245"
 309     let s:base2       = "187"
 310     let s:base3       = "230"
 311     let s:yellow      = "136"
 312     let s:orange      = "166"
 313     let s:red         = "124"
 314     let s:magenta     = "125"
 315     let s:violet      = "61"
 316     let s:blue        = "33"
 317     let s:cyan        = "37"
 318     let s:green       = "64"
 319 else
 320     let s:vmode       = "cterm"
 321     let s:bright      = "* term=bold cterm=bold"
 322 "   let s:base03      = "0".s:bright
 323 "   let s:base02      = "0"
 324 "   let s:base01      = "2".s:bright
 325 "   let s:base00      = "3".s:bright
 326 "   let s:base0       = "4".s:bright
 327 "   let s:base1       = "6".s:bright
 328 "   let s:base2       = "7"
 329 "   let s:base3       = "7".s:bright
 330 "   let s:yellow      = "3"
 331 "   let s:orange      = "1".s:bright
 332 "   let s:red         = "1"
 333 "   let s:magenta     = "5"
 334 "   let s:violet      = "5".s:bright
 335 "   let s:blue        = "4"
 336 "   let s:cyan        = "6"
 337 "   let s:green       = "2"
 338     let s:base03      = "DarkGray"      " 0*
 339     let s:base02      = "Black"         " 0
 340     let s:base01      = "LightGreen"    " 2*
 341     let s:base00      = "LightYellow"   " 3*
 342     let s:base0       = "LightBlue"     " 4*
 343     let s:base1       = "LightCyan"     " 6*
 344     let s:base2       = "LightGray"     " 7
 345     let s:base3       = "White"         " 7*
 346     let s:yellow      = "DarkYellow"    " 3
 347     let s:orange      = "LightRed"      " 1*
 348     let s:red         = "DarkRed"       " 1
 349     let s:magenta     = "DarkMagenta"   " 5
 350     let s:violet      = "LightMagenta"  " 5*
 351     let s:blue        = "DarkBlue"      " 4
 352     let s:cyan        = "DarkCyan"      " 6
 353     let s:green       = "DarkGreen"     " 2
 354 
 355 endif
 356 "}}}
 357 " Formatting options and null values for passthrough effect "{{{
 358 " ---------------------------------------------------------------------
 359     let s:none            = "NONE"
 360     let s:none            = "NONE"
 361     let s:t_none          = "NONE"
 362     let s:n               = "NONE"
 363     let s:c               = ",undercurl"
 364     let s:r               = ",reverse"
 365     let s:s               = ",standout"
 366     let s:ou              = ""
 367     let s:ob              = ""
 368 "}}}
 369 " Background value based on termtrans setting "{{{
 370 " ---------------------------------------------------------------------
 371 if (has("gui_running") || g:solarized_termtrans == 0)
 372     let s:back        = s:base03
 373 else
 374     let s:back        = "NONE"
 375 endif
 376 "}}}
 377 " Alternate light scheme "{{{
 378 " ---------------------------------------------------------------------
 379 if &background == "light"
 380     let s:temp03      = s:base03
 381     let s:temp02      = s:base02
 382     let s:temp01      = s:base01
 383     let s:temp00      = s:base00
 384     let s:base03      = s:base3
 385     let s:base02      = s:base2
 386     let s:base01      = s:base1
 387     let s:base00      = s:base0
 388     let s:base0       = s:temp00
 389     let s:base1       = s:temp01
 390     let s:base2       = s:temp02
 391     let s:base3       = s:temp03
 392     if (s:back != "NONE")
 393         let s:back    = s:base03
 394     endif
 395 endif
 396 "}}}
 397 " Optional contrast schemes "{{{
 398 " ---------------------------------------------------------------------
 399 if g:solarized_contrast == "high"
 400     let s:base01      = s:base00
 401     let s:base00      = s:base0
 402     let s:base0       = s:base1
 403     let s:base1       = s:base2
 404     let s:base2       = s:base3
 405     let s:back        = s:back
 406 endif
 407 if g:solarized_contrast == "low"
 408     let s:back        = s:base02
 409     let s:ou          = ",underline"
 410 endif
 411 "}}}
 412 " Overrides dependent on user specified values and environment "{{{
 413 " ---------------------------------------------------------------------
 414 if (g:solarized_bold == 0 || &t_Co == 8 )
 415     let s:b           = ""
 416     let s:bb          = ",bold"
 417 else
 418     let s:b           = ",bold"
 419     let s:bb          = ""
 420 endif
 421 
 422 if g:solarized_underline == 0
 423     let s:u           = ""
 424 else
 425     let s:u           = ",underline"
 426 endif
 427 
 428 if g:solarized_italic == 0 || s:terminal_italic == 0
 429     let s:i           = ""
 430 else
 431     let s:i           = ",italic"
 432 endif
 433 "}}}
 434 " Highlighting primitives"{{{
 435 " ---------------------------------------------------------------------
 436 
 437 exe "let s:bg_none      = ' ".s:vmode."bg=".s:none   ."'"
 438 exe "let s:bg_back      = ' ".s:vmode."bg=".s:back   ."'"
 439 exe "let s:bg_base03    = ' ".s:vmode."bg=".s:base03 ."'"
 440 exe "let s:bg_base02    = ' ".s:vmode."bg=".s:base02 ."'"
 441 exe "let s:bg_base01    = ' ".s:vmode."bg=".s:base01 ."'"
 442 exe "let s:bg_base00    = ' ".s:vmode."bg=".s:base00 ."'"
 443 exe "let s:bg_base0     = ' ".s:vmode."bg=".s:base0  ."'"
 444 exe "let s:bg_base1     = ' ".s:vmode."bg=".s:base1  ."'"
 445 exe "let s:bg_base2     = ' ".s:vmode."bg=".s:base2  ."'"
 446 exe "let s:bg_base3     = ' ".s:vmode."bg=".s:base3  ."'"
 447 exe "let s:bg_green     = ' ".s:vmode."bg=".s:green  ."'"
 448 exe "let s:bg_yellow    = ' ".s:vmode."bg=".s:yellow ."'"
 449 exe "let s:bg_orange    = ' ".s:vmode."bg=".s:orange ."'"
 450 exe "let s:bg_red       = ' ".s:vmode."bg=".s:red    ."'"
 451 exe "let s:bg_magenta   = ' ".s:vmode."bg=".s:magenta."'"
 452 exe "let s:bg_violet    = ' ".s:vmode."bg=".s:violet ."'"
 453 exe "let s:bg_blue      = ' ".s:vmode."bg=".s:blue   ."'"
 454 exe "let s:bg_cyan      = ' ".s:vmode."bg=".s:cyan   ."'"
 455 
 456 exe "let s:fg_none      = ' ".s:vmode."fg=".s:none   ."'"
 457 exe "let s:fg_back      = ' ".s:vmode."fg=".s:back   ."'"
 458 exe "let s:fg_base03    = ' ".s:vmode."fg=".s:base03 ."'"
 459 exe "let s:fg_base02    = ' ".s:vmode."fg=".s:base02 ."'"
 460 exe "let s:fg_base01    = ' ".s:vmode."fg=".s:base01 ."'"
 461 exe "let s:fg_base00    = ' ".s:vmode."fg=".s:base00 ."'"
 462 exe "let s:fg_base0     = ' ".s:vmode."fg=".s:base0  ."'"
 463 exe "let s:fg_base1     = ' ".s:vmode."fg=".s:base1  ."'"
 464 exe "let s:fg_base2     = ' ".s:vmode."fg=".s:base2  ."'"
 465 exe "let s:fg_base3     = ' ".s:vmode."fg=".s:base3  ."'"
 466 exe "let s:fg_green     = ' ".s:vmode."fg=".s:green  ."'"
 467 exe "let s:fg_yellow    = ' ".s:vmode."fg=".s:yellow ."'"
 468 exe "let s:fg_orange    = ' ".s:vmode."fg=".s:orange ."'"
 469 exe "let s:fg_red       = ' ".s:vmode."fg=".s:red    ."'"
 470 exe "let s:fg_magenta   = ' ".s:vmode."fg=".s:magenta."'"
 471 exe "let s:fg_violet    = ' ".s:vmode."fg=".s:violet ."'"
 472 exe "let s:fg_blue      = ' ".s:vmode."fg=".s:blue   ."'"
 473 exe "let s:fg_cyan      = ' ".s:vmode."fg=".s:cyan   ."'"
 474 
 475 exe "let s:fmt_none     = ' ".s:vmode."=NONE".          " term=NONE".    "'"
 476 exe "let s:fmt_bold     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'"
 477 exe "let s:fmt_bldi     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'"
 478 exe "let s:fmt_undr     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'"
 479 exe "let s:fmt_undb     = ' ".s:vmode."=NONE".s:u.s:b.  " term=NONE".s:u.s:b."'"
 480 exe "let s:fmt_undi     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'"
 481 exe "let s:fmt_uopt     = ' ".s:vmode."=NONE".s:ou.     " term=NONE".s:ou."'"
 482 exe "let s:fmt_curl     = ' ".s:vmode."=NONE".s:c.      " term=NONE".s:c."'"
 483 exe "let s:fmt_ital     = ' ".s:vmode."=NONE".s:i.      " term=NONE".s:i."'"
 484 exe "let s:fmt_stnd     = ' ".s:vmode."=NONE".s:s.      " term=NONE".s:s."'"
 485 exe "let s:fmt_revr     = ' ".s:vmode."=NONE".s:r.      " term=NONE".s:r."'"
 486 exe "let s:fmt_revb     = ' ".s:vmode."=NONE".s:r.s:b.  " term=NONE".s:r.s:b."'"
 487 " revbb (reverse bold for bright colors) is only set to actual bold in low 
 488 " color terminals (t_co=8, such as OS X Terminal.app) and should only be used 
 489 " with colors 8-15.
 490 exe "let s:fmt_revbb    = ' ".s:vmode."=NONE".s:r.s:bb.   " term=NONE".s:r.s:bb."'"
 491 exe "let s:fmt_revbbu   = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'"
 492 
 493 if has("gui_running")
 494     exe "let s:sp_none      = ' guisp=".s:none   ."'"
 495     exe "let s:sp_back      = ' guisp=".s:back   ."'"
 496     exe "let s:sp_base03    = ' guisp=".s:base03 ."'"
 497     exe "let s:sp_base02    = ' guisp=".s:base02 ."'"
 498     exe "let s:sp_base01    = ' guisp=".s:base01 ."'"
 499     exe "let s:sp_base00    = ' guisp=".s:base00 ."'"
 500     exe "let s:sp_base0     = ' guisp=".s:base0  ."'"
 501     exe "let s:sp_base1     = ' guisp=".s:base1  ."'"
 502     exe "let s:sp_base2     = ' guisp=".s:base2  ."'"
 503     exe "let s:sp_base3     = ' guisp=".s:base3  ."'"
 504     exe "let s:sp_green     = ' guisp=".s:green  ."'"
 505     exe "let s:sp_yellow    = ' guisp=".s:yellow ."'"
 506     exe "let s:sp_orange    = ' guisp=".s:orange ."'"
 507     exe "let s:sp_red       = ' guisp=".s:red    ."'"
 508     exe "let s:sp_magenta   = ' guisp=".s:magenta."'"
 509     exe "let s:sp_violet    = ' guisp=".s:violet ."'"
 510     exe "let s:sp_blue      = ' guisp=".s:blue   ."'"
 511     exe "let s:sp_cyan      = ' guisp=".s:cyan   ."'"
 512 else
 513     let s:sp_none      = ""
 514     let s:sp_back      = ""
 515     let s:sp_base03    = ""
 516     let s:sp_base02    = ""
 517     let s:sp_base01    = ""
 518     let s:sp_base00    = ""
 519     let s:sp_base0     = ""
 520     let s:sp_base1     = ""
 521     let s:sp_base2     = ""
 522     let s:sp_base3     = ""
 523     let s:sp_green     = ""
 524     let s:sp_yellow    = ""
 525     let s:sp_orange    = ""
 526     let s:sp_red       = ""
 527     let s:sp_magenta   = ""
 528     let s:sp_violet    = ""
 529     let s:sp_blue      = ""
 530     let s:sp_cyan      = ""
 531 endif
 532 
 533 "}}}
 534 " Basic highlighting"{{{
 535 " ---------------------------------------------------------------------
 536 " note that link syntax to avoid duplicate configuration doesn't work with the
 537 " exe compiled formats
 538 
 539 exe "hi! Normal"         .s:fmt_none   .s:fg_base0  .s:bg_back
 540 
 541 exe "hi! Comment"        .s:fmt_ital   .s:fg_base01 .s:bg_none
 542 "       *Comment         any comment
 543 
 544 exe "hi! Constant"       .s:fmt_none   .s:fg_cyan   .s:bg_none
 545 "       *Constant        any constant
 546 "        String          a string constant: "this is a string"
 547 "        Character       a character constant: 'c', '\n'
 548 "        Number          a number constant: 234, 0xff
 549 "        Boolean         a boolean constant: TRUE, false
 550 "        Float           a floating point constant: 2.3e10
 551 
 552 exe "hi! Identifier"     .s:fmt_none   .s:fg_blue   .s:bg_none
 553 "       *Identifier      any variable name
 554 "        Function        function name (also: methods for classes)
 555 "
 556 exe "hi! Statement"      .s:fmt_none   .s:fg_green  .s:bg_none
 557 "       *Statement       any statement
 558 "        Conditional     if, then, else, endif, switch, etc.
 559 "        Repeat          for, do, while, etc.
 560 "        Label           case, default, etc.
 561 "        Operator        "sizeof", "+", "*", etc.
 562 "        Keyword         any other keyword
 563 "        Exception       try, catch, throw
 564 
 565 exe "hi! PreProc"        .s:fmt_none   .s:fg_orange .s:bg_none
 566 "       *PreProc         generic Preprocessor
 567 "        Include         preprocessor #include
 568 "        Define          preprocessor #define
 569 "        Macro           same as Define
 570 "        PreCondit       preprocessor #if, #else, #endif, etc.
 571 
 572 exe "hi! Type"           .s:fmt_none   .s:fg_yellow .s:bg_none
 573 "       *Type            int, long, char, etc.
 574 "        StorageClass    static, register, volatile, etc.
 575 "        Structure       struct, union, enum, etc.
 576 "        Typedef         A typedef
 577 
 578 exe "hi! Special"        .s:fmt_none   .s:fg_red    .s:bg_none
 579 "       *Special         any special symbol
 580 "        SpecialChar     special character in a constant
 581 "        Tag             you can use CTRL-] on this
 582 "        Delimiter       character that needs attention
 583 "        SpecialComment  special things inside a comment
 584 "        Debug           debugging statements
 585 
 586 exe "hi! Underlined"     .s:fmt_none   .s:fg_violet .s:bg_none
 587 "       *Underlined      text that stands out, HTML links
 588 
 589 exe "hi! Ignore"         .s:fmt_none   .s:fg_none   .s:bg_none
 590 "       *Ignore          left blank, hidden  |hl-Ignore|
 591 
 592 exe "hi! Error"          .s:fmt_bold   .s:fg_red    .s:bg_none
 593 "       *Error           any erroneous construct
 594 
 595 exe "hi! Todo"           .s:fmt_bold   .s:fg_magenta.s:bg_none
 596 "       *Todo            anything that needs extra attention; mostly the
 597 "                        keywords TODO FIXME and XXX
 598 "
 599 "}}}
 600 " Extended highlighting "{{{
 601 " ---------------------------------------------------------------------
 602 if      (g:solarized_visibility=="high")
 603     exe "hi! SpecialKey" .s:fmt_revr   .s:fg_red    .s:bg_none
 604     exe "hi! NonText"    .s:fmt_bold   .s:fg_red    .s:bg_none
 605 elseif  (g:solarized_visibility=="low")
 606     exe "hi! SpecialKey" .s:fmt_bold   .s:fg_base02 .s:bg_none
 607     exe "hi! NonText"    .s:fmt_bold   .s:fg_base02 .s:bg_none
 608 else
 609     exe "hi! SpecialKey" .s:fmt_bold   .s:fg_base00 .s:bg_base02
 610     exe "hi! NonText"    .s:fmt_bold   .s:fg_base00 .s:bg_none
 611 endif
 612 exe "hi! StatusLine"     .s:fmt_none   .s:fg_base1  .s:bg_base02 .s:fmt_revbb
 613 exe "hi! StatusLineNC"   .s:fmt_none   .s:fg_base00 .s:bg_base02 .s:fmt_revbb
 614 exe "hi! Visual"         .s:fmt_none   .s:fg_base01 .s:bg_base03 .s:fmt_revbb
 615 exe "hi! Directory"      .s:fmt_none   .s:fg_blue   .s:bg_none
 616 exe "hi! ErrorMsg"       .s:fmt_revr   .s:fg_red    .s:bg_none
 617 exe "hi! IncSearch"      .s:fmt_stnd   .s:fg_orange .s:bg_none
 618 exe "hi! Search"         .s:fmt_revr   .s:fg_yellow .s:bg_none
 619 exe "hi! MoreMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none
 620 exe "hi! ModeMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none
 621 exe "hi! LineNr"         .s:fmt_none   .s:fg_base01 .s:bg_base02
 622 exe "hi! Question"       .s:fmt_bold   .s:fg_cyan   .s:bg_none
 623 if ( has("gui_running") || &t_Co > 8 )
 624     exe "hi! VertSplit"  .s:fmt_none   .s:fg_base00 .s:bg_base00
 625 else
 626     exe "hi! VertSplit"  .s:fmt_revbb  .s:fg_base00 .s:bg_base02
 627 endif
 628 exe "hi! Title"          .s:fmt_bold   .s:fg_orange .s:bg_none
 629 exe "hi! VisualNOS"      .s:fmt_stnd   .s:fg_none   .s:bg_base02 .s:fmt_revbb
 630 exe "hi! WarningMsg"     .s:fmt_bold   .s:fg_red    .s:bg_none
 631 exe "hi! WildMenu"       .s:fmt_none   .s:fg_base2  .s:bg_base02 .s:fmt_revbb
 632 exe "hi! Folded"         .s:fmt_undb   .s:fg_base0  .s:bg_base02  .s:sp_base03
 633 exe "hi! FoldColumn"     .s:fmt_none   .s:fg_base0  .s:bg_base02
 634 if      (g:solarized_diffmode=="high")
 635 exe "hi! DiffAdd"        .s:fmt_revr   .s:fg_green  .s:bg_none
 636 exe "hi! DiffChange"     .s:fmt_revr   .s:fg_yellow .s:bg_none
 637 exe "hi! DiffDelete"     .s:fmt_revr   .s:fg_red    .s:bg_none
 638 exe "hi! DiffText"       .s:fmt_revr   .s:fg_blue   .s:bg_none
 639 elseif  (g:solarized_diffmode=="low")
 640 exe "hi! DiffAdd"        .s:fmt_undr   .s:fg_green  .s:bg_none   .s:sp_green
 641 exe "hi! DiffChange"     .s:fmt_undr   .s:fg_yellow .s:bg_none   .s:sp_yellow
 642 exe "hi! DiffDelete"     .s:fmt_bold   .s:fg_red    .s:bg_none
 643 exe "hi! DiffText"       .s:fmt_undr   .s:fg_blue   .s:bg_none   .s:sp_blue
 644 else " normal
 645     if has("gui_running")
 646 exe "hi! DiffAdd"        .s:fmt_bold   .s:fg_green  .s:bg_base02 .s:sp_green
 647 exe "hi! DiffChange"     .s:fmt_bold   .s:fg_yellow .s:bg_base02 .s:sp_yellow
 648 exe "hi! DiffDelete"     .s:fmt_bold   .s:fg_red    .s:bg_base02
 649 exe "hi! DiffText"       .s:fmt_bold   .s:fg_blue   .s:bg_base02 .s:sp_blue
 650     else
 651 exe "hi! DiffAdd"        .s:fmt_none   .s:fg_green  .s:bg_base02 .s:sp_green
 652 exe "hi! DiffChange"     .s:fmt_none   .s:fg_yellow .s:bg_base02 .s:sp_yellow
 653 exe "hi! DiffDelete"     .s:fmt_none   .s:fg_red    .s:bg_base02
 654 exe "hi! DiffText"       .s:fmt_none   .s:fg_blue   .s:bg_base02 .s:sp_blue
 655     endif
 656 endif
 657 exe "hi! SignColumn"     .s:fmt_none   .s:fg_base0
 658 exe "hi! Conceal"        .s:fmt_none   .s:fg_blue   .s:bg_none
 659 exe "hi! SpellBad"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_red
 660 exe "hi! SpellCap"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_violet
 661 exe "hi! SpellRare"      .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_cyan
 662 exe "hi! SpellLocal"     .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_yellow
 663 exe "hi! Pmenu"          .s:fmt_none   .s:fg_base0  .s:bg_base02  .s:fmt_revbb
 664 exe "hi! PmenuSel"       .s:fmt_none   .s:fg_base01 .s:bg_base2   .s:fmt_revbb
 665 exe "hi! PmenuSbar"      .s:fmt_none   .s:fg_base2  .s:bg_base0   .s:fmt_revbb
 666 exe "hi! PmenuThumb"     .s:fmt_none   .s:fg_base0  .s:bg_base03  .s:fmt_revbb
 667 exe "hi! TabLine"        .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0
 668 exe "hi! TabLineFill"    .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0
 669 exe "hi! TabLineSel"     .s:fmt_undr   .s:fg_base01 .s:bg_base2   .s:sp_base0  .s:fmt_revbbu
 670 exe "hi! CursorColumn"   .s:fmt_none   .s:fg_none   .s:bg_base02
 671 exe "hi! CursorLine"     .s:fmt_uopt   .s:fg_none   .s:bg_base02  .s:sp_base1
 672 exe "hi! ColorColumn"    .s:fmt_none   .s:fg_none   .s:bg_base02
 673 exe "hi! Cursor"         .s:fmt_none   .s:fg_base03 .s:bg_base0
 674 hi! link lCursor Cursor
 675 exe "hi! MatchParen"     .s:fmt_bold   .s:fg_red    .s:bg_base01
 676 
 677 "}}}
 678 " vim syntax highlighting "{{{
 679 " ---------------------------------------------------------------------
 680 "exe "hi! vimLineComment" . s:fg_base01 .s:bg_none   .s:fmt_ital
 681 "hi! link vimComment Comment
 682 "hi! link vimLineComment Comment
 683 hi! link vimVar Identifier
 684 hi! link vimFunc Function
 685 hi! link vimUserFunc Function
 686 hi! link helpSpecial Special
 687 hi! link vimSet Normal
 688 hi! link vimSetEqual Normal
 689 exe "hi! vimCommentString"  .s:fmt_none    .s:fg_violet .s:bg_none
 690 exe "hi! vimCommand"        .s:fmt_none    .s:fg_yellow .s:bg_none
 691 exe "hi! vimCmdSep"         .s:fmt_bold    .s:fg_blue   .s:bg_none
 692 exe "hi! helpExample"       .s:fmt_none    .s:fg_base1  .s:bg_none
 693 exe "hi! helpOption"        .s:fmt_none    .s:fg_cyan   .s:bg_none
 694 exe "hi! helpNote"          .s:fmt_none    .s:fg_magenta.s:bg_none
 695 exe "hi! helpVim"           .s:fmt_none    .s:fg_magenta.s:bg_none
 696 exe "hi! helpHyperTextJump" .s:fmt_undr    .s:fg_blue   .s:bg_none
 697 exe "hi! helpHyperTextEntry".s:fmt_none    .s:fg_green  .s:bg_none
 698 exe "hi! vimIsCommand"      .s:fmt_none    .s:fg_base00 .s:bg_none
 699 exe "hi! vimSynMtchOpt"     .s:fmt_none    .s:fg_yellow .s:bg_none
 700 exe "hi! vimSynType"        .s:fmt_none    .s:fg_cyan   .s:bg_none
 701 exe "hi! vimHiLink"         .s:fmt_none    .s:fg_blue   .s:bg_none
 702 exe "hi! vimHiGroup"        .s:fmt_none    .s:fg_blue   .s:bg_none
 703 exe "hi! vimGroup"          .s:fmt_undb    .s:fg_blue   .s:bg_none
 704 "}}}
 705 " diff highlighting "{{{
 706 " ---------------------------------------------------------------------
 707 hi! link diffAdded Statement
 708 hi! link diffLine Identifier
 709 "}}}
 710 " git & gitcommit highlighting "{{{
 711 "git
 712 "exe "hi! gitDateHeader"
 713 "exe "hi! gitIdentityHeader"
 714 "exe "hi! gitIdentityKeyword"
 715 "exe "hi! gitNotesHeader"
 716 "exe "hi! gitReflogHeader"
 717 "exe "hi! gitKeyword"
 718 "exe "hi! gitIdentity"
 719 "exe "hi! gitEmailDelimiter"
 720 "exe "hi! gitEmail"
 721 "exe "hi! gitDate"
 722 "exe "hi! gitMode"
 723 "exe "hi! gitHashAbbrev"
 724 "exe "hi! gitHash"
 725 "exe "hi! gitReflogMiddle"
 726 "exe "hi! gitReference"
 727 "exe "hi! gitStage"
 728 "exe "hi! gitType"
 729 "exe "hi! gitDiffAdded"
 730 "exe "hi! gitDiffRemoved"
 731 "gitcommit
 732 "exe "hi! gitcommitSummary"      
 733 exe "hi! gitcommitComment"      .s:fmt_ital     .s:fg_base01    .s:bg_none
 734 hi! link gitcommitUntracked gitcommitComment
 735 hi! link gitcommitDiscarded gitcommitComment
 736 hi! link gitcommitSelected  gitcommitComment
 737 exe "hi! gitcommitUnmerged"     .s:fmt_bold     .s:fg_green     .s:bg_none
 738 exe "hi! gitcommitOnBranch"     .s:fmt_bold     .s:fg_base01    .s:bg_none
 739 exe "hi! gitcommitBranch"       .s:fmt_bold     .s:fg_magenta   .s:bg_none
 740 hi! link gitcommitNoBranch gitcommitBranch
 741 exe "hi! gitcommitDiscardedType".s:fmt_none     .s:fg_red       .s:bg_none
 742 exe "hi! gitcommitSelectedType" .s:fmt_none     .s:fg_green     .s:bg_none
 743 "exe "hi! gitcommitUnmergedType"
 744 "exe "hi! gitcommitType"
 745 "exe "hi! gitcommitNoChanges"
 746 "exe "hi! gitcommitHeader"
 747 exe "hi! gitcommitHeader"       .s:fmt_none     .s:fg_base01    .s:bg_none
 748 exe "hi! gitcommitUntrackedFile".s:fmt_bold     .s:fg_cyan      .s:bg_none
 749 exe "hi! gitcommitDiscardedFile".s:fmt_bold     .s:fg_red       .s:bg_none
 750 exe "hi! gitcommitSelectedFile" .s:fmt_bold     .s:fg_green     .s:bg_none
 751 exe "hi! gitcommitUnmergedFile" .s:fmt_bold     .s:fg_yellow    .s:bg_none
 752 exe "hi! gitcommitFile"         .s:fmt_bold     .s:fg_base0     .s:bg_none
 753 hi! link gitcommitDiscardedArrow gitcommitDiscardedFile
 754 hi! link gitcommitSelectedArrow  gitcommitSelectedFile
 755 hi! link gitcommitUnmergedArrow  gitcommitUnmergedFile
 756 "exe "hi! gitcommitArrow"
 757 "exe "hi! gitcommitOverflow"
 758 "exe "hi! gitcommitBlank"
 759 " }}}
 760 " html highlighting "{{{
 761 " ---------------------------------------------------------------------
 762 exe "hi! htmlTag"           .s:fmt_none .s:fg_base01 .s:bg_none
 763 exe "hi! htmlEndTag"        .s:fmt_none .s:fg_base01 .s:bg_none
 764 exe "hi! htmlTagN"          .s:fmt_bold .s:fg_base1  .s:bg_none
 765 exe "hi! htmlTagName"       .s:fmt_bold .s:fg_blue   .s:bg_none
 766 exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue   .s:bg_none
 767 exe "hi! htmlArg"           .s:fmt_none .s:fg_base00 .s:bg_none
 768 exe "hi! javaScript"        .s:fmt_none .s:fg_yellow .s:bg_none
 769 "}}}
 770 " perl highlighting "{{{
 771 " ---------------------------------------------------------------------
 772 exe "hi! perlHereDoc"    . s:fg_base1  .s:bg_back   .s:fmt_none
 773 exe "hi! perlVarPlain"   . s:fg_yellow .s:bg_back   .s:fmt_none
 774 exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none
 775 
 776 "}}}
 777 " tex highlighting "{{{
 778 " ---------------------------------------------------------------------
 779 exe "hi! texStatement"   . s:fg_cyan   .s:bg_back   .s:fmt_none
 780 exe "hi! texMathZoneX"   . s:fg_yellow .s:bg_back   .s:fmt_none
 781 exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none
 782 exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none
 783 exe "hi! texRefLabel"    . s:fg_yellow .s:bg_back   .s:fmt_none
 784 "}}}
 785 " ruby highlighting "{{{
 786 " ---------------------------------------------------------------------
 787 exe "hi! rubyDefine"     . s:fg_base1  .s:bg_back   .s:fmt_bold
 788 "rubyInclude
 789 "rubySharpBang
 790 "rubyAccess
 791 "rubyPredefinedVariable
 792 "rubyBoolean
 793 "rubyClassVariable
 794 "rubyBeginEnd
 795 "rubyRepeatModifier
 796 "hi! link rubyArrayDelimiter    Special  " [ , , ]
 797 "rubyCurlyBlock  { , , }
 798 
 799 "hi! link rubyClass             Keyword
 800 "hi! link rubyModule            Keyword
 801 "hi! link rubyKeyword           Keyword
 802 "hi! link rubyOperator          Operator
 803 "hi! link rubyIdentifier        Identifier
 804 "hi! link rubyInstanceVariable  Identifier
 805 "hi! link rubyGlobalVariable    Identifier
 806 "hi! link rubyClassVariable     Identifier
 807 "hi! link rubyConstant          Type
 808 "}}}
 809 " haskell syntax highlighting"{{{
 810 " ---------------------------------------------------------------------
 811 " For use with syntax/haskell.vim : Haskell Syntax File
 812 " http://www.vim.org/scripts/script.php?script_id=3034
 813 " See also Steffen Siering's github repository:
 814 " http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim
 815 " ---------------------------------------------------------------------
 816 "
 817 " Treat True and False specially, see the plugin referenced above
 818 let hs_highlight_boolean=1
 819 " highlight delims, see the plugin referenced above
 820 let hs_highlight_delimiters=1
 821 
 822 exe "hi! cPreCondit". s:fg_orange.s:bg_none   .s:fmt_none
 823 
 824 exe "hi! VarId"    . s:fg_blue   .s:bg_none   .s:fmt_none
 825 exe "hi! ConId"    . s:fg_yellow .s:bg_none   .s:fmt_none
 826 exe "hi! hsImport" . s:fg_magenta.s:bg_none   .s:fmt_none
 827 exe "hi! hsString" . s:fg_base00 .s:bg_none   .s:fmt_none
 828 
 829 exe "hi! hsStructure"        . s:fg_cyan   .s:bg_none   .s:fmt_none
 830 exe "hi! hs_hlFunctionName"  . s:fg_blue   .s:bg_none
 831 exe "hi! hsStatement"        . s:fg_cyan   .s:bg_none   .s:fmt_none
 832 exe "hi! hsImportLabel"      . s:fg_cyan   .s:bg_none   .s:fmt_none
 833 exe "hi! hs_OpFunctionName"  . s:fg_yellow .s:bg_none   .s:fmt_none
 834 exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none   .s:fmt_none
 835 exe "hi! hsVarSym"           . s:fg_cyan   .s:bg_none   .s:fmt_none
 836 exe "hi! hsType"             . s:fg_yellow .s:bg_none   .s:fmt_none
 837 exe "hi! hsTypedef"          . s:fg_cyan   .s:bg_none   .s:fmt_none
 838 exe "hi! hsModuleName"       . s:fg_green  .s:bg_none   .s:fmt_undr
 839 exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none   .s:fmt_none
 840 hi! link hsImportParams      Delimiter
 841 hi! link hsDelimTypeExport   Delimiter
 842 hi! link hsModuleStartLabel  hsStructure
 843 hi! link hsModuleWhereLabel  hsModuleStartLabel
 844 
 845 " following is for the haskell-conceal plugin
 846 " the first two items don't have an impact, but better safe
 847 exe "hi! hsNiceOperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 848 exe "hi! hsniceoperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 849 
 850 "}}}
 851 " pandoc markdown syntax highlighting "{{{
 852 " ---------------------------------------------------------------------
 853 
 854 "PandocHiLink pandocNormalBlock
 855 exe "hi! pandocTitleBlock"               .s:fg_blue   .s:bg_none   .s:fmt_none
 856 exe "hi! pandocTitleBlockTitle"          .s:fg_blue   .s:bg_none   .s:fmt_bold
 857 exe "hi! pandocTitleComment"             .s:fg_blue   .s:bg_none   .s:fmt_bold
 858 exe "hi! pandocComment"                  .s:fg_base01 .s:bg_none   .s:fmt_ital
 859 exe "hi! pandocVerbatimBlock"            .s:fg_yellow .s:bg_none   .s:fmt_none
 860 hi! link pandocVerbatimBlockDeep         pandocVerbatimBlock
 861 hi! link pandocCodeBlock                 pandocVerbatimBlock
 862 hi! link pandocCodeBlockDelim            pandocVerbatimBlock
 863 exe "hi! pandocBlockQuote"               .s:fg_blue   .s:bg_none   .s:fmt_none
 864 exe "hi! pandocBlockQuoteLeader1"        .s:fg_blue   .s:bg_none   .s:fmt_none
 865 exe "hi! pandocBlockQuoteLeader2"        .s:fg_cyan   .s:bg_none   .s:fmt_none
 866 exe "hi! pandocBlockQuoteLeader3"        .s:fg_yellow .s:bg_none   .s:fmt_none
 867 exe "hi! pandocBlockQuoteLeader4"        .s:fg_red    .s:bg_none   .s:fmt_none
 868 exe "hi! pandocBlockQuoteLeader5"        .s:fg_base0  .s:bg_none   .s:fmt_none
 869 exe "hi! pandocBlockQuoteLeader6"        .s:fg_base01 .s:bg_none   .s:fmt_none
 870 exe "hi! pandocListMarker"               .s:fg_magenta.s:bg_none   .s:fmt_none
 871 exe "hi! pandocListReference"            .s:fg_magenta.s:bg_none   .s:fmt_undr
 872 
 873 " Definitions
 874 " ---------------------------------------------------------------------
 875 let s:fg_pdef = s:fg_violet
 876 exe "hi! pandocDefinitionBlock"              .s:fg_pdef  .s:bg_none  .s:fmt_none
 877 exe "hi! pandocDefinitionTerm"               .s:fg_pdef  .s:bg_none  .s:fmt_stnd
 878 exe "hi! pandocDefinitionIndctr"             .s:fg_pdef  .s:bg_none  .s:fmt_bold
 879 exe "hi! pandocEmphasisDefinition"           .s:fg_pdef  .s:bg_none  .s:fmt_ital
 880 exe "hi! pandocEmphasisNestedDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bldi
 881 exe "hi! pandocStrongEmphasisDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bold
 882 exe "hi! pandocStrongEmphasisNestedDefinition"   .s:fg_pdef.s:bg_none.s:fmt_bldi
 883 exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
 884 exe "hi! pandocStrikeoutDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_revr
 885 exe "hi! pandocVerbatimInlineDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_none
 886 exe "hi! pandocSuperscriptDefinition"        .s:fg_pdef  .s:bg_none  .s:fmt_none
 887 exe "hi! pandocSubscriptDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_none
 888 
 889 " Tables
 890 " ---------------------------------------------------------------------
 891 let s:fg_ptable = s:fg_blue
 892 exe "hi! pandocTable"                        .s:fg_ptable.s:bg_none  .s:fmt_none
 893 exe "hi! pandocTableStructure"               .s:fg_ptable.s:bg_none  .s:fmt_none
 894 hi! link pandocTableStructureTop             pandocTableStructre
 895 hi! link pandocTableStructureEnd             pandocTableStructre
 896 exe "hi! pandocTableZebraLight"              .s:fg_ptable.s:bg_base03.s:fmt_none
 897 exe "hi! pandocTableZebraDark"               .s:fg_ptable.s:bg_base02.s:fmt_none
 898 exe "hi! pandocEmphasisTable"                .s:fg_ptable.s:bg_none  .s:fmt_ital
 899 exe "hi! pandocEmphasisNestedTable"          .s:fg_ptable.s:bg_none  .s:fmt_bldi
 900 exe "hi! pandocStrongEmphasisTable"          .s:fg_ptable.s:bg_none  .s:fmt_bold
 901 exe "hi! pandocStrongEmphasisNestedTable"    .s:fg_ptable.s:bg_none  .s:fmt_bldi
 902 exe "hi! pandocStrongEmphasisEmphasisTable"  .s:fg_ptable.s:bg_none  .s:fmt_bldi
 903 exe "hi! pandocStrikeoutTable"               .s:fg_ptable.s:bg_none  .s:fmt_revr
 904 exe "hi! pandocVerbatimInlineTable"          .s:fg_ptable.s:bg_none  .s:fmt_none
 905 exe "hi! pandocSuperscriptTable"             .s:fg_ptable.s:bg_none  .s:fmt_none
 906 exe "hi! pandocSubscriptTable"               .s:fg_ptable.s:bg_none  .s:fmt_none
 907 
 908 " Headings
 909 " ---------------------------------------------------------------------
 910 let s:fg_phead = s:fg_orange
 911 exe "hi! pandocHeading"                      .s:fg_phead .s:bg_none.s:fmt_bold
 912 exe "hi! pandocHeadingMarker"                .s:fg_yellow.s:bg_none.s:fmt_bold
 913 exe "hi! pandocEmphasisHeading"              .s:fg_phead .s:bg_none.s:fmt_bldi
 914 exe "hi! pandocEmphasisNestedHeading"        .s:fg_phead .s:bg_none.s:fmt_bldi
 915 exe "hi! pandocStrongEmphasisHeading"        .s:fg_phead .s:bg_none.s:fmt_bold
 916 exe "hi! pandocStrongEmphasisNestedHeading"  .s:fg_phead .s:bg_none.s:fmt_bldi
 917 exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi
 918 exe "hi! pandocStrikeoutHeading"             .s:fg_phead .s:bg_none.s:fmt_revr
 919 exe "hi! pandocVerbatimInlineHeading"        .s:fg_phead .s:bg_none.s:fmt_bold
 920 exe "hi! pandocSuperscriptHeading"           .s:fg_phead .s:bg_none.s:fmt_bold
 921 exe "hi! pandocSubscriptHeading"             .s:fg_phead .s:bg_none.s:fmt_bold
 922 
 923 " Links
 924 " ---------------------------------------------------------------------
 925 exe "hi! pandocLinkDelim"                .s:fg_base01 .s:bg_none   .s:fmt_none
 926 exe "hi! pandocLinkLabel"                .s:fg_blue   .s:bg_none   .s:fmt_undr
 927 exe "hi! pandocLinkText"                 .s:fg_blue   .s:bg_none   .s:fmt_undb
 928 exe "hi! pandocLinkURL"                  .s:fg_base00 .s:bg_none   .s:fmt_undr
 929 exe "hi! pandocLinkTitle"                .s:fg_base00 .s:bg_none   .s:fmt_undi
 930 exe "hi! pandocLinkTitleDelim"           .s:fg_base01 .s:bg_none   .s:fmt_undi   .s:sp_base00
 931 exe "hi! pandocLinkDefinition"           .s:fg_cyan   .s:bg_none   .s:fmt_undr   .s:sp_base00
 932 exe "hi! pandocLinkDefinitionID"         .s:fg_blue   .s:bg_none   .s:fmt_bold
 933 exe "hi! pandocImageCaption"             .s:fg_violet .s:bg_none   .s:fmt_undb
 934 exe "hi! pandocFootnoteLink"             .s:fg_green  .s:bg_none   .s:fmt_undr
 935 exe "hi! pandocFootnoteDefLink"          .s:fg_green  .s:bg_none   .s:fmt_bold
 936 exe "hi! pandocFootnoteInline"           .s:fg_green  .s:bg_none   .s:fmt_undb
 937 exe "hi! pandocFootnote"                 .s:fg_green  .s:bg_none   .s:fmt_none
 938 exe "hi! pandocCitationDelim"            .s:fg_magenta.s:bg_none   .s:fmt_none
 939 exe "hi! pandocCitation"                 .s:fg_magenta.s:bg_none   .s:fmt_none
 940 exe "hi! pandocCitationID"               .s:fg_magenta.s:bg_none   .s:fmt_undr
 941 exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none
 942 
 943 " Main Styles
 944 " ---------------------------------------------------------------------
 945 exe "hi! pandocStyleDelim"               .s:fg_base01 .s:bg_none  .s:fmt_none
 946 exe "hi! pandocEmphasis"                 .s:fg_base0  .s:bg_none  .s:fmt_ital
 947 exe "hi! pandocEmphasisNested"           .s:fg_base0  .s:bg_none  .s:fmt_bldi
 948 exe "hi! pandocStrongEmphasis"           .s:fg_base0  .s:bg_none  .s:fmt_bold
 949 exe "hi! pandocStrongEmphasisNested"     .s:fg_base0  .s:bg_none  .s:fmt_bldi
 950 exe "hi! pandocStrongEmphasisEmphasis"   .s:fg_base0  .s:bg_none  .s:fmt_bldi
 951 exe "hi! pandocStrikeout"                .s:fg_base01 .s:bg_none  .s:fmt_revr
 952 exe "hi! pandocVerbatimInline"           .s:fg_yellow .s:bg_none  .s:fmt_none
 953 exe "hi! pandocSuperscript"              .s:fg_violet .s:bg_none  .s:fmt_none
 954 exe "hi! pandocSubscript"                .s:fg_violet .s:bg_none  .s:fmt_none
 955 
 956 exe "hi! pandocRule"                     .s:fg_blue   .s:bg_none  .s:fmt_bold
 957 exe "hi! pandocRuleLine"                 .s:fg_blue   .s:bg_none  .s:fmt_bold
 958 exe "hi! pandocEscapePair"               .s:fg_red    .s:bg_none  .s:fmt_bold
 959 exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none
 960 exe "hi! pandocNonBreakingSpace"         . s:fg_red   .s:bg_none  .s:fmt_revr
 961 hi! link pandocEscapedCharacter          pandocEscapePair
 962 hi! link pandocLineBreak                 pandocEscapePair
 963 
 964 " Embedded Code
 965 " ---------------------------------------------------------------------
 966 exe "hi! pandocMetadataDelim"            .s:fg_base01 .s:bg_none   .s:fmt_none
 967 exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_none
 968 exe "hi! pandocMetadataKey"              .s:fg_blue   .s:bg_none   .s:fmt_none
 969 exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_bold
 970 hi! link pandocMetadataTitle             pandocMetadata
 971 
 972 "}}}
 973 " Utility autocommand "{{{
 974 " ---------------------------------------------------------------------
 975 " In cases where Solarized is initialized inside a terminal vim session and 
 976 " then transferred to a gui session via the command `:gui`, the gui vim process 
 977 " does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui` 
 978 " related code that sets gui specific values isn't executed.
 979 "
 980 " Currently, Solarized sets only the cterm or gui values for the colorscheme 
 981 " depending on gui or terminal mode. It's possible that, if the following 
 982 " autocommand method is deemed excessively poor form, that approach will be 
 983 " used again and the autocommand below will be dropped.
 984 "
 985 " However it seems relatively benign in this case to include the autocommand 
 986 " here. It fires only in cases where vim is transferring from terminal to gui 
 987 " mode (detected with the script scope s:vmode variable). It also allows for 
 988 " other potential terminal customizations that might make gui mode suboptimal.
 989 "
 990 autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif
 991 "}}}
 992 " Highlight Trailing Space {{{
 993 " Experimental: Different highlight when on cursorline
 994 function! s:SolarizedHiTrail()
 995     if g:solarized_hitrail==0
 996         hi! clear solarizedTrailingSpace
 997     else
 998         syn match solarizedTrailingSpace "\s*$"
 999         exe "hi! solarizedTrailingSpace " .s:fmt_undr .s:fg_red .s:bg_none .s:sp_red
1000     endif
1001 endfunction  
1002 augroup SolarizedHiTrail
1003     autocmd!
1004     if g:solarized_hitrail==1
1005         autocmd! Syntax * call s:SolarizedHiTrail()
1006         autocmd! ColorScheme * if g:colors_name == "solarized" | call s:SolarizedHiTrail() | else | augroup! s:SolarizedHiTrail | endif
1007     endif
1008 augroup END
1009 " }}}
1010 " Menus "{{{
1011 " ---------------------------------------------------------------------
1012 " Turn off Solarized menu by including the following assignment in your .vimrc:
1013 "
1014 "    let g:solarized_menu=0
1015 
1016 function! s:SolarizedOptions()
1017     new "new buffer
1018     setf vim "vim filetype
1019     let failed = append(0, s:defaults_list)
1020     let failed = append(0, s:colorscheme_list)
1021     let failed = append(0, s:options_list)
1022     let failed = append(0, s:lazycat_list)
1023     0 "jump back to the top
1024 endfunction
1025 if !exists(":SolarizedOptions")
1026     command SolarizedOptions :call s:SolarizedOptions()
1027 endif
1028 
1029 function! SolarizedMenu()
1030     if exists("g:loaded_solarized_menu")
1031         try
1032             silent! aunmenu Solarized
1033         endtry
1034     endif
1035     let g:loaded_solarized_menu = 1
1036 
1037     if g:colors_name == "solarized" && g:solarized_menu != 0
1038 
1039         amenu &Solarized.&Contrast.&Low\ Contrast        :let g:solarized_contrast="low"       \| colorscheme solarized
1040         amenu &Solarized.&Contrast.&Normal\ Contrast     :let g:solarized_contrast="normal"    \| colorscheme solarized
1041         amenu &Solarized.&Contrast.&High\ Contrast       :let g:solarized_contrast="high"      \| colorscheme solarized
1042         an    &Solarized.&Contrast.-sep-                 
1043         amenu &Solarized.&Contrast.&Help:\ Contrast      :help 'solarized_contrast'
1044 
1045         amenu &Solarized.&Visibility.&Low\ Visibility    :let g:solarized_visibility="low"     \| colorscheme solarized
1046         amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal"  \| colorscheme solarized
1047         amenu &Solarized.&Visibility.&High\ Visibility   :let g:solarized_visibility="high"    \| colorscheme solarized
1048         an    &Solarized.&Visibility.-sep-                 
1049         amenu &Solarized.&Visibility.&Help:\ Visibility    :help 'solarized_visibility'
1050 
1051         amenu &Solarized.&Background.&Toggle\ Background :ToggleBG
1052         amenu &Solarized.&Background.&Dark\ Background   :set background=dark  \| colorscheme solarized
1053         amenu &Solarized.&Background.&Light\ Background  :set background=light \| colorscheme solarized
1054         an    &Solarized.&Background.-sep-               
1055         amenu &Solarized.&Background.&Help:\ ToggleBG     :help togglebg
1056 
1057         if g:solarized_bold==0 | let l:boldswitch="On" | else | let l:boldswitch="Off" | endif
1058         exe "amenu &Solarized.&Styling.&Turn\\ Bold\\ ".l:boldswitch." :let g:solarized_bold=(abs(g:solarized_bold-1)) \\| colorscheme solarized"
1059         if g:solarized_italic==0 | let l:italicswitch="On" | else | let l:italicswitch="Off" | endif
1060         exe "amenu &Solarized.&Styling.&Turn\\ Italic\\ ".l:italicswitch." :let g:solarized_italic=(abs(g:solarized_italic-1)) \\| colorscheme solarized"
1061         if g:solarized_underline==0 | let l:underlineswitch="On" | else | let l:underlineswitch="Off" | endif
1062         exe "amenu &Solarized.&Styling.&Turn\\ Underline\\ ".l:underlineswitch." :let g:solarized_underline=(abs(g:solarized_underline-1)) \\| colorscheme solarized"
1063 
1064         amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode    :let g:solarized_diffmode="low"     \| colorscheme solarized
1065         amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal"  \| colorscheme solarized
1066         amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode   :let g:solarized_diffmode="high"    \| colorscheme solarized
1067 
1068         if g:solarized_hitrail==0 | let l:hitrailswitch="On" | else | let l:hitrailswitch="Off" | endif
1069         exe "amenu &Solarized.&Experimental.&Turn\\ Highlight\\ Trailing\\ Spaces\\ ".l:hitrailswitch." :let g:solarized_hitrail=(abs(g:solarized_hitrail-1)) \\| colorscheme solarized"
1070         an    &Solarized.&Experimental.-sep-               
1071         amenu &Solarized.&Experimental.&Help:\ HiTrail    :help 'solarized_hitrail'
1072 
1073         an    &Solarized.-sep1-                          
1074 
1075         amenu &Solarized.&Autogenerate\ options          :SolarizedOptions
1076 
1077         an    &Solarized.-sep2-                          
1078 
1079         amenu &Solarized.&Help.&Solarized\ Help          :help solarized
1080         amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg
1081         amenu &Solarized.&Help.&Removing\ This\ Menu     :help solarized-menu
1082 
1083         an 9999.77 &Help.&Solarized\ Colorscheme         :help solarized
1084         an 9999.78 &Help.&Toggle\ Background             :help togglebg
1085         an 9999.79 &Help.-sep3-                          
1086 
1087     endif
1088 endfunction
1089 
1090 autocmd ColorScheme * if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif
1091 
1092 "}}}
1093 " License "{{{
1094 " ---------------------------------------------------------------------
1095 "
1096 " Copyright (c) 2011 Ethan Schoonover
1097 "
1098 " Permission is hereby granted, free of charge, to any person obtaining a copy
1099 " of this software and associated documentation files (the "Software"), to deal
1100 " in the Software without restriction, including without limitation the rights
1101 " to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1102 " copies of the Software, and to permit persons to whom the Software is
1103 " furnished to do so, subject to the following conditions:
1104 "
1105 " The above copyright notice and this permission notice shall be included in
1106 " all copies or substantial portions of the Software.
1107 "
1108 " THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1109 " IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1110 " FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1111 " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1112 " LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1113 " OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1114 " THE SOFTWARE.
1115 "
1116 " vim:foldmethod=marker:foldlevel=0
1117 "}}}
Proxy Information
Original URL
gemini://r.bdr.sh/git/dotfiles/tree/b945717bde6231332093f4715e492c8ed7c6bd8a/vim/colors/solarized.vim
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
635.425938 milliseconds
Gemini-to-HTML Time
2.077421 milliseconds

This content has been proxied by September (ba2dc).