summaryrefslogtreecommitdiffstats
path: root/llvm/utils/vim
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-02-26 21:24:46 +0000
committerDan Gohman <gohman@apple.com>2010-02-26 21:24:46 +0000
commit94fa92b441fca82dc2eb334f23938847867546f5 (patch)
treeaf72ffe5b2751dd6dfb1e0dc79a9bf36abce7e4a /llvm/utils/vim
parent0569db069994f4a9b144437a28448cf86d239af4 (diff)
downloadbcm5719-llvm-94fa92b441fca82dc2eb334f23938847867546f5.tar.gz
bcm5719-llvm-94fa92b441fca82dc2eb334f23938847867546f5.zip
Improve the vim code for highlighting trailing whitespace and lines
longer than 80 columns. This replaces the heavy-handed "textwidth" mechanism, and makes the trailing-whitespace highlighting lazy so that it isn't constantly jumping on the user during typing. llvm-svn: 97267
Diffstat (limited to 'llvm/utils/vim')
-rw-r--r--llvm/utils/vim/vimrc30
1 files changed, 25 insertions, 5 deletions
diff --git a/llvm/utils/vim/vimrc b/llvm/utils/vim/vimrc
index 4909f602cff..1385407adcc 100644
--- a/llvm/utils/vim/vimrc
+++ b/llvm/utils/vim/vimrc
@@ -10,17 +10,30 @@
" It's VIM, not VI
set nocompatible
-" Wrap text at 80 cols
-set textwidth=80
-
" A tab produces a 2-space indentation
set softtabstop=2
set shiftwidth=2
set expandtab
-" Highlight trailing whitespace
+" Highlight trailing whitespace and lines longer than 80 columns.
+highlight LongLine ctermbg=DarkYellow guibg=DarkYellow
highlight WhitespaceEOL ctermbg=DarkYellow guibg=DarkYellow
-match WhitespaceEOL /\s\+$/
+if v:version >= 702
+ " Lines longer than 80 columns.
+ au BufWinEnter * let w:m0=matchadd('LongLine', '\%>80v.\+', -1)
+
+ " Whitespace at the end of a line. This little dance suppresses
+ " of whitespace that has just been typed.
+ au BufWinEnter * let w:m1=matchadd('WhitespaceEOL', '\s\+$', -1)
+ au InsertEnter * call matchdelete(w:m1)
+ au InsertEnter * let w:m2=matchadd('WhitespaceEOL', '\s\+\%#\@<!$', -1)
+ au InsertLeave * call matchdelete(w:m2)
+ au InsertLeave * let w:m1=matchadd('WhitespaceEOL', '\s\+$', -1)
+else
+ au BufRead,BufNewFile * syntax match LongLine /\%>80v.\+/
+ au InsertEnter * syntax match WhitespaceEOL /\s\+\%#\@<!$/
+ au InsertLeave * syntax match WhitespaceEOL /\s\+$/
+endif
" Enable filetype detection
filetype on
@@ -70,3 +83,10 @@ augroup END
augroup filetype
au! BufRead,BufNewFile *.td set filetype=tablegen
augroup END
+
+" Additional vim features to optionally uncomment.
+"set showcmd
+"set showmatch
+"set showmode
+"set incsearch
+"set ruler
OpenPOWER on IntegriCloud