projects
/
notmuch
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b440aeb
)
vim: allow show_next/previous to skip non-matching messages
author
Bart Trojanowski
<bart@jukie.net>
Wed, 25 Nov 2009 19:17:34 +0000
(14:17 -0500)
committer
Bart Trojanowski
<bart@jukie.net>
Wed, 25 Nov 2009 19:17:34 +0000
(14:17 -0500)
vim/plugin/notmuch.vim
patch
|
blob
|
history
diff --git
a/vim/plugin/notmuch.vim
b/vim/plugin/notmuch.vim
index f0106604f081a5a296c126a5157f59feb36c8f36..c95e6b0e2c71abb2d2b964106770116d53a79d1d 100644
(file)
--- a/
vim/plugin/notmuch.vim
+++ b/
vim/plugin/notmuch.vim
@@
-110,8
+110,8
@@
let g:notmuch_search_maps = {
" --- --- bindings for show screen {{{2
let g:notmuch_show_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>',
\
\ '<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
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']))
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
if lnum <= msg['start']
continue
endif
@@
-426,10
+429,13
@@
function! s:NM_show_previous(can_change_thread)
endif
endfunction
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']
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
if lnum >= msg['start']
continue
endif