# HG changeset patch # User Mikael Berthe # Date 1270219608 -7200 # Node ID 32bceb73895cc93617f9b36974739b5d9b4b1a53 # Parent 057b514b1f12a9a55d0409bbca44055537574b3f Update Vim syntax script, add a ftdetect script diff -r 057b514b1f12 -r 32bceb73895c mcabber/contrib/mcabber_log.vim --- a/mcabber/contrib/mcabber_log.vim Thu Apr 01 21:12:56 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -" Vim syntax file -" Language: MCabber log file -" Maintainer: Mikael BERTHE -" URL: Included in mcabber source package -" Last Change: 2010-04-01 - -" Place this file as ~/.vim/syntax/mcabber_log.vim -" and add the following line to ~/.vimrc -" -" au BufRead */.mcabber/histo/* setfiletype mcabber_log -" -" Logfile format: -" TT YYYYmmddTHH:MM:SSZ nnn Text (this line and the nnn following lines) -" TT is the data type -" 'YYYYmmddTHH:MM:SSZ' is a timestamp -" -" XXX Please help me to improve this syntax script! - -if exists("b:current_syntax") - finish -endif - -syn cluster mcabberlogStatEntry contains=mcabberlogStatus,mcabberlogDate -syn cluster mcabberlogMsgEntry contains=mcabberlogMsgIn,mcabberlogMsgOut,mcabberlogDate - -syn region mcabberlogStatusLine - \ start="^S[OFDNAI_] \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) " - \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@=" - \ contains=mcabberlogStatus,mcabberlogDate,mcabberlognlines -syn region mcabberlogMessageLineInfo - \ start="^MI \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) " - \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@=" - \ contains=mcabberlogMsgInfo,mcabberlogDate,mcabberlognlines -syn region mcabberlogMessageLineIn - \ start="^MR \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) " - \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@=" - \ contains=mcabberlogMsgIn,mcabberlogDate,mcabberlognlines - -syn region mcabberlogMessageLineOut - \ start="^MS \d\{8\}T\d\d:\d\d:\d\dZ \(\d\{3\}\) " - \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\{3} \|\%$\)\@=" - \ contains=mcabberlogMsgOut,mcabberlogDate,mcabberlognlines - -syn match mcabberlogDate /\d\{8\}T\d\d:\d\d:\d\dZ/ contained contains=mcabberlogDateChar nextgroup=mcabberlognlines -syn match mcabberlogDateChar /[TZ]/ contained - -syn match mcabberlogStatus /^S[OFDNAI_]/ contained skipwhite nextgroup=@mcabberlogStatusLine -syn match mcabberlogMsgIn /^MR/ contained skipwhite nextgroup=@mcabberlogMessageLine -syn match mcabberlogMsgOut /^MS/ contained skipwhite nextgroup=@mcabberlogMessageLine -syn match mcabberlogMsgInfo /^MI/ contained skipwhite nextgroup=@mcabberlogMessageLine - -syn match mcabberlognlines /\<\d\{3\}\>/ contained - - -command -nargs=+ HiLink hi def link - -HiLink mcabberlogStatus PreProc - -HiLink mcabberlogMessageLineIn Keyword -HiLink mcabberlogMsgIn Keyword - -HiLink mcabberlogMessageLineOut Function -HiLink mcabberlogMsgOut Function - -HiLink mcabberlogMsgInfo String -HiLink mcabberlogMessageLineInfo String - -HiLink mcabberlogDate SpecialChar -HiLink mcabberlogDateChar Normal - -HiLink mcabberlognlines Normal - -HiLink mcabberlogStatusLine Comment - -delcommand HiLink - -let b:current_syntax = "mcabber_log" diff -r 057b514b1f12 -r 32bceb73895c mcabber/contrib/vim/mcabber_log-ftdetect.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/contrib/vim/mcabber_log-ftdetect.vim Fri Apr 02 16:46:48 2010 +0200 @@ -0,0 +1,10 @@ +" +" Save this file in your ~/.vim/ftdetect/ folder + +function MCabber_log_ftdetect() + if getline(1) =~ '^\u. \d\{8}T\d\d:\d\d:\d\dZ \d\{3} ' + setfiletype mcabber_log + endif +endfunction + +autocmd BufRead */*mcabber/histo/* call MCabber_log_ftdetect() diff -r 057b514b1f12 -r 32bceb73895c mcabber/contrib/vim/mcabber_log-syntax.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/contrib/vim/mcabber_log-syntax.vim Fri Apr 02 16:46:48 2010 +0200 @@ -0,0 +1,80 @@ +" Vim syntax file +" Language: MCabber log file +" Maintainer: Mikael BERTHE +" URL: Included in mcabber source package +" Last Change: 2010-04-02 + +" Save this file as ~/.vim/syntax/mcabber_log.vim +" (and copy the ftdetect file as well) +" +" Logfile format: +" TT YYYYmmddTHH:MM:SSZ nnn Text (this line and the nnn following lines) +" TT is the data type +" 'YYYYmmddTHH:MM:SSZ' is a timestamp +" +" XXX Please help me to improve this syntax script! + +if exists("b:current_syntax") + finish +endif + +" All lines (except text continuation lines) contain the date and nnn +syn cluster mcabberlogEntry contains=mcabberlogDate,mcabberlognlines + +syn region mcabberlogStatusLine + \ start="^S[OFDNAI_] \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " + \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" + \ contains=mcabberlogStatus,@mcabberlogEntry + +syn region mcabberlogMessageLineInfo + \ start="^MI \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " + \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" + \ contains=mcabberlogMsgInfo,@mcabberlogEntry +syn region mcabberlogMessageLineIn + \ start="^MR \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " + \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" + \ contains=mcabberlogMsgIn,@mcabberlogEntry +syn region mcabberlogMessageLineOut + \ start="^MS \d\{8\}T\d\d:\d\d:\d\dZ \d\d\d " + \ end="\(\_^[MS][RSIOFDNAI_] \d\{8}T.\{8}Z \d\d\d \|\%$\)\@=" + \ contains=mcabberlogMsgOut,@mcabberlogEntry + +syn match mcabberlogDate "\d\{8\}T\d\d:\d\d:\d\dZ" contained + \ contains=mcabberlogDateChar nextgroup=mcabberlognlines +syn match mcabberlogDateChar /[TZ]/ contained + +syn match mcabberlogStatus "^S[OFDNAI_]" + \ contained skipwhite nextgroup=@mcabberlogStatusLine +syn match mcabberlogMsgIn "^MR" contained skipwhite + \ nextgroup=@mcabberlogMessageLine +syn match mcabberlogMsgOut "^MS" contained skipwhite + \ nextgroup=@mcabberlogMessageLine +syn match mcabberlogMsgInfo "^MI" contained skipwhite + \ nextgroup=@mcabberlogMessageLine + +syn match mcabberlognlines "\<\d\{3\}\>" contained + + +command -nargs=+ HiLink hi def link + +HiLink mcabberlogStatus PreProc + +HiLink mcabberlogMessageLineIn Keyword +HiLink mcabberlogMsgIn Keyword + +HiLink mcabberlogMessageLineOut Function +HiLink mcabberlogMsgOut Function + +HiLink mcabberlogMsgInfo String +HiLink mcabberlogMessageLineInfo String + +HiLink mcabberlogDate SpecialChar +HiLink mcabberlogDateChar Normal + +HiLink mcabberlognlines Normal + +HiLink mcabberlogStatusLine Comment + +delcommand HiLink + +let b:current_syntax = "mcabber_log"