blob: f8e4d50e5697c2bc15c1ba30207e1205afb3e8c1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
"
" foldlevelstart_stdin.vim: Set 'foldlevel' to 'foldlevelstart' after reading
" from standard input, which Vim doesn't do by default.
"
" Author: Tom Ryder <tom@sanctum.geek.nz>
" License: Same as Vim itself
"
if exists('g:loaded_foldlevelstart_stdin') || &compatible
finish
endif
if !has('autocmd') || !has('folding') || !exists('##StdinReadPre')
finish
endif
let g: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()
augroup END
|