mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
vim: allow show_next/previous to skip non-matching messages
This commit is contained in:
parent
b440aeb23e
commit
0f39d2c4de
1 changed files with 10 additions and 4 deletions
|
@ -110,8 +110,8 @@ let g:notmuch_search_maps = {
|
|||
|
||||
" --- --- bindings for show screen {{{2
|
||||
let g:notmuch_show_maps = {
|
||||
\ '<C-P>': ':call <SID>NM_show_previous(1)<CR>',
|
||||
\ '<C-N>': ':call <SID>NM_show_next(1)<CR>',
|
||||
\ '<C-P>': ':call <SID>NM_show_previous(1, 0)<CR>',
|
||||
\ '<C-N>': ':call <SID>NM_show_next(1, 0)<CR>',
|
||||
\ '<C-]>': ':call <SID>NM_search_expand(''<cword>'')<CR>',
|
||||
\ 'q': ':call <SID>NM_kill_this_buffer()<CR>',
|
||||
\
|
||||
|
@ -399,10 +399,13 @@ function! s:NM_cmd_show(words)
|
|||
|
||||
endfunction
|
||||
|
||||
function! s:NM_show_previous(can_change_thread)
|
||||
function! s:NM_show_previous(can_change_thread, find_matching)
|
||||
let info = b:nm_raw_info
|
||||
let lnum = line('.')
|
||||
for msg in reverse(copy(info['msgs']))
|
||||
if a:find_matching && msg['match'] == '0'
|
||||
continue
|
||||
endif
|
||||
if lnum <= msg['start']
|
||||
continue
|
||||
endif
|
||||
|
@ -426,10 +429,13 @@ function! s:NM_show_previous(can_change_thread)
|
|||
endif
|
||||
endfunction
|
||||
|
||||
function! s:NM_show_next(can_change_thread)
|
||||
function! s:NM_show_next(can_change_thread, find_matching)
|
||||
let info = b:nm_raw_info
|
||||
let lnum = line('.')
|
||||
for msg in info['msgs']
|
||||
if a:find_matching && msg['match'] == '0'
|
||||
continue
|
||||
endif
|
||||
if lnum >= msg['start']
|
||||
continue
|
||||
endif
|
||||
|
|
Loading…
Reference in a new issue