[PATCH] VIM: Make an option to save sent mail locally
Tomi Ollila
tomi.ollila at iki.fi
Mon Oct 6 11:28:55 PDT 2014
On Mon, Oct 06 2014, Ian Main <imain at 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
AFAIU looks mmm. readable ;)
> +
> + if g:notmuch_save_sent_locally
> + let out = system('cat ' . fname . ' | notmuch insert --create-folder --folder=Sent +sent -unread -inbox')
as this is (looks like) shell invocation, this could be in format
let out = system('notmuch insert --create-folder --folder=Sent +sent -unread -inbox < ' . fname)
or even
let out = system('exec notmuch insert --create-folder --folder=Sent +sent -unread -inbox < ' . fname)
(well, the latter would be out of the status quo)
Ok, I looked a bit into the notmuch.vim -code, and noticed sometimes
system() command lines use "notmuch" and sometimes g:notmuch_cmd
-- I think the latter should be used in new code and the previous ones
should be fixed.
i.e. system ( g:notmuch_cmd . ' insert ... ' < . fname)
Totally untested from my part...
When the change alike this lands to the notmuch repository this needs NEWS
item which informs that from now sent mails are notmuch-inserted to
user's mail store (as this seems to be the default...) -- well, let's see
that when there are real reviewers (i.e. those who are interested to and can
test this).
Tomi
> + 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 at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list