init: BadWhitespace only for non-readonly
authorStefan Huber <shuber@sthu.org>
Thu, 31 Oct 2019 19:30:56 +0000 (20:30 +0100)
committerStefan Huber <shuber@sthu.org>
Thu, 31 Oct 2019 19:30:56 +0000 (20:30 +0100)
init.vim

index e552eff7ff6769794875699c15e8e438a86ad925..17ed253a14c19622a4dd56b85cb84e69c5ef4eb5 100644 (file)
--- a/init.vim
+++ b/init.vim
@@ -48,11 +48,23 @@ runtime plugsetup.vim
 " Attention: Must be run after plugsetup.vim
 " Trailing whitespace
 highlight default link BadWhitespace SpellCap
+
+" Setup BadWhitespace syntax match expressions.
+function SetBadWhitespaceSyntax()
+  " Do not expose bad whitespace in help buffers or for man pages. Or, more
+  " generally, if we open the file readonly.
+  "if &ft != "help" && &ft != "man"
+  if !&readonly
+    " Make trailing whitespace be flagged as bad.
+    syn match BadWhitespace /\s\+$/ containedin=ALL
+    " Make space before tab be flagged as bad and vice versa
+    syn match BadWhitespace / \+\t/ containedin=ALL
+    syn match BadWhitespace /\t \+/ containedin=ALL
+  endif
+endfunction
+
 " Make trailing whitespace be flagged as bad.
-au BufRead,BufNewFile * syn match BadWhitespace /\s\+$/ containedin=ALL
-" Make space before tab be flagged as bad and vice versa
-au BufRead,BufNewFile * syn match BadWhitespace / \+\t/ containedin=ALL
-au BufRead,BufNewFile * syn match BadWhitespace /\t \+/ containedin=ALL
+au BufRead,BufNewFile * call SetBadWhitespaceSyntax()
 
 let g:airline_powerline_fonts=1
 let g:airline#extensions#tabline#enabled=1