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 NM_compose_send()', + \ ',a': ':call NM_compose_attach()', \ ',q': ':call NM_kill_this_buffer()', \ '': ':call NM_compose_next_entry_area()', \ } @@ -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: - 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 NM_cmd_compose_mksyntax() call NM_set_map('n', g:notmuch_compose_nmaps) call 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 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 = 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