Why not simply use Notmuch::Database.add_message? Would save a
system-call.
One could easily copy the sent mail into nm_db_path/sent/cur, add it to the db, 
tag it.
Though I don't know enough about maildir handling, but probably rubys
Mail module could help here.

Another issue is configuration. Hardcoding "Sent" probably won't fit
everyones needs. And (if I understand DOCS correctly) db.add_message
doesn't even force you to keep sent mail folder inside db_path; correct
me if I'm wrong :) notmuch --insert will put it into folder relative to
db_path.

All in all the feature and the the rest of your work is very much
appreciated!

Franz

On Mon,  6 Oct 2014 11:10:36 -0700, Ian Main <im...@stemwinder.org> wrote:
> Add an option to use 'notmuch insert' to save your sent mail.
> ---
> 
> Add -inbox as well.
> 
>  vim/notmuch.vim | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/vim/notmuch.vim b/vim/notmuch.vim
> index 331e930..a9044c4 100644
> --- a/vim/notmuch.vim
> +++ b/vim/notmuch.vim
> @@ -58,6 +58,7 @@ let s:notmuch_date_format_default = '%d.%m.%y'
>  let s:notmuch_datetime_format_default = '%d.%m.%y %H:%M:%S'
>  let s:notmuch_reader_default = 'mutt -f %s'
>  let s:notmuch_sendmail_default = 'sendmail'
> +let s:notmuch_save_sent_locally_default = 1
>  let s:notmuch_folders_count_threads_default = 0
>  
>  function! s:new_file_buffer(type, fname)
> @@ -108,6 +109,18 @@ EOF
>               echohl None
>               return
>       endif
> +
> +     if g:notmuch_save_sent_locally
> +             let out = system('cat ' . fname . ' | notmuch insert 
> --create-folder --folder=Sent +sent -unread -inbox')
> +             let err = v:shell_error
> +             if err
> +                     echohl Error
> +                     echo 'Eeek! unable to save sent mail'
> +                     echo out
> +                     echohl None
> +                     return
> +             endif
> +     endif
>       call delete(fname)
>       echo 'Mail sent successfully.'
>       call s:kill_this_buffer()
> @@ -388,6 +401,10 @@ endfunction
>  "" root
>  
>  function! s:set_defaults()
> +     if !exists('g:notmuch_save_sent_locally')
> +             let g:notmuch_save_sent_locally = 
> s:notmuch_save_sent_locally_default
> +     endif
> +
>       if !exists('g:notmuch_date_format')
>               if exists('g:notmuch_rb_date_format')
>                       let g:notmuch_date_format = g:notmuch_rb_date_format
> -- 
> 1.9.3
> 
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to