X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=vim%2Fplugin%2Fnotmuch.vim;h=21985c71a8f8f419dd3fd17d690fcfbff7626323;hb=8b10e4d56980037e388bf07c27899e34386c28f6;hp=4ad992beab607a559b0548ae2f73610ec82147db;hpb=3de487d405f7bf57e959d58ae856afcce6e277fe;p=notmuch diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim index 4ad992be..21985c71 100644 --- a/vim/plugin/notmuch.vim +++ b/vim/plugin/notmuch.vim @@ -747,8 +747,11 @@ function! s:NM_cmd_show_parse(inlines) elseif mode_type == 'cit' if part_end || match(line, g:notmuch_show_citation_regexp) == -1 let outlnum = len(info['disp']) - let foldinfo = [ mode_type, mode_start, outlnum-1, len(info['msgs']), - \ printf('[ %d-line citation. Press "c" to show. ]', outlnum - mode_start) ] + if !part_end + let outlnum = outlnum - 1 + endif + let foldinfo = [ mode_type, mode_start, outlnum, len(info['msgs']), + \ printf('[ %d-line citation. Press "c" to show. ]', 1 + outlnum - mode_start) ] let mode_type = '' endif elseif mode_type == 'sig' @@ -756,8 +759,8 @@ function! s:NM_cmd_show_parse(inlines) if (outlnum - mode_start) > g:notmuch_show_signature_lines_max let mode_type = '' elseif part_end - let foldinfo = [ mode_type, mode_start, outlnum-1, len(info['msgs']), - \ printf('[ %d-line signature. Press "i" to show. ]', outlnum - mode_start) ] + let foldinfo = [ mode_type, mode_start, outlnum, len(info['msgs']), + \ printf('[ %d-line signature. Press "i" to show. ]', 1 + outlnum - mode_start) ] let mode_type = '' endif endif @@ -796,7 +799,14 @@ function! s:NM_cmd_show_parse(inlines) endif call add(info['disp'], \ printf('--- %s ---', in_part)) - let part_start = len(info['disp']) + 1 + " We don't yet handle nested parts, so pop + " multipart/* immediately so text/plain + " sub-parts are parsed properly + if match(in_part, '^multipart/') != -1 + let in_part = '' + else + let part_start = len(info['disp']) + 1 + endif endif elseif in_header