aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/foldlevelstart_stdin.vim16
1 files changed, 3 insertions, 13 deletions
diff --git a/plugin/foldlevelstart_stdin.vim b/plugin/foldlevelstart_stdin.vim
index 37caddc..7e3531c 100644
--- a/plugin/foldlevelstart_stdin.vim
+++ b/plugin/foldlevelstart_stdin.vim
@@ -5,24 +5,14 @@
" Author: Tom Ryder <tom@sanctum.geek.nz>
" License: Same as Vim itself
"
-if exists('loaded_foldlevelstart_stdin') || &compatible
- finish
-endif
-if !has('autocmd') || !has('folding') || !exists('##StdinReadPre')
+if exists('loaded_foldlevelstart_stdin') || &compatible || v:version < 700
finish
endif
let loaded_foldlevelstart_stdin = 1
-" Check if 'foldlevelstart' is non-negative, and set 'foldlevel' to its value
-" if it is
-function! s:SetFoldlevel() abort
- if &foldlevelstart >= 0
- let &l:foldlevel = &foldlevelstart
- endif
-endfunction
-
" Watch for stdin reads and set fold level accordingly
augroup foldlevelstart_stdin
autocmd!
- autocmd StdinReadPre * call s:SetFoldlevel()
+ autocmd StdinReadPre *
+ \ let &l:foldlevel = max([&foldlevelstart, &g:foldlevel, 0])
augroup END