X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=vim%2Fplugin%2Fnotmuch.vim;h=fca48568921c6d8a1965593e22302d5de28db443;hp=f4a4f2334ac476831031052244ee2ae9ffe64666;hb=06a292018d0fbe3198468571e13e3d230ced3354;hpb=3cac5f8acb3bf98636a81e44c620fd550843ed53
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index f4a4f233..fca48568 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -18,12 +18,14 @@
" along with Notmuch. If not, see .
"
" Authors: Bart Trojanowski
-" Contributors: Peter Hartman
+" Contributors: Felipe Contreras ,
+" Peter Hartman
"
" --- configuration defaults {{{1
let s:notmuch_defaults = {
\ 'g:notmuch_cmd': 'notmuch' ,
+ \ 'g:notmuch_sendmail': 'sendmail' ,
\ 'g:notmuch_debug': 0 ,
\
\ 'g:notmuch_search_newest_first': 1 ,
@@ -118,6 +120,7 @@ let g:notmuch_search_maps = {
\ '': ':call NM_search_show_thread(0)',
\ '': ':call NM_search_show_thread(1)',
\ '': ':call NM_search_expand('''')',
+ \ 'I': ':call NM_search_mark_read_thread()',
\ 'a': ':call NM_search_archive_thread()',
\ 'A': ':call NM_search_mark_read_then_archive_thread()',
\ 'f': ':call NM_search_filter()',
@@ -147,6 +150,7 @@ let g:notmuch_show_maps = {
\ 'h': ':call NM_show_fold_toggle(''h'', ''hdr'', !g:notmuch_show_fold_headers)',
\ 'i': ':call NM_show_fold_toggle(''s'', ''sig'', !g:notmuch_show_fold_signatures)',
\
+ \ 'I': ':call NM_show_mark_read_thread()',
\ 'a': ':call NM_show_archive_thread()',
\ 'A': ':call NM_show_mark_read_then_archive_thread()',
\ 'N': ':call NM_show_mark_read_then_next_open_message()',
@@ -307,6 +311,11 @@ function! s:NM_search_edit()
endif
endfunction
+function! s:NM_search_mark_read_thread()
+ call NM_tag([], ['-unread'])
+ norm j
+endfunction
+
function! s:NM_search_archive_thread()
call NM_tag([], ['-inbox'])
norm j
@@ -494,8 +503,14 @@ function! s:NM_show_next_thread()
endif
endfunction
+function! s:NM_show_mark_read_thread()
+ call NM_tag(b:nm_search_words, ['-unread'])
+ call NM_show_next_thread()
+endfunction
+
function! s:NM_show_archive_thread()
- echo 'not implemented'
+ call NM_tag(b:nm_search_words, ['-inbox'])
+ call NM_show_next_thread()
endfunction
function! s:NM_show_mark_read_then_archive_thread()
@@ -947,18 +962,28 @@ function! s:NM_compose_send()
let line = getline(lnum)
let lst_hdr = ''
while match(line, '^$') == -1
- if match(line, '^Notmuch-Help:') == -1
+ if !exists("hdr_starts") && match(line, '^Notmuch-Help:') == -1
let hdr_starts = lnum - 1
- break
endif
let lnum = lnum + 1
let line = getline(lnum)
endwhile
+ let body_starts = lnum - 1
+ call append(body_starts, 'Date: ' . strftime('%a, %d %b %Y %H:%M:%S %z'))
exec printf(':0,%dd', hdr_starts)
write
- let cmdtxt = 'mailx -t < ' . fname
+ let line = getline(1)
+ let m = matchlist(line, '^From:\s*\(.*\)\s*<\(.*\)>$')
+ if (len(m) >= 2)
+ let from = m[2]
+ else
+ let m = matchlist(line, '^From:\s*\(.*\)$')
+ let from = m[1]
+ endif
+
+ let cmdtxt = g:notmuch_sendmail . ' -t -f ' . from . ' < ' . fname
let out = system(cmdtxt)
let err = v:shell_error
if err