Files
vim-trailing-whitespace/plugin/trailing-whitespace.vim
Scott Bronson 05f068ebd9 Revert "add autocmd for filetype changes"
This reverts commit 7c53389415,
pull request #21.

It is causing non-erroneous trailing whitespace to be highlighted.

Fixes #22.
2020-11-18 11:38:32 -08:00

30 lines
1.3 KiB
VimL

if exists('loaded_trailing_whitespace_plugin') | finish | endif
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 default ExtraWhitespace ctermbg=darkred guibg=darkred
autocmd ColorScheme * highlight default ExtraWhitespace ctermbg=darkred guibg=darkred
autocmd BufRead,BufNew * if ShouldMatchWhitespace() | match ExtraWhitespace /\\\@<![\u3000[:space:]]\+$/ | else | match ExtraWhitespace /^^/ | endif
" The above flashes annoyingly while typing, be calmer in insert mode
autocmd InsertLeave * if ShouldMatchWhitespace() | match ExtraWhitespace /\\\@<![\u3000[:space:]]\+$/ | endif
autocmd InsertEnter * if ShouldMatchWhitespace() | match ExtraWhitespace /\\\@<![\u3000[:space:]]\+\%#\@<!$/ | endif
function! s:FixWhitespace(line1,line2)
silent! keepjumps execute ':' . a:line1 . ',' . a:line2 . 's/\\\@<!\s\+$//'
endfunction
" Run :FixWhitespace to remove end of line white space
command! -range=% FixWhitespace call <SID>FixWhitespace(<line1>,<line2>)