X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=vim%2Fplugin%2Fnotmuch.vim;h=dfa4c432faca9d12c8693063f5ec2382e45fc862;hb=9e3cc68875602c72109c2e27ba07a193865560fd;hp=09df1ed9aea3e5ca8a15d6aba755e1264482a662;hpb=64339e6324d2fdc13eb3a7e357390271616528b9;p=notmuch diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim index 09df1ed9..dfa4c432 100644 --- a/vim/plugin/notmuch.vim +++ b/vim/plugin/notmuch.vim @@ -90,7 +90,7 @@ let g:notmuch_search_maps = { " --- --- bindings for show screen {{{2 let g:notmuch_show_maps = { - \ '': ':call NM_show_prev(1)', + \ '': ':call NM_show_previous(1)', \ '': ':call NM_show_next(1)', \ 'q': ':call NM_kill_this_buffer()', \ @@ -123,11 +123,8 @@ function! s:NM_cmd_search(words) let cmd = cmd + ['--sort=oldest-first'] endif let data = s:NM_run(cmd + a:words) - "let data = substitute(data, '27/27', '25/27', '') - "let data = substitute(data, '\[4/4\]', '[0/4]', '') let lines = split(data, "\n") let disp = copy(lines) - "call map(disp, 'substitute(v:val, "^thread:\\S* ", "", "")' ) call map(disp, 's:NM_cmd_search_fmtline(v:val)') call NM_newBuffer('search', join(disp, "\n")) @@ -301,7 +298,7 @@ function! s:NM_cmd_show(words) endfunction -function! s:NM_show_prev(can_change_thread) +function! s:NM_show_previous(can_change_thread) let info = b:nm_raw_info let lnum = line('.') for msg in reverse(copy(info['msgs'])) @@ -322,7 +319,7 @@ function! s:NM_show_prev(can_change_thread) norm k call NM_search_show_thread() norm G - call NM_show_prev(0) + call NM_show_previous(0) else echo 'No more messages.' endif @@ -479,8 +476,10 @@ 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, - \ printf('[ %d-line signature. Press "s" to show. ]', outlnum - mode_start) ] + if mode_start != outlnum + let foldinfo = [ mode_type, mode_start, outlnum-1, + \ printf('[ %d-line signature. Press "s" to show. ]', outlnum - mode_start) ] + endif let mode_type = '' endif endif @@ -534,7 +533,7 @@ function! s:NM_cmd_show_parse(inlines) let hdr_start = msg['hdr_start']+1 let hdr_end = len(info['disp']) let foldinfo = [ 'hdr', hdr_start, hdr_end, - \ printf('[ %d-line headers. Press "h" to show. ]', hdr_end - hdr_start) ] + \ printf('[ %d-line headers. Press "h" to show. ]', hdr_end + 1 - hdr_start) ] let msg['header'] = hdr let in_header = 0 let hdr = {} @@ -743,9 +742,12 @@ endif " --- assign keymaps {{{1 function! s:NM_set_map(maps) + nmapclear for [key, code] in items(a:maps) exec printf('nnoremap %s %s', key, code) endfor + " --- this is a hack for development :) + nnoremap ,nmr :source ~/.vim/plugin/notmuch.vim:call NotMuch('') endfunction " --- command handler {{{1 @@ -776,8 +778,4 @@ endfunction command! -nargs=* -complete=customlist,CompleteNotMuch NotMuch call NotMuch() cabbrev notmuch =(getcmdtype()==':' && getcmdpos()==1 ? 'NotMuch' : 'notmuch') -" --- hacks, only for development :) {{{1 - -nnoremap ,nmr :source ~/.vim/plugin/notmuch.vim:call NotMuch('') - " vim: set ft=vim ts=8 sw=8 et foldmethod=marker :