mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 09:24:54 +01:00
vim: refactor tagging stuff
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
parent
5e4ed5bcd7
commit
3cac5f8acb
1 changed files with 10 additions and 8 deletions
|
@ -308,12 +308,12 @@ function! s:NM_search_edit()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:NM_search_archive_thread()
|
function! s:NM_search_archive_thread()
|
||||||
call <SID>NM_add_remove_tags([], '-', ['inbox'])
|
call <SID>NM_tag([], ['-inbox'])
|
||||||
norm j
|
norm j
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:NM_search_mark_read_then_archive_thread()
|
function! s:NM_search_mark_read_then_archive_thread()
|
||||||
call <SID>NM_add_remove_tags([], '-', ['unread', 'inbox'])
|
call <SID>NM_tag([], ['-unread', '-inbox'])
|
||||||
norm j
|
norm j
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@ -404,7 +404,8 @@ function! s:NM_search_add_remove_tags(prompt, prefix, intags)
|
||||||
else
|
else
|
||||||
let tags = a:intags
|
let tags = a:intags
|
||||||
endif
|
endif
|
||||||
call <SID>NM_add_remove_tags([], a:prefix, tags)
|
call map(tags, 'a:prefix . v:val')
|
||||||
|
call <SID>NM_tag([], tags)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" --- implement show screen {{{1
|
" --- implement show screen {{{1
|
||||||
|
@ -498,7 +499,7 @@ function! s:NM_show_archive_thread()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:NM_show_mark_read_then_archive_thread()
|
function! s:NM_show_mark_read_then_archive_thread()
|
||||||
call <SID>NM_add_remove_tags(b:nm_search_words, '-', ['unread', 'inbox'])
|
call <SID>NM_tag(b:nm_search_words, ['-unread', '-inbox'])
|
||||||
call <SID>NM_show_next_thread()
|
call <SID>NM_show_next_thread()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@ -562,7 +563,8 @@ function! s:NM_show_advance_marking_read_and_archiving()
|
||||||
let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
|
let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
|
||||||
\ + ['AND']
|
\ + ['AND']
|
||||||
\ + <SID>NM_combine_tags('', ids, 'OR', '()')
|
\ + <SID>NM_combine_tags('', ids, 'OR', '()')
|
||||||
call <SID>NM_add_remove_tags(filter, '-', advance_tags)
|
call map(advance_tags, '"+" . v:val')
|
||||||
|
call <SID>NM_tag(filter, advance_tags)
|
||||||
call <SID>NM_show_next(1, 1)
|
call <SID>NM_show_next(1, 1)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@ -581,7 +583,8 @@ function! s:NM_show_advance_marking_read_and_archiving()
|
||||||
" do this last to hide the latency
|
" do this last to hide the latency
|
||||||
let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
|
let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
|
||||||
\ + ['AND', msg_top['id']]
|
\ + ['AND', msg_top['id']]
|
||||||
call <SID>NM_add_remove_tags(filter, '-', advance_tags)
|
call map(advance_tags, '"-" . v:val')
|
||||||
|
call <SID>NM_tag(filter, advance_tags)
|
||||||
endif
|
endif
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@ -1265,12 +1268,11 @@ function! s:NM_search_expand(arg)
|
||||||
let b:nm_prev_bufnr = prev_bufnr
|
let b:nm_prev_bufnr = prev_bufnr
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:NM_add_remove_tags(filter, prefix, tags)
|
function! s:NM_tag(filter, tags)
|
||||||
let filter = len(a:filter) ? a:filter : [<SID>NM_search_thread_id()]
|
let filter = len(a:filter) ? a:filter : [<SID>NM_search_thread_id()]
|
||||||
if !len(filter)
|
if !len(filter)
|
||||||
throw 'Eeek! I couldn''t find the thead id!'
|
throw 'Eeek! I couldn''t find the thead id!'
|
||||||
endif
|
endif
|
||||||
call map(a:tags, 'a:prefix . v:val')
|
|
||||||
let args = ['tag']
|
let args = ['tag']
|
||||||
call extend(args, a:tags)
|
call extend(args, a:tags)
|
||||||
call add(args, '--')
|
call add(args, '--')
|
||||||
|
|
Loading…
Reference in a new issue