pretty colouring and folding for message show

This commit is contained in:
Bart Trojanowski 2009-11-20 01:15:00 -05:00
parent 8a31802b94
commit 010eac8b43
2 changed files with 32 additions and 14 deletions

View file

@ -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]

View file

@ -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