Use solarized color scheme
[dotfiles/vim.git] / .vim / autoload / togglebg.vim
1 " Toggle background
2 " Last Change:  April 7, 2011
3 " Maintainer:   Ethan Schoonover
4 " License:      OSI approved MIT license
5
6 if exists("g:loaded_togglebg")
7     finish
8 endif
9 let g:loaded_togglebg = 1
10
11 " noremap is a bit misleading here if you are unused to vim mapping.
12 " in fact, there is remapping, but only of script locally defined remaps, in 
13 " this case <SID>TogBG. The <script> argument modifies the noremap scope in 
14 " this regard (and the noremenu below).
15 nnoremap <unique> <script> <Plug>ToggleBackground <SID>TogBG
16 inoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>a
17 vnoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>gv
18 nnoremenu <script> Window.Toggle\ Background <SID>TogBG
19 inoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>a
20 vnoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>gv
21 noremap <SID>TogBG  :call <SID>TogBG()<CR>
22
23 function! s:TogBG()
24     let &background = ( &background == "dark"? "light" : "dark" ) | exe "colorscheme " . g:colors_name
25 endfunction
26
27 if !exists(":ToggleBG")
28     command ToggleBG :call s:TogBG()
29 endif
30
31 function! ToggleBackground()
32     echo "Please update your ToggleBackground mapping. ':help togglebg' for information."
33 endfunction
34
35 function! togglebg#map(mapActivation)
36     try
37         exe "silent! nmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
38         exe "silent! imap <unique> ".a:mapActivation." <Plug>ToggleBackground"
39         exe "silent! vmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
40     finally
41         return 0
42     endtry
43 endfunction
44
45 if !exists("no_plugin_maps") && !hasmapto('<Plug>ToggleBackground')
46     call togglebg#map("<F5>")
47 endif