vim: fix (hack) cig/cit parsing within multipart/*

The vim front-end isn't written to handle nested parts.

This patch doesn't change that, it just changes the code to pretend that
multipart/* sections end immediately. This makes the parsing code think that
all sections are top-level, and are thus parsed well enough.

The lovely result of this is that citation folds and signature folds now work
in text/plain parts that are within multipart/* sections. Also, all mime
section starts are now shown correctly (before some were not parsed and showed
the ugly ^L and an ID and so on from notmuch.)

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
Jason Woofenden 2011-07-11 01:40:09 -04:00 committed by Felipe Contreras
parent 3de487d405
commit 6c6c8a9c85

View file

@ -796,7 +796,14 @@ function! s:NM_cmd_show_parse(inlines)
endif endif
call add(info['disp'], call add(info['disp'],
\ printf('--- %s ---', in_part)) \ 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 endif
elseif in_header elseif in_header