diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/plugin/notmuch.vim | 15 | ||||
-rw-r--r-- | vim/syntax/notmuch-show.vim | 31 |
2 files changed, 32 insertions, 14 deletions
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim index d772378..6e1f8b1 100644 --- a/vim/plugin/notmuch.vim +++ b/vim/plugin/notmuch.vim @@ -301,6 +301,21 @@ function! s:NM_cmd_show_mkfolds() endfor endfunction +function! s:NM_cmd_show_mksyntax() + let info = b:nm_raw_info + let cnt = 0 + for msg in info['msgs'] + let cnt = cnt + 1 + let start = msg['start'] + let hdr_start = msg['hdr_start'] + let body_start = msg['body_start'] + let end = msg['end'] + exec printf('syntax region nmShowMsg%dDesc start=''\%%%dl'' end=''\%%%dl'' contains=@nmShowMsgDesc', cnt, start, start+1) + exec printf('syntax region nmShowMsg%dHead start=''\%%%dl'' end=''\%%%dl'' contains=@nmShowMsgHead', cnt, hdr_start, body_start) + exec printf('syntax region nmShowMsg%dBody start=''\%%%dl'' end=''\%%%dl'' contains=@nmShowMsgBody', cnt, body_start, end) + endfor +endfunction + function! NM_cmd_show_foldtext() let foldtext = b:nm_raw_info['foldtext'] return foldtext[v:foldstart] diff --git a/vim/syntax/notmuch-show.vim b/vim/syntax/notmuch-show.vim index 02e12e9..20c6b88 100644 --- a/vim/syntax/notmuch-show.vim +++ b/vim/syntax/notmuch-show.vim @@ -1,20 +1,23 @@ " notmuch show mode syntax file -syntax region nmShowMessage start='message{' end='message}' contains=nmBlockStart,nmShowHeader,nmShowBody,nmShowAttachment,nmShowPart,nmBlockEnd -syntax region nmShowHeader start='header{' end='header}' contained contains=nmBlockStart,nmBlockEnd -syntax region nmShowBody start='body{' end='body}' contained contains=nmBlockStart,nmShowAttachment,nmShowPart,nmBlockEnd -syntax region nmShowAttachment start='attachment{' end='attachment}' contained contains=nmBlockStart,nmBlockEnd -syntax region nmShowPart start='part{' end='part}' contained contains=nmBlockStart,nmBlockEnd +syntax cluster nmShowMsgDesc contains=nmShowMsgDescWho,nmShowMsgDescDate,nmShowMsgDescTags +syntax match nmShowMsgDescWho /[^)]\+)/ contained +syntax match nmShowMsgDescDate / ([^)]\+[0-9]) / contained +syntax match nmShowMsgDescTags /([^)]\+)$/ contained -syntax region nmBlockStart start='^[a-z]\+{' end='$' oneline -syntax region nmBlockEnd start='^[a-z]\+}' end='$' oneline +syntax cluster nmShowMsgHead contains=nmShowMsgHeadKey,nmShowMsgHeadVal +syntax match nmShowMsgHeadKey /^[^:]\+: / contained +syntax match nmShowMsgHeadVal /^\([^:]\+: \)\@<=.*/ contained -highlight link nmShowMessage Error -highlight link nmShowHeader Type -highlight link nmShowBody Statement -highlight link nmShowAttachment Statement -highlight link nmShowPart String -highlight link nmBlockStart Ignore -highlight link nmBlockEnd Ignore +syntax cluster nmShowMsgBody contains=@nmShowMsgBodyMail,@nmShowMsgBodyGit +syntax include @nmShowMsgBodyMail syntax/mail.vim +syntax include @nmShowMsgBodyGit syntax/git-diff.vim + +highlight nmShowMsgDescWho term=reverse cterm=reverse gui=reverse +highlight link nmShowMsgDescDate Type +highlight link nmShowMsgDescTags String + +highlight link nmShowMsgHeadKey Macro +"highlight link nmShowMsgHeadVal NONE highlight Folded term=reverse ctermfg=LightGrey ctermbg=Black guifg=LightGray guibg=Black |