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