aboutsummaryrefslogtreecommitdiff
path: root/colors
diff options
context:
space:
mode:
Diffstat (limited to 'colors')
-rw-r--r--colors/distinguished.vim181
-rw-r--r--colors/solarized.vim1117
-rw-r--r--colors/zenburn.vim560
3 files changed, 1858 insertions, 0 deletions
diff --git a/colors/distinguished.vim b/colors/distinguished.vim
new file mode 100644
index 0000000..db3af12
--- /dev/null
+++ b/colors/distinguished.vim
@@ -0,0 +1,181 @@
+" Author: Kim Silkebækken <kim.silkebaekken+vim@gmail.com>
+" Source repository: https://github.com/Lokaltog/vim-distinguished
+
+" Initialization {{{
+ set background=dark
+
+ hi clear
+ if exists('syntax_on')
+ syntax reset
+ endif
+
+ let g:colors_name = 'distinguished'
+
+ if ! has('gui_running')
+ if &t_Co != 256
+ echoe 'The ' . g:colors_name . ' color scheme requires gvim or a 256-color terminal'
+
+ finish
+ endif
+ endif
+" }}}
+" Color dictionary parser {{{
+ function! s:ColorDictParser(color_dict)
+ for [group, group_colors] in items(a:color_dict)
+ exec 'hi ' . group
+ \ . ' ctermfg=' . (group_colors[0] == '' ? 'NONE' : group_colors[0])
+ \ . ' ctermbg=' . (group_colors[1] == '' ? 'NONE' : group_colors[1])
+ \ . ' cterm=' . (group_colors[2] == '' ? 'NONE' : group_colors[2])
+ \
+ \ . ' guifg=' . (group_colors[3] == '' ? 'NONE' : '#' . group_colors[3])
+ \ . ' guibg=' . (group_colors[4] == '' ? 'NONE' : '#' . group_colors[4])
+ \ . ' gui=' . (group_colors[5] == '' ? 'NONE' : group_colors[5])
+ endfor
+ endfunction
+" }}}
+
+" | Highlight group | CTFG | CTBG | CTAttributes | || | GUIFG | GUIBG | GUIAttributes |
+" |--------------------------------|-------|-------|-----------------| || |---------|----------|-----------------|
+call s:ColorDictParser({
+ \ 'Normal' : [ 231, 16, '', 'ffffff', '000000', '']
+ \ , 'Visual' : [ 240, 253, '', '585858', 'dadada', '']
+ \
+ \ , 'Cursor' : [ '', '', '', 'ffffff', 'dd4010', '']
+ \ , 'lCursor' : [ '', '', '', 'ffffff', '89b6e2', '']
+ \
+ \ , 'CursorLine' : [ '', 236, '', '', '3a3a3a', '']
+ \ , 'CursorLineNr' : [ 231, 240, '', 'ffffff', '585858', '']
+ \ , 'CursorColumn' : [ 231, 237, '', 'ffffff', '3a3a3a', '']
+ \
+ \ , 'Folded' : [ 249, 234, '', 'b2b2b2', '1c1c1c', '']
+ \ , 'FoldColumn' : [ 243, 234, '', '767676', '1c1c1c', '']
+ \ , 'SignColumn' : [ 231, 233, 'bold', 'ffffff', '121212', 'bold']
+ \ , 'ColorColumn' : [ '', 233, '', '', '262626', '']
+ \
+ \ , 'StatusLine' : [ 231, 236, 'bold', 'ffffff', '303030', 'bold']
+ \ , 'StatusLineNC' : [ 244, 232, '', '808080', '080808', '']
+ \
+ \ , 'LineNr' : [ 243, 235, '', '767676', '262626', '']
+ \ , 'VertSplit' : [ 240, '', '', '585858', '1c1c1c', '']
+ \
+ \ , 'WildMenu' : [ 234, 231, '', '1c1c1c', 'ffffff', '']
+ \ , 'Directory' : [ 143, '', 'bold', 'afaf5f', '', 'bold']
+ \ , 'Underlined' : [ 130, '', '', 'af5f00', '', '']
+ \
+ \ , 'Question' : [ 74, '', 'bold', '5fafd7', '', 'bold']
+ \ , 'MoreMsg' : [ 214, '', 'bold', 'ffaf00', '', 'bold']
+ \ , 'WarningMsg' : [ 202, '', 'bold', 'ff5f00', '', 'bold']
+ \ , 'ErrorMsg' : [ 196, '', 'bold', 'ff0000', '', 'bold']
+ \
+ \ , 'Comment' : [ 243, 233, '', '767676', '121212', '']
+ \ , 'vimCommentTitleLeader' : [ 250, 233, '', 'bcbcbc', '121212', '']
+ \ , 'vimCommentTitle' : [ 250, 233, '', 'bcbcbc', '121212', '']
+ \ , 'vimCommentString' : [ 245, 233, '', '8a8a8a', '121212', '']
+ \
+ \ , 'TabLine' : [ 231, 238, '', 'ffffff', '444444', '']
+ \ , 'TabLineSel' : [ 255, '', 'bold', 'eeeeee', '', 'bold']
+ \ , 'TabLineFill' : [ 240, 238, '', '585858', '444444', '']
+ \ , 'TabLineNumber' : [ 160, 238, 'bold', 'd70000', '444444', 'bold']
+ \ , 'TabLineClose' : [ 245, 238, 'bold', '8a8a8a', '444444', 'bold']
+ \
+ \ , 'SpellCap' : [ 231, 31, 'bold', 'ffffff', '0087af', 'bold']
+ \
+ \ , 'SpecialKey' : [ 239, '', '', '4e4e4e', '', '']
+ \ , 'NonText' : [ 88, '', '', '870000', '', '']
+ \ , 'MatchParen' : [ 231, 25, 'bold', 'ffffff', '005faf', 'bold']
+ \
+ \ , 'Constant' : [ 137, '', 'bold', 'af875f', '', 'bold']
+ \ , 'Special' : [ 150, '', '', 'afd787', '', '']
+ \ , 'Identifier' : [ 66, '', 'bold', '5f8787', '', 'bold']
+ \ , 'Statement' : [ 186, '', 'bold', 'd7d787', '', 'bold']
+ \ , 'PreProc' : [ 247, '', '', '9e9e9e', '', '']
+ \ , 'Type' : [ 67, '', 'bold', '5f87af', '', 'bold']
+ \ , 'String' : [ 143, '', '', 'afaf5f', '', '']
+ \ , 'Number' : [ 173, '', '', 'd7875f', '', '']
+ \ , 'Define' : [ 173, '', '', 'd7875f', '', '']
+ \ , 'Error' : [ 208, 124, '', 'ff8700', 'af0000', '']
+ \ , 'Function' : [ 179, '', '', 'd7af5f', '', '']
+ \ , 'Include' : [ 173, '', '', 'd7875f', '', '']
+ \ , 'PreCondit' : [ 173, '', '', 'd7875f', '', '']
+ \ , 'Keyword' : [ 173, '', '', 'd7875f', '', '']
+ \ , 'Search' : [ 231, 131, '', '000000', 'ffff5f', 'underline,bold']
+ \ , 'Title' : [ 231, '', '', 'ffffff', '', '']
+ \ , 'Delimiter' : [ 246, '', '', '949494', '', '']
+ \ , 'StorageClass' : [ 187, '', '', 'd7d7af', '', '']
+ \ , 'Operator' : [ 180, '', '', 'd7af87', '', '']
+ \
+ \ , 'TODO' : [ 228, 94, 'bold', 'ffff87', '875f00', 'bold']
+ \
+ \ , 'SyntasticWarning' : [ 220, 94, '', 'ffff87', '875f00', 'bold']
+ \ , 'SyntasticError' : [ 202, 52, '', 'ffff87', '875f00', 'bold']
+ \
+ \ , 'Pmenu' : [ 248, 240, '', 'a8a8a8', '585858', '']
+ \ , 'PmenuSel' : [ 253, 245, '', 'dadada', '8a8a8a', '']
+ \ , 'PmenuSbar' : [ 253, 248, '', 'dadada', 'a8a8a8', '']
+ \
+ \ , 'phpEOL' : [ 245, '', '', 'dadada', '', '']
+ \ , 'phpStringDelim' : [ 94, '', '', '875f00', '', '']
+ \ , 'phpDelimiter' : [ 160, '', '', 'd70000', '', '']
+ \ , 'phpFunctions' : [ 221, '', 'bold', 'ffd75f', '', 'bold']
+ \ , 'phpBoolean' : [ 172, '', 'bold', 'd78700', '', 'bold']
+ \ , 'phpOperator' : [ 215, '', '', 'ffaf5f', '', '']
+ \ , 'phpMemberSelector' : [ 138, '', 'bold', 'af8787', '', 'bold']
+ \ , 'phpParent' : [ 227, '', '', 'ffff5f', '', '']
+ \
+ \ , 'PHPClassTag' : [ 253, '', '', 'dadada', '', '']
+ \ , 'PHPInterfaceTag' : [ 253, '', '', 'dadada', '', '']
+ \ , 'PHPFunctionTag' : [ 222, '', 'bold', 'ffd787', '', 'bold']
+ \
+ \ , 'pythonDocString' : [ 240, 233, '', '585858', '121212', '']
+ \ , 'pythonDocStringTitle' : [ 245, 233, '', 'dadada', '121212', '']
+ \ , 'pythonRun' : [ 65, '', '', '5f875f', '', '']
+ \ , 'pythonBuiltinObj' : [ 67, '', 'bold', '5f87af', '', 'bold']
+ \ , 'pythonSelf' : [ 250, '', 'bold', 'bcbcbc', '', 'bold']
+ \ , 'pythonFunction' : [ 179, '', 'bold', 'd7af5f', '', 'bold']
+ \ , 'pythonClass' : [ 221, '', 'bold', 'ffd75f', '', 'bold']
+ \ , 'pythonExClass' : [ 130, '', '', 'af5f00', '', '']
+ \ , 'pythonException' : [ 130, '', 'bold', 'af5f00', '', 'bold']
+ \ , 'pythonOperator' : [ 186, '', '', 'd7d787', '', '']
+ \ , 'pythonPreCondit' : [ 152, '', 'bold', 'afd7d7', '', 'bold']
+ \ , 'pythonDottedName' : [ 166, '', '', 'd75f00', '', '']
+ \ , 'pythonDecorator' : [ 124, '', 'bold', 'af0000', '', 'bold']
+ \
+ \ , 'PythonInterfaceTag' : [ 109, '', '', '87afaf', '', '']
+ \ , 'PythonClassTag' : [ 221, '', '', 'ffd75f', '', '']
+ \ , 'PythonFunctionTag' : [ 109, '', '', '87afaf', '', '']
+ \ , 'PythonVariableTag' : [ 253, '', '', 'dadada', '', '']
+ \ , 'PythonMemberTag' : [ 145, '', '', 'afafaf', '', '']
+ \
+ \ , 'CTagsImport' : [ 109, '', '', '87afaf', '', '']
+ \ , 'CTagsClass' : [ 221, '', '', 'ffd75f', '', '']
+ \ , 'CTagsFunction' : [ 109, '', '', '87afaf', '', '']
+ \ , 'CTagsGlobalVariable' : [ 253, '', '', 'dadada', '', '']
+ \ , 'CTagsMember' : [ 145, '', '', 'afafaf', '', '']
+ \
+ \ , 'xmlTag' : [ 149, '', 'bold', 'afd75f', '', 'bold']
+ \ , 'xmlTagName' : [ 250, '', '', 'bcbcbc', '', '']
+ \ , 'xmlEndTag' : [ 209, '', 'bold', 'ff875f', '', 'bold']
+ \
+ \ , 'cssImportant' : [ 166, '', 'bold', 'd75f00', '', 'bold']
+ \
+ \ , 'DiffAdd' : [ 112, 22, '', '87d700', '005f00', '']
+ \ , 'DiffChange' : [ 220, 94, '', 'ffd700', '875f00', '']
+ \ , 'DiffDelete' : [ 160, '', '', 'd70000', '', '']
+ \ , 'DiffText' : [ 220, 94, 'reverse,bold', 'ffd700', '875f00', 'reverse,bold']
+ \
+ \ , 'diffLine' : [ 68, '', 'bold', '5f87d7', '', 'bold']
+ \ , 'diffFile' : [ 242, '', '', '6c6c6c', '', '']
+ \ , 'diffNewFile' : [ 242, '', '', '6c6c6c', '', '']
+\ })
+
+hi link htmlTag xmlTag
+hi link htmlTagName xmlTagName
+hi link htmlEndTag xmlEndTag
+
+hi link phpCommentTitle vimCommentTitle
+hi link phpDocTags vimCommentString
+hi link phpDocParam vimCommentTitle
+
+hi link diffAdded DiffAdd
+hi link diffChanged DiffChange
+hi link diffRemoved DiffDelete
diff --git a/colors/solarized.vim b/colors/solarized.vim
new file mode 100644
index 0000000..70f5223
--- /dev/null
+++ b/colors/solarized.vim
@@ -0,0 +1,1117 @@
+" 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 May 05
+"
+" 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.
+"
+" ---------------------------------------------------------------------
+" OPTIONS:
+" ---------------------------------------------------------------------
+" See the "solarized.txt" help file included with this colorscheme (in the
+" "doc" subdirectory) for information on options, usage, the Toggle Background
+" function and more. If you have already installed Solarized, this is available
+" from the Solarized menu and command line as ":help solarized"
+"
+" ---------------------------------------------------------------------
+" INSTALLATION:
+" ---------------------------------------------------------------------
+" Two options for installation: manual or pathogen
+"
+" MANUAL INSTALLATION OPTION:
+" ---------------------------------------------------------------------
+"
+" 1. Download the solarized distribution (available on the homepage above)
+" and unarchive the file.
+" 2. Move `solarized.vim` to your `.vim/colors` directory.
+" 3. Move each of the files in each subdirectories to the corresponding .vim
+" subdirectory (e.g. autoload/togglebg.vim goes into your .vim/autoload
+" directory as .vim/autoload/togglebg.vim).
+"
+" 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.
+"
+" ---------------------------------------------------------------------
+" 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/"
+"
+" }}}
+" Environment Specific Overrides "{{{
+" Allow or disallow certain features based on current terminal emulator or
+" environment.
+
+" Terminals that support italics
+let s:terms_italic=[
+ \"rxvt",
+ \"gnome-terminal"
+ \]
+" For reference only, terminals are known to be incomptible.
+" Terminals that are in neither list need to be tested.
+let s:terms_noitalic=[
+ \"iTerm.app",
+ \"Apple_Terminal"
+ \]
+if has("gui_running")
+ let s:terminal_italic=1 " TODO: could refactor to not require this at all
+else
+ let s:terminal_italic=0 " terminals will be guilty until proven compatible
+ for term in s:terms_italic
+ if $TERM_PROGRAM =~ term
+ let s:terminal_italic=1
+ endif
+ endfor
+endif
+
+" }}}
+" Default option values"{{{
+" ---------------------------------------------------------------------
+" s:options_list is used to autogenerate a list of all non-default options
+" using "call SolarizedOptions()" or with the "Generate .vimrc commands"
+" Solarized menu option. See the "Menus" section below for the function itself.
+let s:options_list=[
+ \'" this block of commands has been autogenerated by solarized.vim and',
+ \'" includes the current, non-default Solarized option values.',
+ \'" To use, place these commands in your .vimrc file (replacing any',
+ \'" existing colorscheme commands). See also ":help solarized"',
+ \'',
+ \'" ------------------------------------------------------------------',
+ \'" Solarized Colorscheme Config',
+ \'" ------------------------------------------------------------------',
+ \]
+let s:colorscheme_list=[
+ \'syntax enable',
+ \'set background='.&background,
+ \'colorscheme solarized',
+ \]
+let s:defaults_list=[
+ \'" ------------------------------------------------------------------',
+ \'',
+ \'" The following items are available options, but do not need to be',
+ \'" included in your .vimrc as they are currently set to their defaults.',
+ \''
+ \]
+let s:lazycat_list=[
+ \'" lazy method of appending this onto your .vimrc ":w! >> ~/.vimrc"',
+ \'" ------------------------------------------------------------------',
+ \]
+
+function! s:SetOption(name,default)
+ if type(a:default) == type(0)
+ let l:wrap=''
+ let l:ewrap=''
+ else
+ let l:wrap='"'
+ let l:ewrap='\"'
+ endif
+ if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default
+ exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"'
+ exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")'
+ else
+ exe 'call add(s:options_list, "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.' \"default value is '.a:default.'")'
+ endif
+endfunction
+
+if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256)
+ let s:solarized_termtrans_default = 1
+else
+ let s:solarized_termtrans_default = 0
+endif
+call s:SetOption("termtrans",s:solarized_termtrans_default)
+call s:SetOption("degrade",0)
+call s:SetOption("bold",1)
+call s:SetOption("underline",1)
+call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support
+call s:SetOption("termcolors",16)
+call s:SetOption("contrast","normal")
+call s:SetOption("visibility","normal")
+call s:SetOption("diffmode","normal")
+call s:SetOption("hitrail",0)
+call s:SetOption("menu",1)
+
+"}}}
+" 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" "original
+ let s:green = "#719e07" "experimental
+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 = "5".s:bright
+" let s:blue = "4"
+" let s:cyan = "6"
+" let s:green = "2"
+ let s:base03 = "DarkGray" " 0*
+ let s:base02 = "Black" " 0
+ let s:base01 = "LightGreen" " 2*
+ let s:base00 = "LightYellow" " 3*
+ let s:base0 = "LightBlue" " 4*
+ let s:base1 = "LightCyan" " 6*
+ let s:base2 = "LightGray" " 7
+ let s:base3 = "White" " 7*
+ let s:yellow = "DarkYellow" " 3
+ let s:orange = "LightRed" " 1*
+ let s:red = "DarkRed" " 1
+ let s:magenta = "DarkMagenta" " 5
+ let s:violet = "LightMagenta" " 5*
+ let s:blue = "DarkBlue" " 4
+ let s:cyan = "DarkCyan" " 6
+ let s:green = "DarkGreen" " 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 and environment "{{{
+" ---------------------------------------------------------------------
+if (g:solarized_bold == 0 || &t_Co == 8 )
+ let s:b = ""
+ let s:bb = ",bold"
+else
+ let s:b = ",bold"
+ let s:bb = ""
+endif
+
+if g:solarized_underline == 0
+ let s:u = ""
+else
+ let s:u = ",underline"
+endif
+
+if g:solarized_italic == 0 || s:terminal_italic == 0
+ let s:i = ""
+else
+ let s:i = ",italic"
+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".s:i. " term=NONE".s:i."'"
+exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'"
+exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'"
+exe "let s:fmt_revb = ' ".s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
+" revbb (reverse bold for bright colors) is only set to actual bold in low
+" color terminals (t_co=8, such as OS X Terminal.app) and should only be used
+" with colors 8-15.
+exe "let s:fmt_revbb = ' ".s:vmode."=NONE".s:r.s:bb. " term=NONE".s:r.s:bb."'"
+exe "let s:fmt_revbbu = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'"
+
+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_red .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_base00 .s:bg_base02
+ exe "hi! NonText" .s:fmt_bold .s:fg_base00 .s:bg_none
+endif
+exe "hi! StatusLine" .s:fmt_none .s:fg_base1 .s:bg_base02 .s:fmt_revbb
+exe "hi! StatusLineNC" .s:fmt_none .s:fg_base00 .s:bg_base02 .s:fmt_revbb
+exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb
+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
+if ( has("gui_running") || &t_Co > 8 )
+ exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_base00
+else
+ exe "hi! VertSplit" .s:fmt_revbb .s:fg_base00 .s:bg_base02
+endif
+exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none
+exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02 .s:fmt_revbb
+exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none
+exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 .s:fmt_revbb
+exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03
+exe "hi! FoldColumn" .s:fmt_none .s:fg_base0 .s:bg_base02
+if (g:solarized_diffmode=="high")
+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
+elseif (g:solarized_diffmode=="low")
+exe "hi! DiffAdd" .s:fmt_undr .s:fg_green .s:bg_none .s:sp_green
+exe "hi! DiffChange" .s:fmt_undr .s:fg_yellow .s:bg_none .s:sp_yellow
+exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_none
+exe "hi! DiffText" .s:fmt_undr .s:fg_blue .s:bg_none .s:sp_blue
+else " normal
+ if has("gui_running")
+exe "hi! DiffAdd" .s:fmt_bold .s:fg_green .s:bg_base02 .s:sp_green
+exe "hi! DiffChange" .s:fmt_bold .s:fg_yellow .s:bg_base02 .s:sp_yellow
+exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_base02
+exe "hi! DiffText" .s:fmt_bold .s:fg_blue .s:bg_base02 .s:sp_blue
+ else
+exe "hi! DiffAdd" .s:fmt_none .s:fg_green .s:bg_base02 .s:sp_green
+exe "hi! DiffChange" .s:fmt_none .s:fg_yellow .s:bg_base02 .s:sp_yellow
+exe "hi! DiffDelete" .s:fmt_none .s:fg_red .s:bg_base02
+exe "hi! DiffText" .s:fmt_none .s:fg_blue .s:bg_base02 .s:sp_blue
+ endif
+endif
+exe "hi! SignColumn" .s:fmt_none .s:fg_base0
+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 .s:fmt_revbb
+exe "hi! PmenuSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:fmt_revbb
+exe "hi! PmenuSbar" .s:fmt_none .s:fg_base2 .s:bg_base0 .s:fmt_revbb
+exe "hi! PmenuThumb" .s:fmt_none .s:fg_base0 .s:bg_base03 .s:fmt_revbb
+exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
+exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
+exe "hi! TabLineSel" .s:fmt_undr .s:fg_base01 .s:bg_base2 .s:sp_base0 .s:fmt_revbbu
+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
+"hi! link vimComment Comment
+"hi! link vimLineComment Comment
+hi! link vimVar Identifier
+hi! link vimFunc Function
+hi! link vimUserFunc Function
+hi! link helpSpecial Special
+hi! link vimSet Normal
+hi! link vimSetEqual Normal
+exe "hi! vimCommentString" .s:fmt_none .s:fg_violet .s:bg_none
+exe "hi! vimCommand" .s:fmt_none .s:fg_yellow .s:bg_none
+exe "hi! vimCmdSep" .s:fmt_bold .s:fg_blue .s:bg_none
+exe "hi! helpExample" .s:fmt_none .s:fg_base1 .s:bg_none
+exe "hi! helpOption" .s:fmt_none .s:fg_cyan .s:bg_none
+exe "hi! helpNote" .s:fmt_none .s:fg_magenta.s:bg_none
+exe "hi! helpVim" .s:fmt_none .s:fg_magenta.s:bg_none
+exe "hi! helpHyperTextJump" .s:fmt_undr .s:fg_blue .s:bg_none
+exe "hi! helpHyperTextEntry".s:fmt_none .s:fg_green .s:bg_none
+exe "hi! vimIsCommand" .s:fmt_none .s:fg_base00 .s:bg_none
+exe "hi! vimSynMtchOpt" .s:fmt_none .s:fg_yellow .s:bg_none
+exe "hi! vimSynType" .s:fmt_none .s:fg_cyan .s:bg_none
+exe "hi! vimHiLink" .s:fmt_none .s:fg_blue .s:bg_none
+exe "hi! vimHiGroup" .s:fmt_none .s:fg_blue .s:bg_none
+exe "hi! vimGroup" .s:fmt_undb .s:fg_blue .s:bg_none
+"}}}
+" diff highlighting "{{{
+" ---------------------------------------------------------------------
+hi! link diffAdded Statement
+hi! link diffLine Identifier
+"}}}
+" git & gitcommit highlighting "{{{
+"git
+"exe "hi! gitDateHeader"
+"exe "hi! gitIdentityHeader"
+"exe "hi! gitIdentityKeyword"
+"exe "hi! gitNotesHeader"
+"exe "hi! gitReflogHeader"
+"exe "hi! gitKeyword"
+"exe "hi! gitIdentity"
+"exe "hi! gitEmailDelimiter"
+"exe "hi! gitEmail"
+"exe "hi! gitDate"
+"exe "hi! gitMode"
+"exe "hi! gitHashAbbrev"
+"exe "hi! gitHash"
+"exe "hi! gitReflogMiddle"
+"exe "hi! gitReference"
+"exe "hi! gitStage"
+"exe "hi! gitType"
+"exe "hi! gitDiffAdded"
+"exe "hi! gitDiffRemoved"
+"gitcommit
+"exe "hi! gitcommitSummary"
+exe "hi! gitcommitComment" .s:fmt_ital .s:fg_base01 .s:bg_none
+hi! link gitcommitUntracked gitcommitComment
+hi! link gitcommitDiscarded gitcommitComment
+hi! link gitcommitSelected gitcommitComment
+exe "hi! gitcommitUnmerged" .s:fmt_bold .s:fg_green .s:bg_none
+exe "hi! gitcommitOnBranch" .s:fmt_bold .s:fg_base01 .s:bg_none
+exe "hi! gitcommitBranch" .s:fmt_bold .s:fg_magenta .s:bg_none
+hi! link gitcommitNoBranch gitcommitBranch
+exe "hi! gitcommitDiscardedType".s:fmt_none .s:fg_red .s:bg_none
+exe "hi! gitcommitSelectedType" .s:fmt_none .s:fg_green .s:bg_none
+"exe "hi! gitcommitUnmergedType"
+"exe "hi! gitcommitType"
+"exe "hi! gitcommitNoChanges"
+"exe "hi! gitcommitHeader"
+exe "hi! gitcommitHeader" .s:fmt_none .s:fg_base01 .s:bg_none
+exe "hi! gitcommitUntrackedFile".s:fmt_bold .s:fg_cyan .s:bg_none
+exe "hi! gitcommitDiscardedFile".s:fmt_bold .s:fg_red .s:bg_none
+exe "hi! gitcommitSelectedFile" .s:fmt_bold .s:fg_green .s:bg_none
+exe "hi! gitcommitUnmergedFile" .s:fmt_bold .s:fg_yellow .s:bg_none
+exe "hi! gitcommitFile" .s:fmt_bold .s:fg_base0 .s:bg_none
+hi! link gitcommitDiscardedArrow gitcommitDiscardedFile
+hi! link gitcommitSelectedArrow gitcommitSelectedFile
+hi! link gitcommitUnmergedArrow gitcommitUnmergedFile
+"exe "hi! gitcommitArrow"
+"exe "hi! gitcommitOverflow"
+"exe "hi! gitcommitBlank"
+" }}}
+" html highlighting "{{{
+" ---------------------------------------------------------------------
+exe "hi! htmlTag" .s:fmt_none .s:fg_base01 .s:bg_none
+exe "hi! htmlEndTag" .s:fmt_none .s:fg_base01 .s:bg_none
+exe "hi! htmlTagN" .s:fmt_bold .s:fg_base1 .s:bg_none
+exe "hi! htmlTagName" .s:fmt_bold .s:fg_blue .s:bg_none
+exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue .s:bg_none
+exe "hi! htmlArg" .s:fmt_none .s:fg_base00 .s:bg_none
+exe "hi! javaScript" .s:fmt_none .s:fg_yellow .s:bg_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
+"}}}
+" Highlight Trailing Space {{{
+" Experimental: Different highlight when on cursorline
+function! s:SolarizedHiTrail()
+ if g:solarized_hitrail==0
+ hi! clear solarizedTrailingSpace
+ else
+ syn match solarizedTrailingSpace "\s*$"
+ exe "hi! solarizedTrailingSpace " .s:fmt_undr .s:fg_red .s:bg_none .s:sp_red
+ endif
+endfunction
+augroup SolarizedHiTrail
+ autocmd!
+ if g:solarized_hitrail==1
+ autocmd! Syntax * call s:SolarizedHiTrail()
+ autocmd! ColorScheme * if g:colors_name == "solarized" | call s:SolarizedHiTrail() | else | augroup! s:SolarizedHiTrail | endif
+ endif
+augroup END
+" }}}
+" Menus "{{{
+" ---------------------------------------------------------------------
+" Turn off Solarized menu by including the following assignment in your .vimrc:
+"
+" let g:solarized_menu=0
+
+function! s:SolarizedOptions()
+ new "new buffer
+ setf vim "vim filetype
+ let failed = append(0, s:defaults_list)
+ let failed = append(0, s:colorscheme_list)
+ let failed = append(0, s:options_list)
+ let failed = append(0, s:lazycat_list)
+ 0 "jump back to the top
+endfunction
+if !exists(":SolarizedOptions")
+ command SolarizedOptions :call s:SolarizedOptions()
+endif
+
+function! SolarizedMenu()
+ if exists("g:loaded_solarized_menu")
+ try
+ silent! aunmenu Solarized
+ endtry
+ endif
+ let g:loaded_solarized_menu = 1
+
+ if g:colors_name == "solarized" && g:solarized_menu != 0
+
+ amenu &Solarized.&Contrast.&Low\ Contrast :let g:solarized_contrast="low" \| colorscheme solarized<CR>
+ amenu &Solarized.&Contrast.&Normal\ Contrast :let g:solarized_contrast="normal" \| colorscheme solarized<CR>
+ amenu &Solarized.&Contrast.&High\ Contrast :let g:solarized_contrast="high" \| colorscheme solarized<CR>
+ an &Solarized.&Contrast.-sep- <Nop>
+ amenu &Solarized.&Contrast.&Help:\ Contrast :help 'solarized_contrast'<CR>
+
+ amenu &Solarized.&Visibility.&Low\ Visibility :let g:solarized_visibility="low" \| colorscheme solarized<CR>
+ amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal" \| colorscheme solarized<CR>
+ amenu &Solarized.&Visibility.&High\ Visibility :let g:solarized_visibility="high" \| colorscheme solarized<CR>
+ an &Solarized.&Visibility.-sep- <Nop>
+ amenu &Solarized.&Visibility.&Help:\ Visibility :help 'solarized_visibility'<CR>
+
+ amenu &Solarized.&Background.&Toggle\ Background :ToggleBG<CR>
+ amenu &Solarized.&Background.&Dark\ Background :set background=dark \| colorscheme solarized<CR>
+ amenu &Solarized.&Background.&Light\ Background :set background=light \| colorscheme solarized<CR>
+ an &Solarized.&Background.-sep- <Nop>
+ amenu &Solarized.&Background.&Help:\ ToggleBG :help togglebg<CR>
+
+ if g:solarized_bold==0 | let l:boldswitch="On" | else | let l:boldswitch="Off" | endif
+ exe "amenu &Solarized.&Styling.&Turn\\ Bold\\ ".l:boldswitch." :let g:solarized_bold=(abs(g:solarized_bold-1)) \\| colorscheme solarized<CR>"
+ if g:solarized_italic==0 | let l:italicswitch="On" | else | let l:italicswitch="Off" | endif
+ exe "amenu &Solarized.&Styling.&Turn\\ Italic\\ ".l:italicswitch." :let g:solarized_italic=(abs(g:solarized_italic-1)) \\| colorscheme solarized<CR>"
+ if g:solarized_underline==0 | let l:underlineswitch="On" | else | let l:underlineswitch="Off" | endif
+ exe "amenu &Solarized.&Styling.&Turn\\ Underline\\ ".l:underlineswitch." :let g:solarized_underline=(abs(g:solarized_underline-1)) \\| colorscheme solarized<CR>"
+
+ amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode :let g:solarized_diffmode="low" \| colorscheme solarized<CR>
+ amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal" \| colorscheme solarized<CR>
+ amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode :let g:solarized_diffmode="high" \| colorscheme solarized<CR>
+
+ if g:solarized_hitrail==0 | let l:hitrailswitch="On" | else | let l:hitrailswitch="Off" | endif
+ exe "amenu &Solarized.&Experimental.&Turn\\ Highlight\\ Trailing\\ Spaces\\ ".l:hitrailswitch." :let g:solarized_hitrail=(abs(g:solarized_hitrail-1)) \\| colorscheme solarized<CR>"
+ an &Solarized.&Experimental.-sep- <Nop>
+ amenu &Solarized.&Experimental.&Help:\ HiTrail :help 'solarized_hitrail'<CR>
+
+ an &Solarized.-sep1- <Nop>
+
+ amenu &Solarized.&Autogenerate\ options :SolarizedOptions<CR>
+
+ an &Solarized.-sep2- <Nop>
+
+ amenu &Solarized.&Help.&Solarized\ Help :help solarized<CR>
+ amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg<CR>
+ amenu &Solarized.&Help.&Removing\ This\ Menu :help solarized-menu<CR>
+
+ an 9999.77 &Help.&Solarized\ Colorscheme :help solarized<CR>
+ an 9999.78 &Help.&Toggle\ Background :help togglebg<CR>
+ an 9999.79 &Help.-sep3- <Nop>
+
+ endif
+endfunction
+
+autocmd ColorScheme * if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | 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
+"}}}
diff --git a/colors/zenburn.vim b/colors/zenburn.vim
new file mode 100644
index 0000000..923e2eb
--- /dev/null
+++ b/colors/zenburn.vim
@@ -0,0 +1,560 @@
+" Vim color file
+" Maintainer: Jani Nurminen <slinky@iki.fi>
+" Last Change: $Id: zenburn.vim,v 2.21 2011/04/26 12:13:41 slinky Exp slinky $
+" URL: http://slinky.imukuppi.org/zenburnpage/
+" License: GNU GPL <http://www.gnu.org/licenses/gpl.html>
+"
+" Nothing too fancy, just some alien fruit salad to keep you in the zone.
+" This syntax file was designed to be used with dark environments and
+" low light situations. Of course, if it works during a daybright office, go
+" ahead :)
+"
+" Owes heavily to other Vim color files! With special mentions
+" to "BlackDust", "Camo" and "Desert".
+"
+" To install, copy to ~/.vim/colors directory.
+"
+" Alternatively, you can use Vimball installation:
+" vim zenburn.vba
+" :so %
+" :q
+"
+" For details, see :help vimball
+"
+" After installation, use it with :colorscheme zenburn.
+" See also :help syntax
+"
+" Credits:
+" - Jani Nurminen - original Zenburn, maintainer
+" - Steve Hall & Cream posse - higher-contrast Visual selection
+" - Kurt Maier - 256 color console coloring, low and high contrast toggle,
+" bug fixing
+" - Charlie - spotted too bright StatusLine in non-high contrast mode
+" - Pablo Castellazzi - CursorLine fix for 256 color mode
+" - Tim Smith - force dark background
+" - John Gabriele - spotted bad Ignore-group handling
+" - Zac Thompson - spotted invisible NonText in low contrast mode
+" - Christophe-Marie Duquesne - suggested making a Vimball,
+" suggested support for ctags_highlighting.vim
+" - Andrew Wagner - noted the CursorColumn bug (guifg was unintentionally set),
+" unify CursorColumn colour
+" - Martin Langasek - clarify the license, whitespace fixes
+" - Marcin Szamotulski - support autocomplete for Zenburn configuration
+" parameters
+" - Clayton Parker (claytron) - Convinced by Kurt Maier to use Zenburn. Point
+" out issues with LineNr, fix directory styles, and their usage in MacVim.
+" - Paweł Piekarski - Spotted bad FoldColumn and TabLine. Made better
+" FoldColumn colors, fixed TabLine colors.
+"
+" CONFIGURABLE PARAMETERS:
+"
+" You can use the default (don't set any parameters), or you can
+" set some parameters to tweak the Zenburn colours.
+"
+" To use them, put them into your .vimrc file before loading the color scheme,
+" example:
+" let g:zenburn_high_Contrast=1
+" colors zenburn
+"
+" You can also do ":let g:zenburn" then hit Ctrl-d or Tab to scroll through the
+" list of configurable parameters.
+"
+" * You can now set a darker background for bright environments. To activate, use:
+" contrast Zenburn, use:
+"
+" let g:zenburn_high_Contrast = 1
+"
+" * For example, Vim help files uses the Ignore-group for the pipes in tags
+" like "|somelink.txt|". By default, the pipes are not visible, as they
+" map to Ignore group. If you wish to enable coloring of the Ignore group,
+" set the following parameter to 1. Warning, it might make some syntax files
+" look strange.
+"
+" let g:zenburn_color_also_Ignore = 1
+"
+" * To get more contrast to the Visual selection, use
+"
+" let g:zenburn_alternate_Visual = 1
+"
+" Note: this is enabled only if the old-style Visual
+" if used, see g:zenburn_old_Visual
+"
+" * To use alternate colouring for Error message, use
+"
+" let g:zenburn_alternate_Error = 1
+"
+" * The new default for Include is a duller orange. To use the original
+" colouring for Include, use
+"
+" let g:zenburn_alternate_Include = 1
+"
+" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
+" as light values, and sets background to light for some people. If you have
+" this problem, use:
+"
+" let g:zenburn_force_dark_Background = 1
+"
+" * By default the CursorColumn is of a lighter colour. I find it more readable
+" that way, but some people may want to align it with the darker CursorLine
+" color, for visual uniformity. To do so, use:
+"
+" let g:zenburn_unified_CursorColumn = 1
+"
+" Note: you can ignore this unless you use
+" ":set cursorline cursorcolumn", since otherwise the effect won't be
+" seen.
+"
+" * New (dark) Visual coloring has been introduced.
+" The dark Visual is more aligned with the rest of the colour scheme,
+" especially if you use line numbers. If you wish to use the
+" old Visual coloring, use
+"
+" let g:zenburn_old_Visual = 1
+"
+" Default is to use the new Visual.
+"
+" * EXPERIMENTAL FEATURE: Zenburn will automatically detect if you
+" have ctags_highlighting.vim (by Al Budden,
+" http://www.vim.org/scripts/script.php?script_id=2646) enabled, and
+" will set sensible highlight links. Nothing will happen if you do
+" not have ctags_highlighting.vim. If you do not want this feature, you can
+" override the check with:
+"
+" let g:zenburn_disable_ctags_highlighting_support = 1
+"
+" NOTE:
+"
+" * To turn the parameter(s) back to defaults, use UNLET or set them to 0:
+"
+" unlet g:zenburn_alternate_Include
+" or
+" let g:zenburn_alternate_Include = 0
+"
+"
+" That's it, enjoy!
+"
+" TODO
+" - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
+" - IME colouring (CursorIM)
+
+" Set defaults, but keep any parameters already set by the user
+if ! exists("g:zenburn_high_Contrast")
+ let g:zenburn_high_Contrast = 0
+endif
+
+if ! exists("g:zenburn_color_also_Ignore")
+ let g:zenburn_color_also_Ignore = 0
+endif
+
+if ! exists("g:zenburn_alternate_Error")
+ let g:zenburn_alternate_Error = 0
+endif
+
+if ! exists("g:zenburn_force_dark_Background")
+ let g:zenburn_force_dark_Background = 0
+endif
+
+if ! exists("g:zenburn_alternate_Visual")
+ let g:zenburn_alternate_Visual = 0
+endif
+
+if ! exists("g:zenburn_alternate_Include")
+ let g:zenburn_alternate_Include = 0
+endif
+
+if ! exists("g:zenburn_unified_CursorColumn")
+ let g:zenburn_unified_CursorColumn = 0
+endif
+
+if ! exists("g:zenburn_old_Visual")
+ let g:zenburn_old_Visual = 0
+endif
+
+if ! exists("g:zenburn_disable_ctags_highlighting_support")
+ " enabled by default
+ let g:zenburn_disable_ctags_highlighting_support = 0
+endif
+
+" -----------------------------------------------
+
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+let g:colors_name="zenburn"
+
+" check for ctags-highlighting
+if exists("g:loaded_ctags_highlighting") && g:loaded_ctags_highlighting && ! g:zenburn_disable_ctags_highlighting_support
+ " internal
+ let _zenburn_ctags = 1
+endif
+
+hi Boolean guifg=#dca3a3
+hi Character guifg=#dca3a3 gui=bold
+hi Comment guifg=#7f9f7f gui=italic
+hi Conditional guifg=#f0dfaf gui=bold
+hi Constant guifg=#dca3a3 gui=bold
+hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold
+hi Debug guifg=#bca3a3 gui=bold
+hi Define guifg=#ffcfaf gui=bold
+hi Delimiter guifg=#8f8f8f
+hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold
+hi DiffChange guibg=#333333
+hi DiffDelete guifg=#333333 guibg=#464646
+hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold
+hi Directory guifg=#9fafaf gui=bold
+hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold
+hi Exception guifg=#c3bf9f gui=bold
+hi Float guifg=#c0bed1
+hi FoldColumn guifg=#93b3a3 guibg=#3f4040
+hi Folded guifg=#93b3a3 guibg=#3f4040
+hi Function guifg=#efef8f
+hi Identifier guifg=#efdcbc
+hi IncSearch guibg=#f8f893 guifg=#385f38
+hi Keyword guifg=#f0dfaf gui=bold
+hi Label guifg=#dfcfaf gui=underline
+hi Macro guifg=#ffcfaf gui=bold
+hi ModeMsg guifg=#ffcfaf gui=none
+hi MoreMsg guifg=#ffffff gui=bold
+hi Number guifg=#8cd0d3
+hi Operator guifg=#f0efd0
+hi PreCondit guifg=#dfaf8f gui=bold
+hi PreProc guifg=#ffcfaf gui=bold
+hi Question guifg=#ffffff gui=bold
+hi Repeat guifg=#ffd7a7 gui=bold
+hi Search guifg=#ffffe0 guibg=#284f28
+hi SpecialChar guifg=#dca3a3 gui=bold
+hi SpecialComment guifg=#82a282 gui=bold
+hi Special guifg=#cfbfaf
+hi SpecialKey guifg=#9ece9e
+hi Statement guifg=#e3ceab gui=none
+hi StatusLine guifg=#313633 guibg=#ccdc90
+hi StatusLineNC guifg=#2e3330 guibg=#88b090
+hi StorageClass guifg=#c3bf9f gui=bold
+hi String guifg=#cc9393
+hi Structure guifg=#efefaf gui=bold
+hi Tag guifg=#e89393 gui=bold
+hi Title guifg=#efefef gui=bold
+hi Todo guifg=#dfdfdf guibg=bg gui=bold
+hi Typedef guifg=#dfe4cf gui=bold
+hi Type guifg=#dfdfbf gui=bold
+hi Underlined guifg=#dcdccc gui=underline
+hi VertSplit guifg=#2e3330 guibg=#688060
+hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
+hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
+hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline
+
+hi SpellBad guisp=#bc6c4c guifg=#dc8c6c
+hi SpellCap guisp=#6c6c9c guifg=#8c8cbc
+hi SpellRare guisp=#bc6c9c guifg=#bc8cbc
+hi SpellLocal guisp=#7cac7c guifg=#9ccc9c
+
+" Entering Kurt zone
+if &t_Co > 255
+ hi Boolean ctermfg=181
+ hi Character ctermfg=181 cterm=bold
+ hi Comment ctermfg=108
+ hi Conditional ctermfg=223 cterm=bold
+ hi Constant ctermfg=181 cterm=bold
+ hi Cursor ctermfg=233 ctermbg=109 cterm=bold
+ hi Debug ctermfg=181 cterm=bold
+ hi Define ctermfg=223 cterm=bold
+ hi Delimiter ctermfg=245
+ hi DiffAdd ctermfg=66 ctermbg=237 cterm=bold
+ hi DiffChange ctermbg=236
+ hi DiffDelete ctermfg=236 ctermbg=238
+ hi DiffText ctermfg=217 ctermbg=237 cterm=bold
+ hi Directory ctermfg=109 cterm=bold
+ hi ErrorMsg ctermfg=115 ctermbg=236 cterm=bold
+ hi Exception ctermfg=249 cterm=bold
+ hi Float ctermfg=251
+ hi Function ctermfg=228
+ hi Identifier ctermfg=223
+ hi IncSearch ctermbg=228 ctermfg=238
+ hi Keyword ctermfg=223 cterm=bold
+ hi Label ctermfg=187 cterm=underline
+ hi LineNr ctermfg=248 ctermbg=233
+ hi Macro ctermfg=223 cterm=bold
+ hi ModeMsg ctermfg=223 cterm=none
+ hi MoreMsg ctermfg=15 cterm=bold
+ hi Number ctermfg=116
+ hi Operator ctermfg=230
+ hi PreCondit ctermfg=180 cterm=bold
+ hi PreProc ctermfg=223 cterm=bold
+ hi Question ctermfg=15 cterm=bold
+ hi Repeat ctermfg=223 cterm=bold
+ hi Search ctermfg=230 ctermbg=236
+ hi SpecialChar ctermfg=181 cterm=bold
+ hi SpecialComment ctermfg=108 cterm=bold
+ hi Special ctermfg=181
+ hi SpecialKey ctermfg=151
+ hi Statement ctermfg=187 ctermbg=234 cterm=none
+ hi StatusLine ctermfg=236 ctermbg=186
+ hi StatusLineNC ctermfg=235 ctermbg=108
+ hi StorageClass ctermfg=249 cterm=bold
+ hi String ctermfg=174
+ hi Structure ctermfg=229 cterm=bold
+ hi Tag ctermfg=181 cterm=bold
+ hi Title ctermfg=7 ctermbg=234 cterm=bold
+ hi Todo ctermfg=108 ctermbg=234 cterm=bold
+ hi Typedef ctermfg=253 cterm=bold
+ hi Type ctermfg=187 cterm=bold
+ hi Underlined ctermfg=188 ctermbg=234 cterm=bold
+ hi VertSplit ctermfg=236 ctermbg=65
+ hi VisualNOS ctermfg=236 ctermbg=210 cterm=bold
+ hi WarningMsg ctermfg=15 ctermbg=236 cterm=bold
+ hi WildMenu ctermbg=236 ctermfg=194 cterm=bold
+
+ " spellchecking, always "bright" background
+ hi SpellLocal ctermfg=14 ctermbg=237
+ hi SpellBad ctermfg=9 ctermbg=237
+ hi SpellCap ctermfg=12 ctermbg=237
+ hi SpellRare ctermfg=13 ctermbg=237
+
+ " pmenu
+ hi PMenu ctermfg=248 ctermbg=0
+ hi PMenuSel ctermfg=223 ctermbg=235
+
+ if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ hi Normal ctermfg=188 ctermbg=234
+ hi NonText ctermfg=238
+
+ if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
+ hi Ignore ctermfg=238
+ endif
+
+ " hc mode, darker CursorLine, default 236
+ hi CursorLine ctermbg=233 cterm=none
+
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn ctermbg=233 cterm=none
+ else
+ hi CursorColumn ctermbg=235 cterm=none
+ endif
+ else
+ hi Normal ctermfg=188 ctermbg=237
+ hi Cursor ctermbg=109
+ hi diffadd ctermbg=237
+ hi diffdelete ctermbg=238
+ hi difftext ctermbg=237
+ hi errormsg ctermbg=237
+ hi incsearch ctermbg=228
+ hi linenr ctermbg=235
+ hi search ctermbg=238
+ hi statement ctermbg=237
+ hi statusline ctermbg=144
+ hi statuslinenc ctermbg=108
+ hi title ctermbg=237
+ hi todo ctermbg=237
+ hi underlined ctermbg=237
+ hi vertsplit ctermbg=65
+ hi visualnos ctermbg=210
+ hi warningmsg ctermbg=236
+ hi wildmenu ctermbg=236
+ hi NonText ctermfg=240
+
+ if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
+ hi Ignore ctermfg=240
+ endif
+
+ " normal mode, lighter CursorLine
+ hi CursorLine ctermbg=238 cterm=none
+
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn ctermbg=238 cterm=none
+ else
+ hi CursorColumn ctermbg=239 cterm=none
+ endif
+ endif
+
+ if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
+ " use more jumpy Error
+ hi Error ctermfg=210 ctermbg=52 gui=bold
+ else
+ " default is something more zenburn-compatible
+ hi Error ctermfg=228 ctermbg=95 gui=bold
+ endif
+endif
+
+if exists("g:zenburn_force_dark_Background") && g:zenburn_force_dark_Background
+ " Force dark background, because of a bug in VIM: VIM sets background
+ " automatically during "hi Normal ctermfg=X"; it misinterprets the high
+ " value (234 or 237 above) as a light color, and wrongly sets background to
+ " light. See ":help highlight" for details.
+ set background=dark
+endif
+
+if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ " use new darker background
+ hi Normal guifg=#dcdccc guibg=#1f1f1f
+ hi CursorLine guibg=#121212 gui=bold
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn guibg=#121212 gui=bold
+ else
+ hi CursorColumn guibg=#2b2b2b
+ endif
+ hi Pmenu guibg=#242424 guifg=#ccccbc
+ hi PMenuSel guibg=#353a37 guifg=#ccdc90 gui=bold
+ hi PmenuSbar guibg=#2e3330 guifg=#000000
+ hi PMenuThumb guibg=#a0afa0 guifg=#040404
+ hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold
+ hi SignColumn guifg=#9fafaf guibg=#181818 gui=bold
+ hi TabLineFill guifg=#cfcfaf guibg=#181818 gui=bold
+ hi TabLineSel guifg=#efefef guibg=#1c1c1b gui=bold
+ hi TabLine guifg=#b6bf98 guibg=#181818 gui=bold
+ hi NonText guifg=#404040 gui=bold
+
+ hi LineNr guifg=#9fafaf guibg=#161616
+else
+ " Original, lighter background
+ hi Normal guifg=#dcdccc guibg=#3f3f3f
+ hi CursorLine guibg=#434443
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn guibg=#434343
+ else
+ hi CursorColumn guibg=#4f4f4f
+ endif
+ hi Pmenu guibg=#2c2e2e guifg=#9f9f9f
+ hi PMenuSel guibg=#242424 guifg=#d0d0a0 gui=bold
+ hi PmenuSbar guibg=#2e3330 guifg=#000000
+ hi PMenuThumb guibg=#a0afa0 guifg=#040404
+ hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold
+ hi SignColumn guifg=#9fafaf guibg=#343434 gui=bold
+ hi TabLineFill guifg=#cfcfaf guibg=#353535 gui=bold
+ hi TabLineSel guifg=#efefef guibg=#3a3a39 gui=bold
+ hi TabLine guifg=#b6bf98 guibg=#353535 gui=bold
+ hi NonText guifg=#5b605e gui=bold
+
+ hi LineNr guifg=#9fafaf guibg=#262626
+endif
+
+if exists("g:zenburn_old_Visual") && g:zenburn_old_Visual
+ if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual
+ " Visual with more contrast, thanks to Steve Hall & Cream posse
+ " gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
+ hi Visual guifg=#000000 guibg=#71d3b4 gui=none
+ hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none
+ else
+ " use default visual
+ hi Visual guifg=#233323 guibg=#71d3b4 gui=none
+ hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none
+ endif
+else
+ " new Visual style
+ if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ " high contrast
+ "hi Visual guibg=#304a3d
+ "hi VisualNos guibg=#304a3d
+ "TODO no nice greenish in console, 65 is closest. use full black instead,
+ "although i like the green..!
+ hi Visual guibg=#0f0f0f
+ hi VisualNos guibg=#0f0f0f
+ if &t_Co > 255
+ hi Visual ctermbg=0
+ endif
+ else
+ " low contrast
+ hi Visual guibg=#2f2f2f
+ hi VisualNOS guibg=#2f2f2f
+
+ if &t_Co > 255
+ hi Visual ctermbg=235
+ hi VisualNOS ctermbg=235
+ endif
+ endif
+endif
+
+if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
+ " use more jumpy Error
+ hi Error guifg=#e37170 guibg=#664040 gui=bold
+else
+ " default is something more zenburn-compatible
+ hi Error guifg=#e37170 guibg=#3d3535 gui=none
+endif
+
+if exists("g:zenburn_alternate_Include") && g:zenburn_alternate_Include
+ " original setting
+ hi Include guifg=#ffcfaf gui=bold
+else
+ " new, less contrasted one
+ hi Include guifg=#dfaf8f gui=bold
+endif
+
+if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
+ " color the Ignore groups
+ " note: if you get strange coloring for your files, turn this off (unlet)
+ hi Ignore guifg=#545a4f
+endif
+
+" new tabline and fold column
+if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ hi FoldColumn guibg=#161616
+ hi Folded guibg=#161616
+ hi TabLine guifg=#88b090 guibg=#313633 gui=none
+ hi TabLineSel guifg=#ccd990 guibg=#222222
+ hi TabLineFill guifg=#88b090 guibg=#313633 gui=none
+
+ hi SpecialKey guibg=#242424
+
+ if &t_Co > 255
+ hi FoldColumn ctermbg=233 ctermfg=109
+ hi Folded ctermbg=233 ctermfg=109
+ hi TabLine ctermbg=236 ctermfg=108 cterm=none
+ hi TabLineSel ctermbg=235 ctermfg=186 cterm=bold
+ hi TabLineFill ctermbg=236 ctermfg=236
+ endif
+else
+ hi FoldColumn guibg=#333333
+ hi Folded guibg=#333333
+ hi TabLine guifg=#d0d0b8 guibg=#222222 gui=none
+ hi TabLineSel guifg=#f0f0b0 guibg=#333333 gui=bold
+ hi TabLineFill guifg=#dccdcc guibg=#101010 gui=none
+
+ hi SpecialKey guibg=#444444
+
+ if &t_Co > 255
+ hi FoldColumn ctermbg=236 ctermfg=109
+ hi Folded ctermbg=236 ctermfg=109
+ hi TabLine ctermbg=235 ctermfg=187 cterm=none
+ hi TabLineSel ctermbg=236 ctermfg=229 cterm=bold
+ hi TabLineFill ctermbg=233 ctermfg=233
+ endif
+endif
+
+" EXPERIMENTAL ctags_highlighting support
+" link/set sensible defaults here;
+"
+" For now I mostly link to subset of Zenburn colors, the linkage is based
+" on appearance, not semantics. In later versions I might define more new colours.
+"
+" HELP NEEDED to make this work properly.
+if exists("_zenburn_ctags") && _zenburn_ctags
+
+ " Highlighter seems to think a lot of things are global variables even
+ " though they're not. Example: python method-local variable is
+ " coloured as a global variable. They should not be global, since
+ " they're not visible outside the method.
+ " If this is some very bright colour group then things look bad.
+ hi link CTagsGlobalVariable Identifier
+
+ hi CTagsClass guifg=#acd0b3
+ if &t_Co > 255
+ hi CTagsClass ctermfg=115
+ endif
+
+ hi link CTagsImport Statement
+ hi link CTagsMember Function
+
+ hi link CTagsGlobalConstant Constant
+
+ " These do not yet have support, I can't get them to appear
+ hi link EnumerationValue Float
+ hi link EnumerationName Identifier
+ hi link DefinedName WarningMsg
+ hi link LocalVariable WarningMsg
+ hi link Structure WarningMsg
+ hi link Union WarningMsg
+endif
+
+" TODO check for more obscure syntax groups that they're ok