X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=inline;f=vim%2Fplugin%2Fnotmuch.vim;h=63a711fdf84368af8b1300e6d3367fdfaa026f61;hb=05d76deb2eb3aaf09444e8cfb59a438c3d774bea;hp=b70c6edcb8e32c618527703e657ad499635ce5b0;hpb=9012c652827be6ac4d748de50be5c93a6d4e97eb;p=notmuch diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim index b70c6edc..63a711fd 100644 --- a/vim/plugin/notmuch.vim +++ b/vim/plugin/notmuch.vim @@ -188,7 +188,7 @@ function! s:NM_cmd_folders(words) call add(searches, search) endfor - call NM_newBuffer('folders', join(disp, "\n")) + call NM_newBuffer('', 'folders', join(disp, "\n")) let b:nm_searches = searches let b:nm_timestamp = reltime() @@ -236,7 +236,7 @@ function! s:NM_cmd_search(words) let disp = copy(lines) call map(disp, 's:NM_cmd_search_fmtline(v:val)') - call NM_newBuffer('search', join(disp, "\n")) + call NM_newBuffer('', 'search', join(disp, "\n")) let b:nm_raw_lines = lines let b:nm_search_words = a:words @@ -418,7 +418,7 @@ function! s:NM_cmd_show(words) let info = s:NM_cmd_show_parse(lines) setlocal bufhidden=hide - call NM_newBuffer('show', join(info['disp'], "\n")) + call NM_newBuffer('', 'show', join(info['disp'], "\n")) setlocal bufhidden=delete let b:nm_words = a:words let b:nm_raw_info = info @@ -886,7 +886,7 @@ function! s:NM_cmd_compose(words, body_lines) let hdrs = { } for word in a:words - let m = matchlist(word, '^\([^:]\+\):\s*\(.*\)\s*$') + let m = matchlist(word, '^\(\w[^:]*\):\s*\(.*\)\s*$') if !len(m) throw 'Eeek! bad parameter ''' . string(word) . '''' endif @@ -936,6 +936,7 @@ function! s:NM_cmd_compose(words, body_lines) call NM_newFileBuffer(g:notmuch_compose_temp_file_dir, '%s.mail', \ 'compose', lines) setlocal bufhidden=hide + let b:nm_prev_bufnr = prev_bufnr call NM_set_map('n', g:notmuch_compose_nmaps) call NM_set_map('i', g:notmuch_compose_imaps) @@ -1013,8 +1014,12 @@ endfunction " --- notmuch helper functions {{{1 -function! s:NM_newBuffer(type, content) - enew +function! s:NM_newBuffer(how, type, content) + if strlen(a:how) + exec a:how + else + enew + endif setlocal buftype=nofile readonly modifiable scrolloff=0 sidescrolloff=0 silent put=a:content keepjumps 0d