mirror of
https://github.com/eoli3n/dotfiles
synced 2024-11-26 06:08:35 +01:00
vim transolarized
This commit is contained in:
parent
fcef8e7c96
commit
f8f0eccc0d
55
vim/vim/autoload/togglebg.vim
Normal file
55
vim/vim/autoload/togglebg.vim
Normal file
@ -0,0 +1,55 @@
|
||||
" Toggle Background
|
||||
" Modified: 2011 Apr 29
|
||||
" Maintainer: Ethan Schoonover
|
||||
" License: OSI approved MIT license
|
||||
|
||||
if exists("g:loaded_togglebg")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_togglebg = 1
|
||||
|
||||
" noremap is a bit misleading here if you are unused to vim mapping.
|
||||
" in fact, there is remapping, but only of script locally defined remaps, in
|
||||
" this case <SID>TogBG. The <script> argument modifies the noremap scope in
|
||||
" this regard (and the noremenu below).
|
||||
nnoremap <unique> <script> <Plug>ToggleBackground <SID>TogBG
|
||||
inoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>a
|
||||
vnoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>gv
|
||||
nnoremenu <script> Window.Toggle\ Background <SID>TogBG
|
||||
inoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>a
|
||||
vnoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>gv
|
||||
tmenu Window.Toggle\ Background Toggle light and dark background modes
|
||||
nnoremenu <script> ToolBar.togglebg <SID>TogBG
|
||||
inoremenu <script> ToolBar.togglebg <ESC><SID>TogBG<ESC>a
|
||||
vnoremenu <script> ToolBar.togglebg <ESC><SID>TogBG<ESC>gv
|
||||
tmenu ToolBar.togglebg Toggle light and dark background modes
|
||||
noremap <SID>TogBG :call <SID>TogBG()<CR>
|
||||
|
||||
function! s:TogBG()
|
||||
let &background = ( &background == "dark"? "light" : "dark" )
|
||||
if exists("g:colors_name")
|
||||
exe "colorscheme " . g:colors_name
|
||||
endif
|
||||
endfunction
|
||||
|
||||
if !exists(":ToggleBG")
|
||||
command ToggleBG :call s:TogBG()
|
||||
endif
|
||||
|
||||
function! ToggleBackground()
|
||||
echo "Please update your ToggleBackground mapping. ':help togglebg' for information."
|
||||
endfunction
|
||||
|
||||
function! togglebg#map(mapActivation)
|
||||
try
|
||||
exe "silent! nmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||||
exe "silent! imap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||||
exe "silent! vmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||||
finally
|
||||
return 0
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
if !exists("no_plugin_maps") && !hasmapto('<Plug>ToggleBackground')
|
||||
call togglebg#map("<F5>")
|
||||
endif
|
BIN
vim/vim/bitmaps/togglebg.png
Normal file
BIN
vim/vim/bitmaps/togglebg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
1117
vim/vim/colors/solarized.vim
Normal file
1117
vim/vim/colors/solarized.vim
Normal file
@ -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
|
||||
"}}}
|
254
vim/vim/doc/solarized.txt
Normal file
254
vim/vim/doc/solarized.txt
Normal file
@ -0,0 +1,254 @@
|
||||
*solarized.vim* for Vim version 7.3 or newer. Modified: 2011 May 05
|
||||
|
||||
|
||||
Solarized Vim Colorscheme by Ethan Schoonover ~
|
||||
|
||||
Solarized Colorscheme *solarized*
|
||||
*solarized-help*
|
||||
*solarized-colors*
|
||||
*solarized-colorscheme*
|
||||
*vim-colors-solarized*
|
||||
|
||||
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 at http://ethanschoonover.com/solarized for screenshots and
|
||||
details.
|
||||
|
||||
0. Install |solarized-install|
|
||||
1. Solarized Menu |solarized-menu|
|
||||
2. Options |solarized-options|
|
||||
3. Toggle Background |solarized-togglebg|
|
||||
4. Terminal Issues |solarized-term|
|
||||
|
||||
==============================================================================
|
||||
0. Install *solarized-install*
|
||||
|
||||
Note: I recommend using Tim Pope's pathogen plugin to install this
|
||||
colorscheme. See https://github.com/tpope/vim-pathogen . If you've installed
|
||||
pathogen properly you can install Solarized with the following commands,
|
||||
followed by the .vimrc configuration below.
|
||||
|
||||
$ cd ~/.vim/bundle
|
||||
$ git clone https://github.com/altercation/vim-colors-solarized.git
|
||||
|
||||
If you aren't using pathogen, you can use the following three steps to install
|
||||
Solarized:
|
||||
|
||||
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).
|
||||
|
||||
|
||||
After installation, place the following 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
|
||||
|
||||
==============================================================================
|
||||
1. Solarized Menu *solarized-menu*
|
||||
|
||||
Solarized makes available a menu when used in Vim GUI mode (gvim, macvim).
|
||||
This menu includes many of the options detailed below so that you can test out
|
||||
different values quickly without modifying your .vimrc file. If you wish to
|
||||
turn off this menu permanently, simply place the following line in your .vimrc
|
||||
above the "colorscheme solarized" line.
|
||||
|
||||
let g:solarized_menu=0
|
||||
|
||||
==============================================================================
|
||||
2. Toggle Background *solarized-togglebg*
|
||||
*toggle-bg* *togglebg*
|
||||
*toggle-background*
|
||||
|
||||
Solarized comes with Toggle Background, a simple plugin to switch between
|
||||
light and dark background modes and reset the colorscheme. This is most useful
|
||||
for colorschemes that support both light and dark modes and in terminals or
|
||||
gui vim windows where the background will be properly set.
|
||||
|
||||
Toggle Background can be accessed by:
|
||||
|
||||
* the Solarized menu (in Vim gui mode)
|
||||
* the Window menu (in Vim gui mode, even if the Solarized menu is off)
|
||||
* the "yin/yang" toolbar button (in Vim gui mode)
|
||||
* the default mapping of <F5>
|
||||
* custom key mapping you set in your .vimrc (see below)
|
||||
* command line via ":ToggleBG" (no quotes)
|
||||
|
||||
Toggle Background starts with a default mapping to function key <F5>. If you
|
||||
are already using this in a mapping, Toggle Background will not map itself to
|
||||
a default and you will have to map it manually in your .vimrc file, or
|
||||
remove/change your existing <F5> mapping to another value. To customize the
|
||||
keyboard mapping in your .vimrc file, use the following line, changing the
|
||||
"<F5>" value to the key or key combination you wish to use:
|
||||
|
||||
call togglebg#map("<F5>")
|
||||
|
||||
Note that you'll want to use a single function key or equivalent if you want
|
||||
the plugin to work in all modes (normal, insert, visual).
|
||||
|
||||
When using the plugin during normal, visual, or insert mode, there should be
|
||||
no interruption in workflow. However, if you activate the plugin during
|
||||
REPLACE mode, you will switch to standard insert mode (you will leave the
|
||||
overwrite replace mode).
|
||||
|
||||
==============================================================================
|
||||
3. Solarized Terminal Issues *solarized-term*
|
||||
|
||||
If you are going to use Solarized in Terminal mode (i.e. not in a GUI version
|
||||
like gvim or macvim), **please please please** consider setting your terminal
|
||||
emulator's colorscheme to used the Solarized palette. I've included palettes
|
||||
for some popular terminal emulator as well as Xdefaults in the official
|
||||
Solarized download available from the Solarized homepage listed at the top of
|
||||
this help document. If you use Solarized *without* these colors, Solarized
|
||||
will need to be told to degrade its colorscheme to a set compatible with the
|
||||
limited 256 terminal palette (whereas by using the terminal's 16 ansi color
|
||||
values, you can set the correct, specific values for the Solarized palette).
|
||||
|
||||
If you do use the custom terminal colors, solarized.vim should work out of
|
||||
the box for you. If you are using a terminal emulator that supports 256
|
||||
colors and don't want to use the custom Solarized terminal colors, you will
|
||||
need to use the degraded 256 colorscheme. To do so, simply add the following
|
||||
line *before* the `colorschem solarized` line:
|
||||
|
||||
let g:solarized_termcolors=256
|
||||
|
||||
Again, I recommend just changing your terminal colors to Solarized values
|
||||
either manually or via one of the many terminal schemes available for import.
|
||||
|
||||
==============================================================================
|
||||
4. Solarized Options *solarized-options*
|
||||
|
||||
|
||||
AUTOGENERATE OPTIONS
|
||||
|
||||
You can easily modify and experiment with Solarized display options using the
|
||||
Solarized menu when using Vim in gui mode. Once you have things set to your
|
||||
liking, you can autogenerate the current option list in a format ready for
|
||||
insertion into your .vimrc file using the Solarized menu "Autogenerate
|
||||
Options" command or at the command line with:
|
||||
|
||||
:SolarizedOptions
|
||||
|
||||
|
||||
OPTION LIST
|
||||
|
||||
Set these in your vimrc file prior to calling the colorscheme.
|
||||
|
||||
option name default optional
|
||||
------------------------------------------------
|
||||
g:solarized_termcolors= 16 | 256
|
||||
g:solarized_termtrans = 0 | 1
|
||||
g:solarized_degrade = 0 | 1
|
||||
g:solarized_bold = 1 | 0
|
||||
g:solarized_underline = 1 | 0
|
||||
g:solarized_italic = 1 | 0
|
||||
g:solarized_contrast = "normal"| "high" or "low"
|
||||
g:solarized_visibility= "normal"| "high" or "low"
|
||||
g:solarized_hitrail = 0 | 1
|
||||
g:solarized_menu = 1 | 0
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
OPTION DETAILS
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_termcolors= 256 | 16 *'solarized_termcolors'*
|
||||
------------------------------------------------
|
||||
The most important option if you are using vim in terminal (non gui) mode!
|
||||
This tells Solarized to use the 256 degraded color mode if running in a 256
|
||||
color capable terminal. Otherwise, if set to `16` it will use the terminal
|
||||
emulators colorscheme (best option as long as you've set the emulators colors
|
||||
to the Solarized palette).
|
||||
|
||||
If you are going to use Solarized in Terminal mode (i.e. not in a GUI
|
||||
version like gvim or macvim), **please please please** consider setting your
|
||||
terminal emulator's colorscheme to used the Solarized palette. I've included
|
||||
palettes for some popular terminal emulator as well as Xdefaults in the
|
||||
official Solarized download available from:
|
||||
http://ethanschoonover.com/solarized . If you use Solarized without these
|
||||
colors, Solarized will by default use an approximate set of 256 colors. It
|
||||
isn't bad looking and has been extensively tweaked, but it's still not quite
|
||||
the real thing.
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_termtrans = 0 | 1 *'solarized_termtrans'*
|
||||
------------------------------------------------
|
||||
If you use a terminal emulator with a transparent background and Solarized
|
||||
isn't displaying the background color transparently, set this to 1 and
|
||||
Solarized will use the default (transparent) background of the terminal
|
||||
emulator. *urxvt* required this in my testing; iTerm2 did not.
|
||||
|
||||
Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by
|
||||
default as this is almost always the best option. The only exception to this
|
||||
is if the working terminfo file supports 256 colors (xterm-256color).
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_degrade = 0 | 1 *'solarized_degrade'*
|
||||
------------------------------------------------
|
||||
For test purposes only; forces Solarized to use the 256 degraded color mode
|
||||
to test the approximate color values for accuracy.
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_bold = 1 | 0 *'solarized_bold'*
|
||||
------------------------------------------------
|
||||
------------------------------------------------
|
||||
g:solarized_underline = 1 | 0 *'solarized_underline'*
|
||||
------------------------------------------------
|
||||
------------------------------------------------
|
||||
g:solarized_italic = 1 | 0 *'solarized_italic'*
|
||||
------------------------------------------------
|
||||
If you wish to stop Solarized from displaying bold, underlined or
|
||||
italicized typefaces, simply assign a zero value to the appropriate
|
||||
variable, for example: `let g:solarized_italic=0`
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_contrast = "normal"| "high" or "low" *'solarized_contrast'*
|
||||
------------------------------------------------
|
||||
Stick with normal! It's been carefully tested. Setting this option to high
|
||||
or low does use the same Solarized palette but simply shifts some values up
|
||||
or down in order to expand or compress the tonal range displayed.
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_visibility = "normal"| "high" or "low" *'solarized_visibility'*
|
||||
------------------------------------------------
|
||||
Special characters such as trailing whitespace, tabs, newlines, when
|
||||
displayed using ":set list" can be set to one of three levels depending on
|
||||
your needs.
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_hitrail = 0 | 1 *'solarized_hitrail'*
|
||||
------------------------------------------------
|
||||
Visibility can make listchar entities more visible, but if one has set
|
||||
cursorline on, these same listchar values standout somewhat less due to the
|
||||
background color of the cursorline. g:solarized_hitrail enables highlighting
|
||||
of trailing spaces (only one of the listchar types, but a particularly
|
||||
important one) while in the cursoline in a different manner in order to make
|
||||
them more visible. This may not work consistently as Solarized is using
|
||||
a pattern match than can be overridden by a more encompassing syntax-native
|
||||
match such as a comment line.
|
||||
|
||||
|
||||
------------------------------------------------
|
||||
g:solarized_menu = 1 | 0 *'solarized_menu'*
|
||||
------------------------------------------------
|
||||
Solarized includes a menu providing access to several of the above
|
||||
display related options, including contrast and visibility. This allows
|
||||
for an easy method of testing different values quickly before settling
|
||||
on a final assignment for your .vimrc. If you wish to turn off this menu,
|
||||
assign g:solarized_menu a value of 0.
|
||||
|
||||
|
||||
vim:tw=78:noet:ts=8:ft=help:norl:
|
27
vim/vim/doc/tags
Normal file
27
vim/vim/doc/tags
Normal file
@ -0,0 +1,27 @@
|
||||
'solarized_bold' solarized.txt /*'solarized_bold'*
|
||||
'solarized_contrast' solarized.txt /*'solarized_contrast'*
|
||||
'solarized_degrade' solarized.txt /*'solarized_degrade'*
|
||||
'solarized_hitrail' solarized.txt /*'solarized_hitrail'*
|
||||
'solarized_italic' solarized.txt /*'solarized_italic'*
|
||||
'solarized_menu' solarized.txt /*'solarized_menu'*
|
||||
'solarized_termcolors' solarized.txt /*'solarized_termcolors'*
|
||||
'solarized_termtrans' solarized.txt /*'solarized_termtrans'*
|
||||
'solarized_underline' solarized.txt /*'solarized_underline'*
|
||||
'solarized_visibility' solarized.txt /*'solarized_visibility'*
|
||||
before solarized.txt /*before*
|
||||
solarized solarized.txt /*solarized*
|
||||
solarized-colors solarized.txt /*solarized-colors*
|
||||
solarized-colorscheme solarized.txt /*solarized-colorscheme*
|
||||
solarized-help solarized.txt /*solarized-help*
|
||||
solarized-install solarized.txt /*solarized-install*
|
||||
solarized-menu solarized.txt /*solarized-menu*
|
||||
solarized-options solarized.txt /*solarized-options*
|
||||
solarized-term solarized.txt /*solarized-term*
|
||||
solarized-togglebg solarized.txt /*solarized-togglebg*
|
||||
solarized.vim solarized.txt /*solarized.vim*
|
||||
toggle-background solarized.txt /*toggle-background*
|
||||
toggle-bg solarized.txt /*toggle-bg*
|
||||
togglebg solarized.txt /*togglebg*
|
||||
urxvt solarized.txt /*urxvt*
|
||||
vim-colors-solarized solarized.txt /*vim-colors-solarized*
|
||||
without solarized.txt /*without*
|
@ -5,7 +5,9 @@ set nu
|
||||
" active colors
|
||||
syntax on
|
||||
" choose colors
|
||||
colorscheme Tomorrow-Night-Bright
|
||||
set background=dark
|
||||
colorscheme solarized
|
||||
hi Normal ctermbg=none
|
||||
" no tab when pasting
|
||||
" set paste
|
||||
" mouse selection to not have line numbers
|
||||
|
Loading…
Reference in New Issue
Block a user