aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
authorGravatar Bart Trojanowski <bart@jukie.net>2009-11-20 01:15:00 -0500
committerGravatar Bart Trojanowski <bart@jukie.net>2009-11-25 00:48:50 -0500
commit010eac8b434eee317b0d28eac9bcf544fc6994d1 (patch)
tree5e9ea2b9fab07e8650f3b0069319285d75c7e5d2 /vim
parent8a31802b94b935bcb5cb784e7dacead467972241 (diff)
pretty colouring and folding for message show
Diffstat (limited to 'vim')
-rw-r--r--vim/plugin/notmuch.vim15
-rw-r--r--vim/syntax/notmuch-show.vim31
2 files changed, 32 insertions, 14 deletions
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index d7723781..6e1f8b14 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 02e12e99..20c6b88f 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