naively fold all signatures

This commit is contained in:
Bart Trojanowski 2009-11-19 12:30:59 -05:00
parent c80ab27d08
commit c6314fa234

View file

@ -96,9 +96,36 @@ function! s:NM_cmd_show(words)
setlocal bufhidden=delete setlocal bufhidden=delete
let b:nm_raw_data = data let b:nm_raw_data = data
call s:NM_cmd_show_mkfolds()
exec printf("nnoremap <buffer> q :b %d<CR>", bufnr) exec printf("nnoremap <buffer> q :b %d<CR>", bufnr)
endfunction endfunction
function! s:NM_cmd_show_mkfolds()
let modetype = ''
let modeline = -1
let lnum = 1
while lnum <= line('$')
let line = getline(lnum)
if modetype == ''
if match(line, s:notmuch_show_signature_regexp) != -1
let modetype = 'sig'
let modeline = lnum
echo "start=" . modeline
endif
elseif modetype == 'sig'
if (lnum - modeline) > s:notmuch_show_signature_lines_max
let modetype = ''
elseif match(line, s:notmuch_show_part_end_regexp) != -1
exec printf('%d,%dfold', modeline, lnum)
let modetype = ''
endif
endif
let lnum = lnum + 1
endwhile
endfunction
" --- helper functions " --- helper functions