aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
authorGravatar Bart Trojanowski <bart@jukie.net>2009-11-26 23:04:53 -0500
committerGravatar Bart Trojanowski <bart@jukie.net>2009-11-26 23:07:07 -0500
commit8bafbac75c53631d0db351e20fb5f5bb0fcfb48e (patch)
treebc166d979a22eeb3eee2e9b857528e923766c530 /vim
parent805633beccd51752ee458424a342601318d5ceae (diff)
vim: add a helpful header to notmuch-compose mode
Diffstat (limited to 'vim')
-rw-r--r--vim/plugin/notmuch.vim20
-rw-r--r--vim/syntax/notmuch-compose.vim7
2 files changed, 20 insertions, 7 deletions
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index d3e31353..341f3370 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -53,6 +53,7 @@ let s:notmuch_defaults = {
\
\ 'g:notmuch_show_citation_regexp': '^\s*>' ,
\
+ \ 'g:notmuch_compose_header_help': 1 ,
\ 'g:notmuch_compose_temp_file_dir': '~/.notmuch/compose/' ,
\ }
@@ -161,6 +162,7 @@ let g:notmuch_show_maps = {
" --- --- bindings for compose screen {{{2
let g:notmuch_compose_nmaps = {
\ ',s': ':call <SID>NM_compose_send()<CR>',
+ \ ',a': ':call <SID>NM_compose_attach()<CR>',
\ ',q': ':call <SID>NM_kill_this_buffer()<CR>',
\ '<Tab>': ':call <SID>NM_compose_next_entry_area()<CR>',
\ }
@@ -875,7 +877,13 @@ endfunction
" --- implement compose screen {{{1
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 hdrs = { }
@@ -931,22 +939,22 @@ function! s:NM_cmd_compose(words, body_lines)
\ 'compose', lines)
setlocal bufhidden=hide
- call <SID>NM_cmd_compose_mksyntax()
call <SID>NM_set_map('n', g:notmuch_compose_nmaps)
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!
echo 'Type your message, use <TAB> to jump to next header and then body.'
endfunction
-function! s:NM_cmd_compose_mksyntax()
- silent! setlocal syntax=mail
-endfunction
function! s:NM_compose_send()
echo 'not implemented'
endfunction
+function! s:NM_compose_attach()
+ echo 'not implemented'
+endfunction
+
function! s:NM_compose_next_entry_area()
let lnum = line('.')
let hdr_end = <SID>NM_compose_find_line_match(1,'^$',1)
diff --git a/vim/syntax/notmuch-compose.vim b/vim/syntax/notmuch-compose.vim
index fe4efd4b..19adb756 100644
--- a/vim/syntax/notmuch-compose.vim
+++ b/vim/syntax/notmuch-compose.vim
@@ -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