\
\ 'g:notmuch_show_citation_regexp': '^\s*>' ,
\
+ \ 'g:notmuch_compose_insert_mode_start': 1 ,
\ 'g:notmuch_compose_header_help': 1 ,
\ 'g:notmuch_compose_temp_file_dir': '~/.notmuch/compose/' ,
\ }
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()
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
function! s:NM_search_thread_id()
if !exists('b:nm_raw_lines')
- echoe 'no b:nm_raw_lines'
- return ''
+ throw 'Eeek! no b:nm_raw_lines'
endif
let mnum = line('.') - 1
if len(b:nm_raw_lines) <= mnum
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
function! s:NM_show_message_id()
if !exists('b:nm_raw_info')
- echoe 'no b:nm_raw_info'
- return ''
+ throw 'Eeek! no b:nm_raw_info'
endif
let msg = <SID>NM_show_get_message_for_line(line('.'))
if has_key(msg,'id')
function! s:NM_show_search_words()
if !exists('b:nm_words')
- echoe 'no b:nm_words'
- return []
+ throw 'Eeek! no b:nm_words'
endif
return b:nm_words
endfunction
call <SID>NM_set_map('i', g:notmuch_compose_imaps)
call cursor(start_on_line, strlen(start_on_line) + 1)
- startinsert!
+ if g:notmuch_compose_insert_mode_start
+ startinsert!
+ endif
echo 'Type your message, use <TAB> to jump to next header and then body.'
endfunction
call cursor(lnum+1, strlen(getline(lnum+1)) + 1)
return ''
endif
- echo 'mode=' . mode()
if mode() == 'i'
if !getbufvar(bufnr('.'), '&et')
return "\t"
" --- 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