comparison mcabber/contrib/mcabber_log.vim @ 1851:95b4373a57a4

Add Vim color syntax file
author Mikael Berthe <mikael@lilotux.net>
date Thu, 01 Apr 2010 21:08:07 +0200
parents
children
comparison
equal deleted inserted replaced
1850:8d7810f529db 1851:95b4373a57a4
1 " Vim syntax file
2 " Language: MCabber log file
3 " Maintainer: Mikael BERTHE <mikael.berthe@lilotux.net>
4 " URL: Included in mcabber source package <http://mcabber.com>
5 " Last Change: 2010-04-01
6
7 " Place this file as ~/.vim/syntax/mcabber_log.vim
8 " and add the following line to ~/.vimrc
9 "
10 " au BufRead */.mcabber/histo/* setfiletype mcabber_log
11 "
12 " Logfile format:
13 " TT YYYYmmddTHH:MM:SSZ nnn Text (this line and the nnn following lines)
14 " TT is the data type
15 " 'YYYYmmddTHH:MM:SSZ' is a timestamp
16 "
17 " XXX Please help me to improve this syntax script!
18
19 if exists("b:current_syntax")
20 finish
21 endif
22
23 syn cluster mcabberlogStatEntry contains=mcabberlogStatus,mcabberlogDate
24 syn cluster mcabberlogMsgEntry contains=mcabberlogMsgIn,mcabberlogMsgOut,mcabberlogDate
25
26 syn region mcabberlogStatusLine
27 \ start="^S[OFDNAI_] \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) "
28 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@="
29 \ contains=mcabberlogStatus,mcabberlogDate,mcabberlognlines
30 syn region mcabberlogMessageLineInfo
31 \ start="^MI \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) "
32 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@="
33 \ contains=mcabberlogMsgInfo,mcabberlogDate,mcabberlognlines
34 syn region mcabberlogMessageLineIn
35 \ start="^MR \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) "
36 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@="
37 \ contains=mcabberlogMsgIn,mcabberlogDate,mcabberlognlines
38
39 syn region mcabberlogMessageLineOut
40 \ start="^MS \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) "
41 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@="
42 \ contains=mcabberlogMsgOut,mcabberlogDate,mcabberlognlines
43
44 syn match mcabberlogDate /\d\{8\}T\d\d:\d\d:\d\dZ/ contained contains=mcabberlogDateChar nextgroup=mcabberlognlines
45 syn match mcabberlogDateChar /[TZ]/ contained
46
47 syn match mcabberlogStatus /^S[OFDNAI_]/ contained skipwhite nextgroup=@mcabberlogStatusLine
48 syn match mcabberlogMsgIn /^MR/ contained skipwhite nextgroup=@mcabberlogMessageLine
49 syn match mcabberlogMsgOut /^MS/ contained skipwhite nextgroup=@mcabberlogMessageLine
50 syn match mcabberlogMsgInfo /^MI/ contained skipwhite nextgroup=@mcabberlogMessageLine
51
52 syn match mcabberlognlines /\<\d\{3\}\>/ contained
53
54
55 command -nargs=+ HiLink hi def link <args>
56
57 HiLink mcabberlogStatus PreProc
58
59 HiLink mcabberlogMessageLineIn Keyword
60 HiLink mcabberlogMsgIn Keyword
61
62 HiLink mcabberlogMessageLineOut Function
63 HiLink mcabberlogMsgOut Function
64
65 HiLink mcabberlogMsgInfo String
66 HiLink mcabberlogMessageLineInfo String
67
68 HiLink mcabberlogDate SpecialChar
69 HiLink mcabberlogDateChar Normal
70
71 HiLink mcabberlognlines Normal
72
73 HiLink mcabberlogStatusLine Comment
74
75 delcommand HiLink
76
77 let b:current_syntax = "mcabber_log"