|  | @@ -0,0 +1,969 @@
 | 
	
		
			
				|  |  | +" Name:     Solarized vim colorscheme
 | 
	
		
			
				|  |  | +" Author:   Ethan Schoonover <es@ethanschoonover.com>
 | 
	
		
			
				|  |  | +" URL:      http://ethanschoonover.com/solarized
 | 
	
		
			
				|  |  | +"           (see this url for latest release & screenshots)
 | 
	
		
			
				|  |  | +" License:  OSI approved MIT license (see end of this file)
 | 
	
		
			
				|  |  | +" Created:  In the middle of the night
 | 
	
		
			
				|  |  | +" Modified: 2011 Apr 14
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Usage "{{{
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" ABOUT:
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" Solarized is a carefully designed selective contrast colorscheme with dual
 | 
	
		
			
				|  |  | +" light and dark modes that runs in both GUI, 256 and 16 color modes.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" See the homepage above for screenshots and details.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" INSTALLATION:
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Two options for installation: manual or pathogen
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" MANUAL INSTALLATION OPTION:
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" 1.  Put the files in the right place!
 | 
	
		
			
				|  |  | +" 2.  Move `solarized.vim` to your `.vim/colors` directory.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" RECOMMENDED PATHOGEN INSTALLATION OPTION:
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" 1.  Download and install Tim Pope's Pathogen from:
 | 
	
		
			
				|  |  | +"     https://github.com/tpope/vim-pathogen
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" 2.  Next, move or clone the `vim-colors-solarized` directory so that it is
 | 
	
		
			
				|  |  | +"     a subdirectory of the `.vim/bundle` directory.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"     a. **clone with git:**
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"       $ cd ~/.vim/bundle
 | 
	
		
			
				|  |  | +"       $ git clone git://github.com/altercation/vim-colors-solarized.git
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"     b. **or move manually into the pathogen bundle directory:**
 | 
	
		
			
				|  |  | +"         In the parent directory of vim-colors-solarized:
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"         $ mv vim-colors-solarized ~/.vim/bundle/
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" MODIFY VIMRC:
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" After either Option 1 or Option 2 above, put the following two lines in your
 | 
	
		
			
				|  |  | +" .vimrc:
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"     syntax enable
 | 
	
		
			
				|  |  | +"     set background=dark
 | 
	
		
			
				|  |  | +"     colorscheme solarized
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" or, for the light background mode of Solarized:
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"     syntax enable
 | 
	
		
			
				|  |  | +"     set background=light
 | 
	
		
			
				|  |  | +"     colorscheme solarized
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" I like to have a different background in GUI and terminal modes, so I can use
 | 
	
		
			
				|  |  | +" the following if-then. However, I find vim's background autodetection to be
 | 
	
		
			
				|  |  | +" pretty good and, at least with MacVim, I can leave this background value
 | 
	
		
			
				|  |  | +" assignment out entirely and get the same results.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"     if has('gui_running')
 | 
	
		
			
				|  |  | +"       set background=light
 | 
	
		
			
				|  |  | +"     else
 | 
	
		
			
				|  |  | +"       set background=dark
 | 
	
		
			
				|  |  | +"     endif
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" See the Solarized homepage at http://ethanschoonover.com/solarized for
 | 
	
		
			
				|  |  | +" screenshots which will help you select either the light or dark background.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Other options are detailed below.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" IMPORTANT NOTE FOR TERMINAL USERS:
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +" If you are going to use Solarized in Terminal mode (i.e. not in a GUI version 
 | 
	
		
			
				|  |  | +" like gvim or macvim), **please please please** consider setting your terminal 
 | 
	
		
			
				|  |  | +" emulator's colorscheme to used the Solarized palette. I've included palettes 
 | 
	
		
			
				|  |  | +" for some popular terminal emulator as well as Xdefaults in the official 
 | 
	
		
			
				|  |  | +" Solarized download available from [Solarized homepage]. If you use 
 | 
	
		
			
				|  |  | +" Solarized *without* these colors, Solarized will need to be told to degrade
 | 
	
		
			
				|  |  | +" its colorscheme to a set compatible with the limited 256 terminal palette 
 | 
	
		
			
				|  |  | +" (whereas by using the terminal's 16 ansi color values, you can set the 
 | 
	
		
			
				|  |  | +" correct, specific values for the Solarized palette).
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +" If you do use the custom terminal colors, solarized.vim should work out of 
 | 
	
		
			
				|  |  | +" the box for you. If you are using a terminal emulator that supports 256 
 | 
	
		
			
				|  |  | +" colors and don't want to use the custom Solarized terminal colors, you will 
 | 
	
		
			
				|  |  | +" need to use the degraded 256 colorscheme. To do so, simply add the following 
 | 
	
		
			
				|  |  | +" line *before* the `colorschem solarized` line:
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +"     let g:solarized_termcolors=256
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +" Again, I recommend just changing your terminal colors to Solarized values 
 | 
	
		
			
				|  |  | +" either manually or via one of the many terminal schemes available for import.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" TOGGLE BACKGROUND FUNCTION:
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +" Solarized comes with a Toggle Background plugin that by default will map to 
 | 
	
		
			
				|  |  | +" <F5> if that mapping is available. If it is not available you will need to 
 | 
	
		
			
				|  |  | +" either map the function manually or change your current <F5> mapping to 
 | 
	
		
			
				|  |  | +" something else. If you wish to map the function manually, enter the following 
 | 
	
		
			
				|  |  | +" lines in your .vimrc:
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +"     nmap <unique> <F5> <Plug>ToggleBackground
 | 
	
		
			
				|  |  | +"     imap <unique> <F5> <Plug>ToggleBackground
 | 
	
		
			
				|  |  | +"     vmap <unique> <F5> <Plug>ToggleBackground
 | 
	
		
			
				|  |  | +" 
 | 
	
		
			
				|  |  | +" Note that it is important to *not* use the noremap map variants. The plugin 
 | 
	
		
			
				|  |  | +" uses noremap internally. You may run `:help togglebg` for more information.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" OPTIONS
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Set these in your vimrc file prior to calling the colorscheme.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" option name               default     optional
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_termcolors=   16      |   256
 | 
	
		
			
				|  |  | +" g:solarized_termtrans =   0       |   1
 | 
	
		
			
				|  |  | +" g:solarized_degrade   =   0       |   1
 | 
	
		
			
				|  |  | +" g:solarized_bold      =   1       |   0
 | 
	
		
			
				|  |  | +" g:solarized_underline =   1       |   0
 | 
	
		
			
				|  |  | +" g:solarized_italic    =   1       |   0
 | 
	
		
			
				|  |  | +" g:solarized_contrast  =   "normal"|   "high" or "low"
 | 
	
		
			
				|  |  | +" g:solarized_visibility=   "normal"|   "high" or "low"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" OPTION DETAILS
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_termcolors=   256     |   16
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" The most important option if you are using vim in terminal (non gui) mode!
 | 
	
		
			
				|  |  | +" This tells Solarized to use the 256 degraded color mode if running in a 256
 | 
	
		
			
				|  |  | +" color capable terminal.  Otherwise, if set to `16` it will use the terminal
 | 
	
		
			
				|  |  | +" emulators colorscheme (best option as long as you've set the emulators colors
 | 
	
		
			
				|  |  | +" to the Solarized palette).
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" If you are going to use Solarized in Terminal mode (i.e. not in a GUI
 | 
	
		
			
				|  |  | +" version like gvim or macvim), **please please please** consider setting your
 | 
	
		
			
				|  |  | +" terminal emulator's colorscheme to used the Solarized palette. I've included
 | 
	
		
			
				|  |  | +" palettes for some popular terminal emulator as well as Xdefaults in the
 | 
	
		
			
				|  |  | +" official Solarized download available from:
 | 
	
		
			
				|  |  | +" http://ethanschoonover.com/solarized . If you use Solarized without these
 | 
	
		
			
				|  |  | +" colors, Solarized will by default use an approximate set of 256 colors.  It
 | 
	
		
			
				|  |  | +" isn't bad looking and has been extensively tweaked, but it's still not quite
 | 
	
		
			
				|  |  | +" the real thing.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_termtrans =   0       |   1
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" If you use a terminal emulator with a transparent background and Solarized
 | 
	
		
			
				|  |  | +" isn't displaying the background color transparently, set this to 1 and
 | 
	
		
			
				|  |  | +" Solarized will use the default (transparent) background of the terminal
 | 
	
		
			
				|  |  | +" emulator. *urxvt* required this in my testing; iTerm2 did not.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by 
 | 
	
		
			
				|  |  | +" default as this is almost always the best option. The only exception to this 
 | 
	
		
			
				|  |  | +" is if the working terminfo file supports 256 colors (xterm-256color).
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_degrade   =   0       |   1
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" For test purposes only; forces Solarized to use the 256 degraded color mode
 | 
	
		
			
				|  |  | +" to test the approximate color values for accuracy.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_bold      =   1       |   0
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_underline =   1       |   0
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_italic    =   1       |   0
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" If you wish to stop Solarized from displaying bold, underlined or
 | 
	
		
			
				|  |  | +" italicized typefaces, simply assign a zero value to the appropriate
 | 
	
		
			
				|  |  | +" variable, for example: `let g:solarized_italic=0`
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_contrast  =   "normal"|   "high" or "low"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" Stick with normal! It's been carefully tested. Setting this option to high
 | 
	
		
			
				|  |  | +" or low does use the same Solarized palette but simply shifts some values up
 | 
	
		
			
				|  |  | +" or down in order to expand or compress the tonal range displayed.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" g:solarized_visibility =  "normal"|   "high" or "low"
 | 
	
		
			
				|  |  | +" ------------------------------------------------
 | 
	
		
			
				|  |  | +" Special characters such as trailing whitespace, tabs, newlines, when 
 | 
	
		
			
				|  |  | +" displayed using ":set list" can be set to one of three levels depending on 
 | 
	
		
			
				|  |  | +" your needs.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" COLOR VALUES
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" Download palettes and files from: http://ethanschoonover.com/solarized
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" L\*a\*b values are canonical (White D65, Reference D50), other values are
 | 
	
		
			
				|  |  | +" matched in sRGB space.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      sRGB        HSB
 | 
	
		
			
				|  |  | +" --------- ------- ---- -------  ----------- ---------- ----------- -----------
 | 
	
		
			
				|  |  | +" base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
 | 
	
		
			
				|  |  | +" base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
 | 
	
		
			
				|  |  | +" base01    #586e75 10/7 brgreen  240 #4e4e4e 45 -07 -07  88 110 117 194  25  46
 | 
	
		
			
				|  |  | +" base00    #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195  23  51
 | 
	
		
			
				|  |  | +" base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
 | 
	
		
			
				|  |  | +" base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
 | 
	
		
			
				|  |  | +" base2     #eee8d5  7/7 white    254 #d7d7af 92 -00  10 238 232 213  44  11  93
 | 
	
		
			
				|  |  | +" base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
 | 
	
		
			
				|  |  | +" yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
 | 
	
		
			
				|  |  | +" orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
 | 
	
		
			
				|  |  | +" red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
 | 
	
		
			
				|  |  | +" magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
 | 
	
		
			
				|  |  | +" violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
 | 
	
		
			
				|  |  | +" blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
 | 
	
		
			
				|  |  | +" cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
 | 
	
		
			
				|  |  | +" green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" COLORSCHEME HACKING
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Useful commands for testing colorschemes:
 | 
	
		
			
				|  |  | +" :source $VIMRUNTIME/syntax/hitest.vim
 | 
	
		
			
				|  |  | +" :help highlight-groups
 | 
	
		
			
				|  |  | +" :help cterm-colors
 | 
	
		
			
				|  |  | +" :help group-name
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Useful links for developing colorschemes:
 | 
	
		
			
				|  |  | +" http://www.vim.org/scripts/script.php?script_id=2937
 | 
	
		
			
				|  |  | +" http://vimcasts.org/episodes/creating-colorschemes-for-vim/
 | 
	
		
			
				|  |  | +" http://www.frexx.de/xterm-256-notes/"
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" }}}
 | 
	
		
			
				|  |  | +" Default option values"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if !exists("g:solarized_termtrans")
 | 
	
		
			
				|  |  | +    if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256)
 | 
	
		
			
				|  |  | +        let g:solarized_termtrans = 1
 | 
	
		
			
				|  |  | +    else
 | 
	
		
			
				|  |  | +        let g:solarized_termtrans = 0
 | 
	
		
			
				|  |  | +    endif
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_degrade")
 | 
	
		
			
				|  |  | +    let g:solarized_degrade = 0
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_bold")
 | 
	
		
			
				|  |  | +    let g:solarized_bold = 1
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_underline")
 | 
	
		
			
				|  |  | +    let g:solarized_underline = 1
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_italic")
 | 
	
		
			
				|  |  | +    let g:solarized_italic = 1
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_termcolors")
 | 
	
		
			
				|  |  | +    let g:solarized_termcolors = 16
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_contrast")
 | 
	
		
			
				|  |  | +    let g:solarized_contrast = "normal"
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if !exists("g:solarized_visibility")
 | 
	
		
			
				|  |  | +    let g:solarized_visibility = "normal"
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Colorscheme initialization "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +hi clear
 | 
	
		
			
				|  |  | +if exists("syntax_on")
 | 
	
		
			
				|  |  | +  syntax reset
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +let colors_name = "solarized"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" GUI & CSApprox hexadecimal palettes"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Set both gui and terminal color values in separate conditional statements
 | 
	
		
			
				|  |  | +" Due to possibility that CSApprox is running (though I suppose we could just
 | 
	
		
			
				|  |  | +" leave the hex values out entirely in that case and include only cterm colors)
 | 
	
		
			
				|  |  | +" We also check to see if user has set solarized (force use of the
 | 
	
		
			
				|  |  | +" neutral gray monotone palette component)
 | 
	
		
			
				|  |  | +if (has("gui_running") && g:solarized_degrade == 0)
 | 
	
		
			
				|  |  | +    let s:vmode       = "gui"
 | 
	
		
			
				|  |  | +    let s:base03      = "#002b36"
 | 
	
		
			
				|  |  | +    let s:base02      = "#073642"
 | 
	
		
			
				|  |  | +    let s:base01      = "#586e75"
 | 
	
		
			
				|  |  | +    let s:base00      = "#657b83"
 | 
	
		
			
				|  |  | +    let s:base0       = "#839496"
 | 
	
		
			
				|  |  | +    let s:base1       = "#93a1a1"
 | 
	
		
			
				|  |  | +    let s:base2       = "#eee8d5"
 | 
	
		
			
				|  |  | +    let s:base3       = "#fdf6e3"
 | 
	
		
			
				|  |  | +    let s:yellow      = "#b58900"
 | 
	
		
			
				|  |  | +    let s:orange      = "#cb4b16"
 | 
	
		
			
				|  |  | +    let s:red         = "#dc322f"
 | 
	
		
			
				|  |  | +    let s:magenta     = "#d33682"
 | 
	
		
			
				|  |  | +    let s:violet      = "#6c71c4"
 | 
	
		
			
				|  |  | +    let s:blue        = "#268bd2"
 | 
	
		
			
				|  |  | +    let s:cyan        = "#2aa198"
 | 
	
		
			
				|  |  | +    let s:green       = "#859900"
 | 
	
		
			
				|  |  | +elseif (has("gui_running") && g:solarized_degrade == 1)
 | 
	
		
			
				|  |  | +    " These colors are identical to the 256 color mode. They may be viewed
 | 
	
		
			
				|  |  | +    " while in gui mode via "let g:solarized_degrade=1", though this is not
 | 
	
		
			
				|  |  | +    " recommened and is for testing only.
 | 
	
		
			
				|  |  | +    let s:vmode       = "gui"
 | 
	
		
			
				|  |  | +    let s:base03      = "#1c1c1c"
 | 
	
		
			
				|  |  | +    let s:base02      = "#262626"
 | 
	
		
			
				|  |  | +    let s:base01      = "#4e4e4e"
 | 
	
		
			
				|  |  | +    let s:base00      = "#585858"
 | 
	
		
			
				|  |  | +    let s:base0       = "#808080"
 | 
	
		
			
				|  |  | +    let s:base1       = "#8a8a8a"
 | 
	
		
			
				|  |  | +    let s:base2       = "#d7d7af"
 | 
	
		
			
				|  |  | +    let s:base3       = "#ffffd7"
 | 
	
		
			
				|  |  | +    let s:yellow      = "#af8700"
 | 
	
		
			
				|  |  | +    let s:orange      = "#d75f00"
 | 
	
		
			
				|  |  | +    let s:red         = "#af0000"
 | 
	
		
			
				|  |  | +    let s:magenta     = "#af005f"
 | 
	
		
			
				|  |  | +    let s:violet      = "#5f5faf"
 | 
	
		
			
				|  |  | +    let s:blue        = "#0087ff"
 | 
	
		
			
				|  |  | +    let s:cyan        = "#00afaf"
 | 
	
		
			
				|  |  | +    let s:green       = "#5f8700"
 | 
	
		
			
				|  |  | +elseif g:solarized_termcolors != 256 && &t_Co >= 16
 | 
	
		
			
				|  |  | +    let s:vmode       = "cterm"
 | 
	
		
			
				|  |  | +    let s:base03      = "8"
 | 
	
		
			
				|  |  | +    let s:base02      = "0"
 | 
	
		
			
				|  |  | +    let s:base01      = "10"
 | 
	
		
			
				|  |  | +    let s:base00      = "11"
 | 
	
		
			
				|  |  | +    let s:base0       = "12"
 | 
	
		
			
				|  |  | +    let s:base1       = "14"
 | 
	
		
			
				|  |  | +    let s:base2       = "7"
 | 
	
		
			
				|  |  | +    let s:base3       = "15"
 | 
	
		
			
				|  |  | +    let s:yellow      = "3"
 | 
	
		
			
				|  |  | +    let s:orange      = "9"
 | 
	
		
			
				|  |  | +    let s:red         = "1"
 | 
	
		
			
				|  |  | +    let s:magenta     = "5"
 | 
	
		
			
				|  |  | +    let s:violet      = "13"
 | 
	
		
			
				|  |  | +    let s:blue        = "4"
 | 
	
		
			
				|  |  | +    let s:cyan        = "6"
 | 
	
		
			
				|  |  | +    let s:green       = "2"
 | 
	
		
			
				|  |  | +elseif g:solarized_termcolors == 256
 | 
	
		
			
				|  |  | +    let s:vmode       = "cterm"
 | 
	
		
			
				|  |  | +    let s:base03      = "234"
 | 
	
		
			
				|  |  | +    let s:base02      = "235"
 | 
	
		
			
				|  |  | +    let s:base01      = "239"
 | 
	
		
			
				|  |  | +    let s:base00      = "240"
 | 
	
		
			
				|  |  | +    let s:base0       = "244"
 | 
	
		
			
				|  |  | +    let s:base1       = "245"
 | 
	
		
			
				|  |  | +    let s:base2       = "187"
 | 
	
		
			
				|  |  | +    let s:base3       = "230"
 | 
	
		
			
				|  |  | +    let s:yellow      = "136"
 | 
	
		
			
				|  |  | +    let s:orange      = "166"
 | 
	
		
			
				|  |  | +    let s:red         = "124"
 | 
	
		
			
				|  |  | +    let s:magenta     = "125"
 | 
	
		
			
				|  |  | +    let s:violet      = "61"
 | 
	
		
			
				|  |  | +    let s:blue        = "33"
 | 
	
		
			
				|  |  | +    let s:cyan        = "37"
 | 
	
		
			
				|  |  | +    let s:green       = "64"
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:vmode       = "cterm"
 | 
	
		
			
				|  |  | +    let s:bright      = "* term=bold cterm=bold"
 | 
	
		
			
				|  |  | +    let s:base03      = "0".s:bright
 | 
	
		
			
				|  |  | +    let s:base02      = "0"
 | 
	
		
			
				|  |  | +    let s:base01      = "2".s:bright
 | 
	
		
			
				|  |  | +    let s:base00      = "3".s:bright
 | 
	
		
			
				|  |  | +    let s:base0       = "4".s:bright
 | 
	
		
			
				|  |  | +    let s:base1       = "6".s:bright
 | 
	
		
			
				|  |  | +    let s:base2       = "7"
 | 
	
		
			
				|  |  | +    let s:base3       = "7".s:bright
 | 
	
		
			
				|  |  | +    let s:yellow      = "3"
 | 
	
		
			
				|  |  | +    let s:orange      = "1".s:bright
 | 
	
		
			
				|  |  | +    let s:red         = "1"
 | 
	
		
			
				|  |  | +    let s:magenta     = "5"
 | 
	
		
			
				|  |  | +    let s:violet      = "13"
 | 
	
		
			
				|  |  | +    let s:blue        = "4"
 | 
	
		
			
				|  |  | +    let s:cyan        = "6"
 | 
	
		
			
				|  |  | +    let s:green       = "2"
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Formatting options and null values for passthrough effect "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +    let s:none            = "NONE"
 | 
	
		
			
				|  |  | +    let s:none            = "NONE"
 | 
	
		
			
				|  |  | +    let s:t_none          = "NONE"
 | 
	
		
			
				|  |  | +    let s:n               = "NONE"
 | 
	
		
			
				|  |  | +    let s:c               = ",undercurl"
 | 
	
		
			
				|  |  | +    let s:r               = ",reverse"
 | 
	
		
			
				|  |  | +    let s:s               = ",standout"
 | 
	
		
			
				|  |  | +    let s:ou              = ""
 | 
	
		
			
				|  |  | +    let s:ob              = ""
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Background value based on termtrans setting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if (has("gui_running") || g:solarized_termtrans == 0)
 | 
	
		
			
				|  |  | +    let s:back        = s:base03
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:back        = "NONE"
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Alternate light scheme "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if &background == "light"
 | 
	
		
			
				|  |  | +    let s:temp03      = s:base03
 | 
	
		
			
				|  |  | +    let s:temp02      = s:base02
 | 
	
		
			
				|  |  | +    let s:temp01      = s:base01
 | 
	
		
			
				|  |  | +    let s:temp00      = s:base00
 | 
	
		
			
				|  |  | +    let s:base03      = s:base3
 | 
	
		
			
				|  |  | +    let s:base02      = s:base2
 | 
	
		
			
				|  |  | +    let s:base01      = s:base1
 | 
	
		
			
				|  |  | +    let s:base00      = s:base0
 | 
	
		
			
				|  |  | +    let s:base0       = s:temp00
 | 
	
		
			
				|  |  | +    let s:base1       = s:temp01
 | 
	
		
			
				|  |  | +    let s:base2       = s:temp02
 | 
	
		
			
				|  |  | +    let s:base3       = s:temp03
 | 
	
		
			
				|  |  | +    if (s:back != "NONE")
 | 
	
		
			
				|  |  | +        let s:back    = s:base03
 | 
	
		
			
				|  |  | +    endif
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Optional contrast schemes "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if g:solarized_contrast == "high"
 | 
	
		
			
				|  |  | +    let s:base01      = s:base00
 | 
	
		
			
				|  |  | +    let s:base00      = s:base0
 | 
	
		
			
				|  |  | +    let s:base0       = s:base1
 | 
	
		
			
				|  |  | +    let s:base1       = s:base2
 | 
	
		
			
				|  |  | +    let s:base2       = s:base3
 | 
	
		
			
				|  |  | +    let s:back        = s:back
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if g:solarized_contrast == "low"
 | 
	
		
			
				|  |  | +    let s:back        = s:base02
 | 
	
		
			
				|  |  | +    let s:ou          = ",underline"
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Overrides dependent on user specified values"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if g:solarized_bold == 1
 | 
	
		
			
				|  |  | +    let s:b           = ",bold"
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:b           = ""
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if g:solarized_underline == 1
 | 
	
		
			
				|  |  | +    let s:u           = ",underline"
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:u           = ""
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if g:solarized_italic == 1
 | 
	
		
			
				|  |  | +    let s:i           = ",italic"
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:i           = ""
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Highlighting primitives"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "let s:bg_none      = ' ".s:vmode."bg=".s:none   ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_back      = ' ".s:vmode."bg=".s:back   ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base03    = ' ".s:vmode."bg=".s:base03 ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base02    = ' ".s:vmode."bg=".s:base02 ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base01    = ' ".s:vmode."bg=".s:base01 ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base00    = ' ".s:vmode."bg=".s:base00 ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base0     = ' ".s:vmode."bg=".s:base0  ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base1     = ' ".s:vmode."bg=".s:base1  ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base2     = ' ".s:vmode."bg=".s:base2  ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_base3     = ' ".s:vmode."bg=".s:base3  ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_green     = ' ".s:vmode."bg=".s:green  ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_yellow    = ' ".s:vmode."bg=".s:yellow ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_orange    = ' ".s:vmode."bg=".s:orange ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_red       = ' ".s:vmode."bg=".s:red    ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_magenta   = ' ".s:vmode."bg=".s:magenta."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_violet    = ' ".s:vmode."bg=".s:violet ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_blue      = ' ".s:vmode."bg=".s:blue   ."'"
 | 
	
		
			
				|  |  | +exe "let s:bg_cyan      = ' ".s:vmode."bg=".s:cyan   ."'"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "let s:fg_none      = ' ".s:vmode."fg=".s:none   ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_back      = ' ".s:vmode."fg=".s:back   ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base03    = ' ".s:vmode."fg=".s:base03 ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base02    = ' ".s:vmode."fg=".s:base02 ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base01    = ' ".s:vmode."fg=".s:base01 ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base00    = ' ".s:vmode."fg=".s:base00 ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base0     = ' ".s:vmode."fg=".s:base0  ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base1     = ' ".s:vmode."fg=".s:base1  ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base2     = ' ".s:vmode."fg=".s:base2  ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_base3     = ' ".s:vmode."fg=".s:base3  ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_green     = ' ".s:vmode."fg=".s:green  ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_yellow    = ' ".s:vmode."fg=".s:yellow ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_orange    = ' ".s:vmode."fg=".s:orange ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_red       = ' ".s:vmode."fg=".s:red    ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_magenta   = ' ".s:vmode."fg=".s:magenta."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_violet    = ' ".s:vmode."fg=".s:violet ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_blue      = ' ".s:vmode."fg=".s:blue   ."'"
 | 
	
		
			
				|  |  | +exe "let s:fg_cyan      = ' ".s:vmode."fg=".s:cyan   ."'"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "let s:fmt_none     = ' ".s:vmode."=NONE".          " term=NONE".    "'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_bold     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_bldi     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_undr     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_undb     = ' ".s:vmode."=NONE".s:u.s:b.  " term=NONE".s:u.s:b."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_undi     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_uopt     = ' ".s:vmode."=NONE".s:ou.     " term=NONE".s:ou."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_curl     = ' ".s:vmode."=NONE".s:c.      " term=NONE".s:c."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_ital     = ' ".s:vmode."=NONE".          " term=NONE".    "'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_revr     = ' ".s:vmode."=NONE".s:r.      " term=NONE".s:r."'"
 | 
	
		
			
				|  |  | +exe "let s:fmt_stnd     = ' ".s:vmode."=NONE".s:s.      " term=NONE".s:s."'"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if has("gui_running")
 | 
	
		
			
				|  |  | +    exe "let s:sp_none      = ' guisp=".s:none   ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_back      = ' guisp=".s:back   ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base03    = ' guisp=".s:base03 ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base02    = ' guisp=".s:base02 ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base01    = ' guisp=".s:base01 ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base00    = ' guisp=".s:base00 ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base0     = ' guisp=".s:base0  ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base1     = ' guisp=".s:base1  ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base2     = ' guisp=".s:base2  ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_base3     = ' guisp=".s:base3  ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_green     = ' guisp=".s:green  ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_yellow    = ' guisp=".s:yellow ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_orange    = ' guisp=".s:orange ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_red       = ' guisp=".s:red    ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_magenta   = ' guisp=".s:magenta."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_violet    = ' guisp=".s:violet ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_blue      = ' guisp=".s:blue   ."'"
 | 
	
		
			
				|  |  | +    exe "let s:sp_cyan      = ' guisp=".s:cyan   ."'"
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    let s:sp_none      = ""
 | 
	
		
			
				|  |  | +    let s:sp_back      = ""
 | 
	
		
			
				|  |  | +    let s:sp_base03    = ""
 | 
	
		
			
				|  |  | +    let s:sp_base02    = ""
 | 
	
		
			
				|  |  | +    let s:sp_base01    = ""
 | 
	
		
			
				|  |  | +    let s:sp_base00    = ""
 | 
	
		
			
				|  |  | +    let s:sp_base0     = ""
 | 
	
		
			
				|  |  | +    let s:sp_base1     = ""
 | 
	
		
			
				|  |  | +    let s:sp_base2     = ""
 | 
	
		
			
				|  |  | +    let s:sp_base3     = ""
 | 
	
		
			
				|  |  | +    let s:sp_green     = ""
 | 
	
		
			
				|  |  | +    let s:sp_yellow    = ""
 | 
	
		
			
				|  |  | +    let s:sp_orange    = ""
 | 
	
		
			
				|  |  | +    let s:sp_red       = ""
 | 
	
		
			
				|  |  | +    let s:sp_magenta   = ""
 | 
	
		
			
				|  |  | +    let s:sp_violet    = ""
 | 
	
		
			
				|  |  | +    let s:sp_blue      = ""
 | 
	
		
			
				|  |  | +    let s:sp_cyan      = ""
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Basic highlighting"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" note that link syntax to avoid duplicate configuration doesn't work with the
 | 
	
		
			
				|  |  | +" exe compiled formats
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Normal"         .s:fmt_none   .s:fg_base0  .s:bg_back
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Comment"        .s:fmt_ital   .s:fg_base01 .s:bg_none
 | 
	
		
			
				|  |  | +"       *Comment         any comment
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Constant"       .s:fmt_none   .s:fg_cyan   .s:bg_none
 | 
	
		
			
				|  |  | +"       *Constant        any constant
 | 
	
		
			
				|  |  | +"        String          a string constant: "this is a string"
 | 
	
		
			
				|  |  | +"        Character       a character constant: 'c', '\n'
 | 
	
		
			
				|  |  | +"        Number          a number constant: 234, 0xff
 | 
	
		
			
				|  |  | +"        Boolean         a boolean constant: TRUE, false
 | 
	
		
			
				|  |  | +"        Float           a floating point constant: 2.3e10
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Identifier"     .s:fmt_none   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +"       *Identifier      any variable name
 | 
	
		
			
				|  |  | +"        Function        function name (also: methods for classes)
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +exe "hi! Statement"      .s:fmt_none   .s:fg_green  .s:bg_none
 | 
	
		
			
				|  |  | +"       *Statement       any statement
 | 
	
		
			
				|  |  | +"        Conditional     if, then, else, endif, switch, etc.
 | 
	
		
			
				|  |  | +"        Repeat          for, do, while, etc.
 | 
	
		
			
				|  |  | +"        Label           case, default, etc.
 | 
	
		
			
				|  |  | +"        Operator        "sizeof", "+", "*", etc.
 | 
	
		
			
				|  |  | +"        Keyword         any other keyword
 | 
	
		
			
				|  |  | +"        Exception       try, catch, throw
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! PreProc"        .s:fmt_none   .s:fg_orange .s:bg_none
 | 
	
		
			
				|  |  | +"       *PreProc         generic Preprocessor
 | 
	
		
			
				|  |  | +"        Include         preprocessor #include
 | 
	
		
			
				|  |  | +"        Define          preprocessor #define
 | 
	
		
			
				|  |  | +"        Macro           same as Define
 | 
	
		
			
				|  |  | +"        PreCondit       preprocessor #if, #else, #endif, etc.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Type"           .s:fmt_none   .s:fg_yellow .s:bg_none
 | 
	
		
			
				|  |  | +"       *Type            int, long, char, etc.
 | 
	
		
			
				|  |  | +"        StorageClass    static, register, volatile, etc.
 | 
	
		
			
				|  |  | +"        Structure       struct, union, enum, etc.
 | 
	
		
			
				|  |  | +"        Typedef         A typedef
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Special"        .s:fmt_none   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +"       *Special         any special symbol
 | 
	
		
			
				|  |  | +"        SpecialChar     special character in a constant
 | 
	
		
			
				|  |  | +"        Tag             you can use CTRL-] on this
 | 
	
		
			
				|  |  | +"        Delimiter       character that needs attention
 | 
	
		
			
				|  |  | +"        SpecialComment  special things inside a comment
 | 
	
		
			
				|  |  | +"        Debug           debugging statements
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Underlined"     .s:fmt_none   .s:fg_violet .s:bg_none
 | 
	
		
			
				|  |  | +"       *Underlined      text that stands out, HTML links
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Ignore"         .s:fmt_none   .s:fg_none   .s:bg_none
 | 
	
		
			
				|  |  | +"       *Ignore          left blank, hidden  |hl-Ignore|
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Error"          .s:fmt_bold   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +"       *Error           any erroneous construct
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! Todo"           .s:fmt_bold   .s:fg_magenta.s:bg_none
 | 
	
		
			
				|  |  | +"       *Todo            anything that needs extra attention; mostly the
 | 
	
		
			
				|  |  | +"                        keywords TODO FIXME and XXX
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Extended highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +if      (g:solarized_visibility=="high")
 | 
	
		
			
				|  |  | +    exe "hi! SpecialKey"     .s:fmt_revr   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +    exe "hi! NonText"        .s:fmt_bold   .s:fg_base1  .s:bg_none
 | 
	
		
			
				|  |  | +elseif  (g:solarized_visibility=="low")
 | 
	
		
			
				|  |  | +    exe "hi! SpecialKey"     .s:fmt_bold   .s:fg_base02 .s:bg_none
 | 
	
		
			
				|  |  | +    exe "hi! NonText"        .s:fmt_bold   .s:fg_base02 .s:bg_none
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    exe "hi! SpecialKey"     .s:fmt_bold   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +    exe "hi! NonText"        .s:fmt_bold   .s:fg_base01 .s:bg_none
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +if (has("gui_running")) || &t_Co > 8
 | 
	
		
			
				|  |  | +    exe "hi! StatusLine"     .s:fmt_none   .s:fg_base02 .s:bg_base1
 | 
	
		
			
				|  |  | +    exe "hi! StatusLineNC"   .s:fmt_none   .s:fg_base02 .s:bg_base00
 | 
	
		
			
				|  |  | +    "exe "hi! Visual"         .s:fmt_stnd   .s:fg_none   .s:bg_base02
 | 
	
		
			
				|  |  | +    exe "hi! Visual"         .s:fmt_none   .s:fg_base03 .s:bg_base01
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +    exe "hi! StatusLine"     .s:fmt_none   .s:fg_base02 .s:bg_base2
 | 
	
		
			
				|  |  | +    exe "hi! StatusLineNC"   .s:fmt_none   .s:fg_base02 .s:bg_base2
 | 
	
		
			
				|  |  | +    exe "hi! Visual"         .s:fmt_none   .s:fg_none   .s:bg_base2
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +exe "hi! Directory"      .s:fmt_none   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! ErrorMsg"       .s:fmt_revr   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! IncSearch"      .s:fmt_stnd   .s:fg_orange .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! Search"         .s:fmt_revr   .s:fg_yellow .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! MoreMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! ModeMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! LineNr"         .s:fmt_none   .s:fg_base01 .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! Question"       .s:fmt_bold   .s:fg_cyan   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! VertSplit"      .s:fmt_bold   .s:fg_base00 .s:bg_base00
 | 
	
		
			
				|  |  | +exe "hi! Title"          .s:fmt_bold   .s:fg_orange .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! VisualNOS"      .s:fmt_stnd   .s:fg_none   .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! WarningMsg"     .s:fmt_bold   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! WildMenu"       .s:fmt_none   .s:fg_base2  .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! Folded"         .s:fmt_undb   .s:fg_base0  .s:bg_base02  .s:sp_base03
 | 
	
		
			
				|  |  | +exe "hi! FoldColumn"     .s:fmt_bold   .s:fg_base0  .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! DiffAdd"        .s:fmt_revr   .s:fg_green  .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! DiffChange"     .s:fmt_revr   .s:fg_yellow .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! DiffDelete"     .s:fmt_revr   .s:fg_red    .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! DiffText"       .s:fmt_revr   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! SignColumn"     .s:fmt_none   .s:fg_base0  .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! Conceal"        .s:fmt_none   .s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! SpellBad"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_red
 | 
	
		
			
				|  |  | +exe "hi! SpellCap"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_violet
 | 
	
		
			
				|  |  | +exe "hi! SpellRare"      .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_cyan
 | 
	
		
			
				|  |  | +exe "hi! SpellLocal"     .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_yellow
 | 
	
		
			
				|  |  | +exe "hi! Pmenu"          .s:fmt_none   .s:fg_base0  .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! PmenuSel"       .s:fmt_none   .s:fg_base2  .s:bg_base01
 | 
	
		
			
				|  |  | +exe "hi! PmenuSbar"      .s:fmt_none   .s:fg_base0  .s:bg_base2
 | 
	
		
			
				|  |  | +exe "hi! PmenuThumb"     .s:fmt_none   .s:fg_base03 .s:bg_base0
 | 
	
		
			
				|  |  | +exe "hi! TabLine"        .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0
 | 
	
		
			
				|  |  | +exe "hi! TabLineSel"     .s:fmt_undr   .s:fg_base2  .s:bg_base01  .s:sp_base0
 | 
	
		
			
				|  |  | +exe "hi! TabLineFill"    .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0
 | 
	
		
			
				|  |  | +exe "hi! CursorColumn"   .s:fmt_none   .s:fg_none   .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! CursorLine"     .s:fmt_uopt   .s:fg_none   .s:bg_base02  .s:sp_base1
 | 
	
		
			
				|  |  | +exe "hi! ColorColumn"    .s:fmt_none   .s:fg_none   .s:bg_base02
 | 
	
		
			
				|  |  | +exe "hi! Cursor"         .s:fmt_none   .s:fg_base03 .s:bg_base0
 | 
	
		
			
				|  |  | +hi! link lCursor Cursor
 | 
	
		
			
				|  |  | +exe "hi! MatchParen"     .s:fmt_bold   .s:fg_red    .s:bg_base01
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" vim syntax highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! vimLineComment" . s:fg_base01 .s:bg_none   .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! vimCommentString".s:fg_violet .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +hi! link vimVar Identifier
 | 
	
		
			
				|  |  | +hi! link vimFunc Function
 | 
	
		
			
				|  |  | +hi! link vimUserFunc Function
 | 
	
		
			
				|  |  | +exe "hi! vimCommand"     . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimCmdSep"      . s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! helpExample"    . s:fg_base1  .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +hi! link helpSpecial Special
 | 
	
		
			
				|  |  | +exe "hi! helpOption"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! helpNote"       . s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! helpVim"        . s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! helpHyperTextJump" .s:fg_blue  .s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! helpHyperTextEntry".s:fg_green .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimIsCommand"   . s:fg_base00 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimSynMtchOpt"  . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimSynType"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimHiLink"      . s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimHiGroup"     . s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! vimGroup"       . s:fg_blue   .s:bg_none   .s:fmt_undb
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" html highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! htmlTag"        . s:fg_base01 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! htmlEndTag"     . s:fg_base01 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! htmlTagN"       . s:fg_base1  .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! htmlTagName"    . s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! htmlSpecialTagName". s:fg_blue  .s:bg_none .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! htmlArg"        . s:fg_base00 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! javaScript"     . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" perl highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! perlHereDoc"    . s:fg_base1  .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! perlVarPlain"   . s:fg_yellow .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" tex highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! texStatement"   . s:fg_cyan   .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! texMathZoneX"   . s:fg_yellow .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! texRefLabel"    . s:fg_yellow .s:bg_back   .s:fmt_none
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" ruby highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! rubyDefine"     . s:fg_base1  .s:bg_back   .s:fmt_bold
 | 
	
		
			
				|  |  | +"rubyInclude
 | 
	
		
			
				|  |  | +"rubySharpBang
 | 
	
		
			
				|  |  | +"rubyAccess
 | 
	
		
			
				|  |  | +"rubyPredefinedVariable
 | 
	
		
			
				|  |  | +"rubyBoolean
 | 
	
		
			
				|  |  | +"rubyClassVariable
 | 
	
		
			
				|  |  | +"rubyBeginEnd
 | 
	
		
			
				|  |  | +"rubyRepeatModifier
 | 
	
		
			
				|  |  | +"hi! link rubyArrayDelimiter    Special  " [ , , ]
 | 
	
		
			
				|  |  | +"rubyCurlyBlock  { , , }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"hi! link rubyClass             Keyword
 | 
	
		
			
				|  |  | +"hi! link rubyModule            Keyword
 | 
	
		
			
				|  |  | +"hi! link rubyKeyword           Keyword
 | 
	
		
			
				|  |  | +"hi! link rubyOperator          Operator
 | 
	
		
			
				|  |  | +"hi! link rubyIdentifier        Identifier
 | 
	
		
			
				|  |  | +"hi! link rubyInstanceVariable  Identifier
 | 
	
		
			
				|  |  | +"hi! link rubyGlobalVariable    Identifier
 | 
	
		
			
				|  |  | +"hi! link rubyClassVariable     Identifier
 | 
	
		
			
				|  |  | +"hi! link rubyConstant          Type
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" haskell syntax highlighting"{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" For use with syntax/haskell.vim : Haskell Syntax File
 | 
	
		
			
				|  |  | +" http://www.vim.org/scripts/script.php?script_id=3034
 | 
	
		
			
				|  |  | +" See also Steffen Siering's github repository:
 | 
	
		
			
				|  |  | +" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Treat True and False specially, see the plugin referenced above
 | 
	
		
			
				|  |  | +let hs_highlight_boolean=1
 | 
	
		
			
				|  |  | +" highlight delims, see the plugin referenced above
 | 
	
		
			
				|  |  | +let hs_highlight_delimiters=1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! cPreCondit". s:fg_orange.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! VarId"    . s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! ConId"    . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsImport" . s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsString" . s:fg_base00 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! hsStructure"        . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hs_hlFunctionName"  . s:fg_blue   .s:bg_none
 | 
	
		
			
				|  |  | +exe "hi! hsStatement"        . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsImportLabel"      . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hs_OpFunctionName"  . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsVarSym"           . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsType"             . s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsTypedef"          . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsModuleName"       . s:fg_green  .s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +hi! link hsImportParams      Delimiter
 | 
	
		
			
				|  |  | +hi! link hsDelimTypeExport   Delimiter
 | 
	
		
			
				|  |  | +hi! link hsModuleStartLabel  hsStructure
 | 
	
		
			
				|  |  | +hi! link hsModuleWhereLabel  hsModuleStartLabel
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" following is for the haskell-conceal plugin
 | 
	
		
			
				|  |  | +" the first two items don't have an impact, but better safe
 | 
	
		
			
				|  |  | +exe "hi! hsNiceOperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! hsniceoperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" pandoc markdown syntax highlighting "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"PandocHiLink pandocNormalBlock
 | 
	
		
			
				|  |  | +exe "hi! pandocTitleBlock"               .s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocTitleBlockTitle"          .s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocTitleComment"             .s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocComment"                  .s:fg_base01 .s:bg_none   .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! pandocVerbatimBlock"            .s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +hi! link pandocVerbatimBlockDeep         pandocVerbatimBlock
 | 
	
		
			
				|  |  | +hi! link pandocCodeBlock                 pandocVerbatimBlock
 | 
	
		
			
				|  |  | +hi! link pandocCodeBlockDelim            pandocVerbatimBlock
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuote"               .s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader1"        .s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader2"        .s:fg_cyan   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader3"        .s:fg_yellow .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader4"        .s:fg_red    .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader5"        .s:fg_base0  .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocBlockQuoteLeader6"        .s:fg_base01 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocListMarker"               .s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocListReference"            .s:fg_magenta.s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Definitions
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +let s:fg_pdef = s:fg_violet
 | 
	
		
			
				|  |  | +exe "hi! pandocDefinitionBlock"              .s:fg_pdef  .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocDefinitionTerm"               .s:fg_pdef  .s:bg_none  .s:fmt_stnd
 | 
	
		
			
				|  |  | +exe "hi! pandocDefinitionIndctr"             .s:fg_pdef  .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisDefinition"           .s:fg_pdef  .s:bg_none  .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisNestedDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisNestedDefinition"   .s:fg_pdef.s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrikeoutDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_revr
 | 
	
		
			
				|  |  | +exe "hi! pandocVerbatimInlineDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSuperscriptDefinition"        .s:fg_pdef  .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSubscriptDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Tables
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +let s:fg_ptable = s:fg_blue
 | 
	
		
			
				|  |  | +exe "hi! pandocTable"                        .s:fg_ptable.s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocTableStructure"               .s:fg_ptable.s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +hi! link pandocTableStructureTop             pandocTableStructre
 | 
	
		
			
				|  |  | +hi! link pandocTableStructureEnd             pandocTableStructre
 | 
	
		
			
				|  |  | +exe "hi! pandocTableZebraLight"              .s:fg_ptable.s:bg_base03.s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocTableZebraDark"               .s:fg_ptable.s:bg_base02.s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisTable"                .s:fg_ptable.s:bg_none  .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisNestedTable"          .s:fg_ptable.s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisTable"          .s:fg_ptable.s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisNestedTable"    .s:fg_ptable.s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisEmphasisTable"  .s:fg_ptable.s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrikeoutTable"               .s:fg_ptable.s:bg_none  .s:fmt_revr
 | 
	
		
			
				|  |  | +exe "hi! pandocVerbatimInlineTable"          .s:fg_ptable.s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSuperscriptTable"             .s:fg_ptable.s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSubscriptTable"               .s:fg_ptable.s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Headings
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +let s:fg_phead = s:fg_orange
 | 
	
		
			
				|  |  | +exe "hi! pandocHeading"                      .s:fg_phead .s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocHeadingMarker"                .s:fg_yellow.s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisHeading"              .s:fg_phead .s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisNestedHeading"        .s:fg_phead .s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisHeading"        .s:fg_phead .s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisNestedHeading"  .s:fg_phead .s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrikeoutHeading"             .s:fg_phead .s:bg_none.s:fmt_revr
 | 
	
		
			
				|  |  | +exe "hi! pandocVerbatimInlineHeading"        .s:fg_phead .s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocSuperscriptHeading"           .s:fg_phead .s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocSubscriptHeading"             .s:fg_phead .s:bg_none.s:fmt_bold
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Links
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkDelim"                .s:fg_base01 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkLabel"                .s:fg_blue   .s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkText"                 .s:fg_blue   .s:bg_none   .s:fmt_undb
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkURL"                  .s:fg_base00 .s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkTitle"                .s:fg_base00 .s:bg_none   .s:fmt_undi
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkTitleDelim"           .s:fg_base01 .s:bg_none   .s:fmt_undi   .s:sp_base00
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkDefinition"           .s:fg_cyan   .s:bg_none   .s:fmt_undr   .s:sp_base00
 | 
	
		
			
				|  |  | +exe "hi! pandocLinkDefinitionID"         .s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocImageCaption"             .s:fg_violet .s:bg_none   .s:fmt_undb
 | 
	
		
			
				|  |  | +exe "hi! pandocFootnoteLink"             .s:fg_green  .s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! pandocFootnoteDefLink"          .s:fg_green  .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocFootnoteInline"           .s:fg_green  .s:bg_none   .s:fmt_undb
 | 
	
		
			
				|  |  | +exe "hi! pandocFootnote"                 .s:fg_green  .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocCitationDelim"            .s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocCitation"                 .s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocCitationID"               .s:fg_magenta.s:bg_none   .s:fmt_undr
 | 
	
		
			
				|  |  | +exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Main Styles
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! pandocStyleDelim"               .s:fg_base01 .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasis"                 .s:fg_base0  .s:bg_none  .s:fmt_ital
 | 
	
		
			
				|  |  | +exe "hi! pandocEmphasisNested"           .s:fg_base0  .s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasis"           .s:fg_base0  .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisNested"     .s:fg_base0  .s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrongEmphasisEmphasis"   .s:fg_base0  .s:bg_none  .s:fmt_bldi
 | 
	
		
			
				|  |  | +exe "hi! pandocStrikeout"                .s:fg_base01 .s:bg_none  .s:fmt_revr
 | 
	
		
			
				|  |  | +exe "hi! pandocVerbatimInline"           .s:fg_yellow .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSuperscript"              .s:fg_violet .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocSubscript"                .s:fg_violet .s:bg_none  .s:fmt_none
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exe "hi! pandocRule"                     .s:fg_blue   .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocRuleLine"                 .s:fg_blue   .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocEscapePair"               .s:fg_red    .s:bg_none  .s:fmt_bold
 | 
	
		
			
				|  |  | +exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocNonBreakingSpace"         . s:fg_red   .s:bg_none  .s:fmt_revr
 | 
	
		
			
				|  |  | +hi! link pandocEscapedCharacter          pandocEscapePair
 | 
	
		
			
				|  |  | +hi! link pandocLineBreak                 pandocEscapePair
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +" Embedded Code
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +exe "hi! pandocMetadataDelim"            .s:fg_base01 .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocMetadataKey"              .s:fg_blue   .s:bg_none   .s:fmt_none
 | 
	
		
			
				|  |  | +exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_bold
 | 
	
		
			
				|  |  | +hi! link pandocMetadataTitle             pandocMetadata
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" Utility autocommand "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +" In cases where Solarized is initialized inside a terminal vim session and 
 | 
	
		
			
				|  |  | +" then transferred to a gui session via the command `:gui`, the gui vim process 
 | 
	
		
			
				|  |  | +" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui` 
 | 
	
		
			
				|  |  | +" related code that sets gui specific values isn't executed.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Currently, Solarized sets only the cterm or gui values for the colorscheme 
 | 
	
		
			
				|  |  | +" depending on gui or terminal mode. It's possible that, if the following 
 | 
	
		
			
				|  |  | +" autocommand method is deemed excessively poor form, that approach will be 
 | 
	
		
			
				|  |  | +" used again and the autocommand below will be dropped.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" However it seems relatively benign in this case to include the autocommand 
 | 
	
		
			
				|  |  | +" here. It fires only in cases where vim is transferring from terminal to gui 
 | 
	
		
			
				|  |  | +" mode (detected with the script scope s:vmode variable). It also allows for 
 | 
	
		
			
				|  |  | +" other potential terminal customizations that might make gui mode suboptimal.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif
 | 
	
		
			
				|  |  | +"}}}
 | 
	
		
			
				|  |  | +" License "{{{
 | 
	
		
			
				|  |  | +" ---------------------------------------------------------------------
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Copyright (c) 2011 Ethan Schoonover
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
	
		
			
				|  |  | +" of this software and associated documentation files (the "Software"), to deal
 | 
	
		
			
				|  |  | +" in the Software without restriction, including without limitation the rights
 | 
	
		
			
				|  |  | +" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
	
		
			
				|  |  | +" copies of the Software, and to permit persons to whom the Software is
 | 
	
		
			
				|  |  | +" furnished to do so, subject to the following conditions:
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" The above copyright notice and this permission notice shall be included in
 | 
	
		
			
				|  |  | +" all copies or substantial portions of the Software.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
	
		
			
				|  |  | +" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
	
		
			
				|  |  | +" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
	
		
			
				|  |  | +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
	
		
			
				|  |  | +" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
	
		
			
				|  |  | +" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
	
		
			
				|  |  | +" THE SOFTWARE.
 | 
	
		
			
				|  |  | +"
 | 
	
		
			
				|  |  | +" vim:foldmethod=marker:foldlevel=0
 | 
	
		
			
				|  |  | +"}}}
 |