diff options
Diffstat (limited to 'plugin/undoskip.vim')
-rw-r--r-- | plugin/undoskip.vim | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/plugin/undoskip.vim b/plugin/undoskip.vim new file mode 100644 index 0000000..047d9e1 --- /dev/null +++ b/plugin/undoskip.vim @@ -0,0 +1,35 @@ +" +" undoskip.vim: Don't save undo history for temporary or secure files. +" +" Author: Tom Ryder <tom@sanctum.geek.nz> +" License: Same as Vim itself +" +if exists('loaded_undoskip') || &compatible + finish +endif +if !has('persistent_undo') || !exists('*glob2regpat') + finish +endif +let loaded_undoskip = 1 + +" Set default list of patterns to exclude; mirror documented 'backupskip' +" behavior +if !exists('g:undoskip') + let g:undoskip = [] + if has('mac') + call add(g:undoskip, '/private/tmp/*') + elseif has('unix') + call add(g:undoskip, '/tmp/*') + endif + call extend(g:undoskip, map( + \ filter([$TMPDIR, $TMP, $TEMP], 'v:val !=# '''''), + \ 'v:val.''/*''' + \)) +endif + +" Check the path on every buffer rename, create, or read +augroup undoskip + autocmd! + autocmd BufAdd,BufNewFile,BufRead * + \ let &l:undofile = undoskip#Check(expand('<amatch>')) +augroup END |