Mercurial > ~mikael > mcabber > hg
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" |