aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
authorGravatar Bart Trojanowski <bart@jukie.net>2009-11-27 01:01:37 -0500
committerGravatar Bart Trojanowski <bart@jukie.net>2009-11-27 01:01:37 -0500
commit350e0136963d14d3dfe2ba88e80c217b483d5949 (patch)
treea67dff9b3be70d7b318e11f70dcbd31d80d19db6 /vim
parent9012c652827be6ac4d748de50be5c93a6d4e97eb (diff)
vim: allow overriding how newBuffer is created
Diffstat (limited to 'vim')
-rw-r--r--vim/plugin/notmuch.vim14
1 files changed, 9 insertions, 5 deletions
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index b70c6edc..0adca0b0 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 <SID>NM_newBuffer('folders', join(disp, "\n"))
+ call <SID>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 <SID>NM_newBuffer('search', join(disp, "\n"))
+ call <SID>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 <SID>NM_newBuffer('show', join(info['disp'], "\n"))
+ call <SID>NM_newBuffer('', 'show', join(info['disp'], "\n"))
setlocal bufhidden=delete
let b:nm_words = a:words
let b:nm_raw_info = info
@@ -1013,8 +1013,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