]> git.notmuchmail.org Git - notmuch/blobdiff - vim/plugin/notmuch.vim
vim: few compose mode updates, including README
[notmuch] / vim / plugin / notmuch.vim
index a4d04e26104ee4da4358cc06bea8e35689c52752..37781c0c8bcc9988125e749fb350f9b5310207ef 100644 (file)
@@ -105,6 +105,7 @@ let s:notmuch_compose_headers_defaults = [
 " --- --- bindings for folders mode {{{2
 
 let g:notmuch_folders_maps = {
+        \ 'm':          ':call <SID>NM_new_mail()<CR>',
         \ 's':          ':call <SID>NM_search_prompt()<CR>',
         \ 'q':          ':call <SID>NM_kill_this_buffer()<CR>',
         \ '=':          ':call <SID>NM_folders_refresh_view()<CR>',
@@ -939,8 +940,6 @@ function! s:NM_compose_send()
                 let line = getline(lnum)
         endwhile
         let body_starts = lnum
-        exec printf('0,%dd', body_starts)
-        write
 
         "[-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr
         let cmd = ['mail']
@@ -972,6 +971,12 @@ function! s:NM_compose_send()
         endfor
         call extend(cmd, tos)
 
+        " TODO: make sure we have at least one target
+        " TODO: ask about empty jubject, etc
+
+        exec printf('0,%dd', body_starts)
+        write
+
         call map(cmd, 's:NM_shell_escape(v:val)')
         let cmdtxt = join(cmd) . '< ' . fname
         let out = system(cmdtxt)
@@ -1130,7 +1135,7 @@ function! s:NM_newComposeBuffer(lines, start_on_line)
         if start_on_line > 0 && start_on_line <= len(lines)
                 call cursor(start_on_line, strlen(getline(start_on_line)) + 1)
         else
-                call cursor(real_hdr_start, strlen(getline(real_hdr_start) + 1)
+                call cursor(real_hdr_start, strlen(getline(real_hdr_start)) + 1)
                 call <SID>NM_compose_next_entry_area()
         endif
 
@@ -1227,7 +1232,7 @@ endfunction
 " --- external mail handling helpers {{{1
 
 function! s:NM_new_mail()
-        echo 'not implemented'
+        call <SID>NM_cmd_compose([], [])
 endfunction
 
 " --- tag manipulation helpers {{{1