X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=vim%2Fplugin%2Fnotmuch.vim;h=2b92ad688dfbc5a3ba37c22d8107a9e35984e774;hp=00ee98427ccca5269eba347f8d1265d02bf11b67;hb=c80ab27d08540d3f434629f62bdf2f6a13a1cf41;hpb=cfb18a6cbb3e247c910c427ec2dce96740870730 diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim index 00ee9842..2b92ad68 100644 --- a/vim/plugin/notmuch.vim +++ b/vim/plugin/notmuch.vim @@ -29,6 +29,28 @@ if !exists('g:notmuch_search_reverse') let g:notmuch_search_reverse = 1 endif +" --- used to match output of notmuch + +let s:notmuch_show_message_begin_regexp = '^ message{' +let s:notmuch_show_message_end_regexp = '^ message}' +let s:notmuch_show_header_begin_regexp = '^ header{' +let s:notmuch_show_header_end_regexp = '^ header}' +let s:notmuch_show_body_begin_regexp = '^ body{' +let s:notmuch_show_body_end_regexp = '^ body}' +let s:notmuch_show_attachment_begin_regexp = '^ attachment{' +let s:notmuch_show_attachment_end_regexp = '^ attachment}' +let s:notmuch_show_part_begin_regexp = '^ part{' +let s:notmuch_show_part_end_regexp = '^ part}' +let s:notmuch_show_marker_regexp = '^ \\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$' + +let s:notmuch_show_id_regexp = '\(id:[^ ]*\)' +let s:notmuch_show_depth_regexp = ' depth:\([0-9]*\) ' +let s:notmuch_show_filename_regexp = 'filename:\(.*\)$' +let s:notmuch_show_tags_regexp = '(\([^)]*\))$' + +let s:notmuch_show_signature_regexp = '^\(-- \?\|_\+\)$' +let s:notmuch_show_signature_lines_max = 12 + " --- implement search screen function! s:NM_cmd_search(words) @@ -47,16 +69,17 @@ function! s:NM_cmd_search(words) let b:nm_raw_data = lines nnoremap :call NM_search_display() + nnoremap s :call NM_cmd_search(split(input('NotMuch Search:'))) setlocal cursorline setlocal nowrap endfunction function! s:NM_search_display() - let line = line('.') if !exists('b:nm_raw_data') echo 'no b:nm_raw_data' else - let info = b:nm_raw_data[line] + let line = line('.') + let info = b:nm_raw_data[line-1] let what = split(info, '\s\+')[0] call s:NM_cmd_show([what]) endif @@ -77,7 +100,7 @@ function! s:NM_cmd_show(words) endfunction -" --- helper function +" --- helper functions function! s:NM_newBuffer(ft, content) enew