move foldtext to autoload function
This commit is contained in:
parent
e077f353f8
commit
3b56030ee6
25
autoload/myfold.vim
Normal file
25
autoload/myfold.vim
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
function! myfold#text()
|
||||||
|
" get actual numberwidth of the current document
|
||||||
|
let nw_add = (len(line('$')) - (&numberwidth - 1))
|
||||||
|
if nw_add > 0
|
||||||
|
let nw = &numberwidth + nw_add
|
||||||
|
else
|
||||||
|
let nw = &numberwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
let numfold_w =(nw * &number) + &foldcolumn
|
||||||
|
let window_w = winwidth(0) - numfold_w
|
||||||
|
let onetab = strpart(' ', 0, &tabstop)
|
||||||
|
|
||||||
|
let foldtxt_start = getline(v:foldstart) . ' …'
|
||||||
|
let foldtxt_start = substitute(foldtxt_start, '\t', onetab, 'g')
|
||||||
|
let foldtxt_start_w = len(foldtxt_start) - 2
|
||||||
|
|
||||||
|
let foldtxt_end = '+' . string(foldclosedend(v:foldend) - foldclosed(v:foldstart)) . ' '
|
||||||
|
let foldtxt_end_w = len(foldtxt_end)
|
||||||
|
|
||||||
|
let foldtxt_mid_w = window_w - (foldtxt_start_w + foldtxt_end_w)
|
||||||
|
let foldtxt_mid = repeat(' ', foldtxt_mid_w + 2)
|
||||||
|
|
||||||
|
return foldtxt_start . foldtxt_mid . foldtxt_end
|
||||||
|
endfunction
|
Loading…
Reference in New Issue
Block a user