vim: allow overriding how newBuffer is created

This commit is contained in:
Bart Trojanowski 2009-11-27 01:01:37 -05:00
parent 9012c65282
commit 350e013696

View file

@ -188,7 +188,7 @@ function! s:NM_cmd_folders(words)
call add(searches, search) call add(searches, search)
endfor 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_searches = searches
let b:nm_timestamp = reltime() let b:nm_timestamp = reltime()
@ -236,7 +236,7 @@ function! s:NM_cmd_search(words)
let disp = copy(lines) let disp = copy(lines)
call map(disp, 's:NM_cmd_search_fmtline(v:val)') 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_raw_lines = lines
let b:nm_search_words = a:words 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) let info = s:NM_cmd_show_parse(lines)
setlocal bufhidden=hide setlocal bufhidden=hide
call <SID>NM_newBuffer('show', join(info['disp'], "\n")) call <SID>NM_newBuffer('', 'show', join(info['disp'], "\n"))
setlocal bufhidden=delete setlocal bufhidden=delete
let b:nm_words = a:words let b:nm_words = a:words
let b:nm_raw_info = info let b:nm_raw_info = info
@ -1013,8 +1013,12 @@ endfunction
" --- notmuch helper functions {{{1 " --- notmuch helper functions {{{1
function! s:NM_newBuffer(type, content) function! s:NM_newBuffer(how, type, content)
if strlen(a:how)
exec a:how
else
enew enew
endif
setlocal buftype=nofile readonly modifiable scrolloff=0 sidescrolloff=0 setlocal buftype=nofile readonly modifiable scrolloff=0 sidescrolloff=0
silent put=a:content silent put=a:content
keepjumps 0d keepjumps 0d