vim: add a helpful header to notmuch-compose mode

This commit is contained in:
Bart Trojanowski 2009-11-26 23:04:53 -05:00
parent 805633becc
commit 8bafbac75c
2 changed files with 20 additions and 7 deletions

View file

@ -53,6 +53,7 @@ let s:notmuch_defaults = {
\ \
\ 'g:notmuch_show_citation_regexp': '^\s*>' , \ 'g:notmuch_show_citation_regexp': '^\s*>' ,
\ \
\ 'g:notmuch_compose_header_help': 1 ,
\ 'g:notmuch_compose_temp_file_dir': '~/.notmuch/compose/' , \ 'g:notmuch_compose_temp_file_dir': '~/.notmuch/compose/' ,
\ } \ }
@ -161,6 +162,7 @@ let g:notmuch_show_maps = {
" --- --- bindings for compose screen {{{2 " --- --- bindings for compose screen {{{2
let g:notmuch_compose_nmaps = { let g:notmuch_compose_nmaps = {
\ ',s': ':call <SID>NM_compose_send()<CR>', \ ',s': ':call <SID>NM_compose_send()<CR>',
\ ',a': ':call <SID>NM_compose_attach()<CR>',
\ ',q': ':call <SID>NM_kill_this_buffer()<CR>', \ ',q': ':call <SID>NM_kill_this_buffer()<CR>',
\ '<Tab>': ':call <SID>NM_compose_next_entry_area()<CR>', \ '<Tab>': ':call <SID>NM_compose_next_entry_area()<CR>',
\ } \ }
@ -875,7 +877,13 @@ endfunction
" --- implement compose screen {{{1 " --- implement compose screen {{{1
function! s:NM_cmd_compose(words, body_lines) function! s:NM_cmd_compose(words, body_lines)
let lines = [] let lines = !g:notmuch_compose_header_help ? [] : [
\ 'Notmuch-Help: Type in your message here; to help you use these bindings:',
\ 'Notmuch-Help: ,a - attach a file',
\ 'Notmuch-Help: ,s - send the message (Notmuch-Help lines will be removed)',
\ 'Notmuch-Help: ,q - abort the message',
\ 'Notmuch-Help: <Tab> - skip through header lines',
\ ]
let start_on_line = 0 let start_on_line = 0
let hdrs = { } let hdrs = { }
@ -931,22 +939,22 @@ function! s:NM_cmd_compose(words, body_lines)
\ 'compose', lines) \ 'compose', lines)
setlocal bufhidden=hide setlocal bufhidden=hide
call <SID>NM_cmd_compose_mksyntax()
call <SID>NM_set_map('n', g:notmuch_compose_nmaps) call <SID>NM_set_map('n', g:notmuch_compose_nmaps)
call <SID>NM_set_map('i', g:notmuch_compose_imaps) call <SID>NM_set_map('i', g:notmuch_compose_imaps)
exec printf('norm %dG', start_on_line) call cursor(start_on_line, strlen(start_on_line) + 1)
startinsert! startinsert!
echo 'Type your message, use <TAB> to jump to next header and then body.' echo 'Type your message, use <TAB> to jump to next header and then body.'
endfunction endfunction
function! s:NM_cmd_compose_mksyntax()
silent! setlocal syntax=mail
endfunction
function! s:NM_compose_send() function! s:NM_compose_send()
echo 'not implemented' echo 'not implemented'
endfunction endfunction
function! s:NM_compose_attach()
echo 'not implemented'
endfunction
function! s:NM_compose_next_entry_area() function! s:NM_compose_next_entry_area()
let lnum = line('.') let lnum = line('.')
let hdr_end = <SID>NM_compose_find_line_match(1,'^$',1) let hdr_end = <SID>NM_compose_find_line_match(1,'^$',1)

View file

@ -1,2 +1,7 @@
silent! setlocal syntax=mail runtime! syntax/mail.vim
syntax region nmComposeHelp contains=nmComposeHelpLine start='^Notmuch-Help:\%1l' end='^\(Notmuch-Help:\)\@!'
syntax match nmComposeHelpLine /Notmuch-Help:/ contained
highlight link nmComposeHelp Include
highlight link nmComposeHelpLine Error