\ 'g:notmuch_show_part_end_regexp': '\fpart}' ,
\ 'g:notmuch_show_marker_regexp': '\f\\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$',
\
- \ 'g:notmuch_show_message_parse_regexp': '\(id:[^ ]*\) depth:\([0-9]*\) match:\([0-9]*\) filename:\(.*\)$',
+ \ 'g:notmuch_show_message_parse_regexp': '\(id:[^ ]*\) depth:\([0-9]*\) match:\([0-9]*\) excluded:\([0-9]*\) filename:\(.*\)$',
\ 'g:notmuch_show_tags_regexp': '(\([^)]*\))$' ,
\
\ 'g:notmuch_show_signature_regexp': '^\(-- \?\|_\+\)$' ,
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'
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
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
let msg['id'] = m[1]
let msg['depth'] = m[2]
let msg['match'] = m[3]
- let msg['filename'] = m[4]
+ let msg['excluded'] = m[4]
+ let msg['filename'] = m[5]
endif
let in_message = 1