Merge pull request #8 from k0kubun/extra_whitespace_ignored_filetypes

Create variable to ignore specific filetypes for highlight
This commit is contained in:
Scott Bronson
2014-08-09 09:20:55 -07:00
2 changed files with 24 additions and 3 deletions

View File

@@ -14,3 +14,13 @@ The repo is at http://github.com/bronson/vim-trailing-whitespace
Originally based on http://vim.wikia.com/wiki/Highlight_unwanted_spaces Originally based on http://vim.wikia.com/wiki/Highlight_unwanted_spaces
------------------------------------------------------------------------------
VARIABLES *FixWhitespace-variables*
g:extra_whitespace_ignored_filetypes
g:extra_whitespace_ignored_filetypes
You can set filetypes to be ignored for highlight into this variable.
let g:extra_whitespace_ignored_filetypes = ['unite', 'mkd']
The default value is [].

View File

@@ -1,14 +1,25 @@
if exists('loaded_trailing_whitespace_plugin') | finish | endif if exists('loaded_trailing_whitespace_plugin') | finish | endif
let loaded_trailing_whitespace_plugin = 1 let loaded_trailing_whitespace_plugin = 1
if !exists('g:extra_whitespace_ignored_filetypes')
let g:extra_whitespace_ignored_filetypes = []
endif
function! ShouldMatchWhitespace()
for ft in g:extra_whitespace_ignored_filetypes
if ft ==# &filetype | return 0 | endif
endfor
return 1
endfunction
" Highlight EOL whitespace, http://vim.wikia.com/wiki/Highlight_unwanted_spaces " Highlight EOL whitespace, http://vim.wikia.com/wiki/Highlight_unwanted_spaces
highlight ExtraWhitespace ctermbg=darkred guibg=#382424 highlight ExtraWhitespace ctermbg=darkred guibg=#382424
autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+$/ | endif
" The above flashes annoyingly while typing, be calmer in insert mode " The above flashes annoyingly while typing, be calmer in insert mode
autocmd InsertLeave * match ExtraWhitespace /\s\+$/ autocmd InsertLeave * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+$/ | endif
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ autocmd InsertEnter * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+\%#\@<!$/ | endif
function! s:FixWhitespace(line1,line2) function! s:FixWhitespace(line1,line2)
let l:save_cursor = getpos(".") let l:save_cursor = getpos(".")