[vim] new, experimental trailing space function and menu item

Visibility of listchars is handled by g:solarized_visibility
but on the cursorline they can still be hard to spot if cursorline
is on due to the cursorline background color.

This new trailing spaces function, available in the menu or via
emenu, should change the trailing space highlighting on only
the cursorline. It doesn't work in call cases as, for example,
the comments pattern in most syntaxes will override it.
This commit is contained in:
Ethan Schoonover 2011-05-05 12:42:07 -07:00
parent 1ebc43af72
commit 8ee3566a41

View file

@ -4,7 +4,7 @@
" (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 04
" Modified: 2011 May 05
"
" Usage "{{{
"
@ -219,6 +219,7 @@ 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)
"}}}
@ -937,6 +938,24 @@ hi! link pandocMetadataTitle pandocMetadata
"
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:
@ -989,6 +1008,9 @@ if g:colors_name == "solarized" && g:solarized_menu != 0
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>"
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>