maildir folder is slected based on the address in from header and it is configurable via notmuch config. --- vim/notmuch.vim | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/vim/notmuch.vim b/vim/notmuch.vim index 4f90d79..e95db4d 100644 --- a/vim/notmuch.vim +++ b/vim/notmuch.vim @@ -110,6 +110,9 @@ EOF echohl None return endif + + call s:save_to_sent(fname) + call delete(fname) echo 'Mail sent successfully.' call s:kill_this_buffer() @@ -257,6 +260,20 @@ function! s:folders_refresh() setlocal nomodifiable endfunction +function! s:save_to_sent(fname) +ruby << EOF + if $sent_dirs + fname = VIM::evaluate('a:fname') + m = Mail.read(fname) + from_address = m.from[0] + sent_box = $sent_dirs[from_address] + if sent_box + system "notmuch insert --folder:#{sent_box} +sent < #{fname}" + end + end +EOF +endfunction + "" basic function! s:show_cursor_moved() @@ -505,6 +522,8 @@ ruby << EOF $email_address = get_config_item('user.primary_email') $email_name = get_config_item('user.name') $email = "%s <%s>" % [$email_name, $email_address] + sent_dirs_config = get_config_item('vim.sent_dirs') + $sent_dirs = Hash[sent_dirs_config.split("\n").collect{|x| x.strip.split("=>")}] end def vim_puts(s) @@ -698,6 +717,7 @@ ruby << EOF end end + module DbHelper def init(name) @name = name -- 1.9.3 (Apple Git-50)