Mercurial > hg
comparison mcabber/contrib/vim/mcabber_log-syntax.vim @ 1853:32bceb73895c
Update Vim syntax script, add a ftdetect script
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 02 Apr 2010 16:46:48 +0200 |
parents | mcabber/contrib/mcabber_log.vim@95b4373a57a4 |
children | ca442ece1f70 |
comparison
equal
deleted
inserted
replaced
1852:057b514b1f12 | 1853:32bceb73895c |
---|---|
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-02 | |
6 | |
7 " Save this file as ~/.vim/syntax/mcabber_log.vim | |
8 " (and copy the ftdetect file as well) | |
9 " | |
10 " Logfile format: | |
11 " TT YYYYmmddTHH:MM:SSZ nnn Text (this line and the nnn following lines) | |
12 " TT is the data type | |
13 " 'YYYYmmddTHH:MM:SSZ' is a timestamp | |
14 " | |
15 " XXX Please help me to improve this syntax script! | |
16 | |
17 if exists("b:current_syntax") | |
18 finish | |
19 endif | |
20 | |
21 " All lines (except text continuation lines) contain the date and nnn | |
22 syn cluster mcabberlogEntry contains=mcabberlogDate,mcabberlognlines | |
23 | |
24 syn region mcabberlogStatusLine | |
25 \ start="^S[OFDNAI_] \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " | |
26 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" | |
27 \ contains=mcabberlogStatus,@mcabberlogEntry | |
28 | |
29 syn region mcabberlogMessageLineInfo | |
30 \ start="^MI \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " | |
31 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" | |
32 \ contains=mcabberlogMsgInfo,@mcabberlogEntry | |
33 syn region mcabberlogMessageLineIn | |
34 \ start="^MR \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " | |
35 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" | |
36 \ contains=mcabberlogMsgIn,@mcabberlogEntry | |
37 syn region mcabberlogMessageLineOut | |
38 \ start="^MS \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " | |
39 \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" | |
40 \ contains=mcabberlogMsgOut,@mcabberlogEntry | |
41 | |
42 syn match mcabberlogDate "\d\{8\}T\d\d:\d\d:\d\dZ" contained | |
43 \ contains=mcabberlogDateChar nextgroup=mcabberlognlines | |
44 syn match mcabberlogDateChar /[TZ]/ contained | |
45 | |
46 syn match mcabberlogStatus "^S[OFDNAI_]" | |
47 \ contained skipwhite nextgroup=@mcabberlogStatusLine | |
48 syn match mcabberlogMsgIn "^MR" contained skipwhite | |
49 \ nextgroup=@mcabberlogMessageLine | |
50 syn match mcabberlogMsgOut "^MS" contained skipwhite | |
51 \ nextgroup=@mcabberlogMessageLine | |
52 syn match mcabberlogMsgInfo "^MI" contained skipwhite | |
53 \ nextgroup=@mcabberlogMessageLine | |
54 | |
55 syn match mcabberlognlines "\<\d\{3\}\>" contained | |
56 | |
57 | |
58 command -nargs=+ HiLink hi def link <args> | |
59 | |
60 HiLink mcabberlogStatus PreProc | |
61 | |
62 HiLink mcabberlogMessageLineIn Keyword | |
63 HiLink mcabberlogMsgIn Keyword | |
64 | |
65 HiLink mcabberlogMessageLineOut Function | |
66 HiLink mcabberlogMsgOut Function | |
67 | |
68 HiLink mcabberlogMsgInfo String | |
69 HiLink mcabberlogMessageLineInfo String | |
70 | |
71 HiLink mcabberlogDate SpecialChar | |
72 HiLink mcabberlogDateChar Normal | |
73 | |
74 HiLink mcabberlognlines Normal | |
75 | |
76 HiLink mcabberlogStatusLine Comment | |
77 | |
78 delcommand HiLink | |
79 | |
80 let b:current_syntax = "mcabber_log" |