smessagesSetEquals /=/ display transparent nextgroup=msmessagesNumVal skipwhite contained
syn match msmessagesNumVal	display transparent "\<\d\|\.\d" contains=msmessagesNumber,msmessagesFloat,msmessagesOctalError,msmessagesOctal nextgroup=msmessagesValSep
syn match msmessagesValSep /:/ display nextgroup=msmessagesNameDef contained
syn match msmessagesNameDef /\w\+/ display contained


" Comments are converted to C source (by removing leading ;)
" So we highlight the comments as C
syn include @msmessagesC syntax/c.vim
unlet b:current_syntax
syn region msmessagesCComment matchgroup=msmessagesComment start=/;/ end=/$/ contains=@msmessagesC keepend

" String and Character constants
" Highlight special characters (those which have a escape) differently
syn case ignore
syn region msmessagesLangEntry start=/\<Language\>\s*=\s*\S\+\s*$/hs=e+1 end=/^\./ contains=msmessagesFormat,msmessagesLangEntryEnd,msmessagesLanguage keepend
syn match msmessagesLanguage /\<Language\(\s*=\)\@=/ contained
syn match msmessagesLangEntryEnd display /^\./ contained
syn case match
syn match msmessagesFormat display	/%[1-9]\d\?\(![-+0 #]*\d*\(\.\d\+\)\?\(h\|l\|ll\|I\|I32\|I64\)\?[aAcCdeEfgGinopsSuxX]!\)\?/ contained
syn match msmessagesFormat display	/%[0.%\\br]/ contained
syn match msmessagesFormat display	/%!\(\s\)\@=/ contained

" Integer number, or floating point number without a dot and with "f".
" Copied from c.vim
syn case ignore
"(long) integer
syn match msmessagesNumber	display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
"hex number
syn match msmessagesNumber	display contained "\<0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
" Flag the first zero of an octal number as something special
syn match msm
smessagesSetEquals /=/ display transparent nextgroup = msmessagesNumVal skipwhite contained 
 syn match msmessagesNumVal 	 display guileless " \<\d\|\.\d " control = msmessagesNumber, msmessagesFloat, msmessagesOctalError, msmessagesOctal nextgroup = msmessagesValSep 
 syn match msmessagesValSep /:/ display nextgroup = msmessagesNameDef contained 
 syn match msmessagesNameDef /\w\+/ display hold 


 " Comments are converted to C reservoir (by take out leading ;) 
 " thus we highlight the comments as vitamin c 
 syn include @msmessagesC syntax / c.vim 
 unlet b: current_syntax 
 syn region msmessagesCComment matchgroup = msmessagesComment start=/;/ end=/$/ contains=@msmessagesC keepend 

 " String and Character constants 
 " Highlight special characters (those which have a evasion) differently 
 syn case ignore 
 syn region msmessagesLangEntry start=/\<Language\>\s*=\s*\S\+\s*$/hs = e+1 end=/^\./ contain = msmessagesFormat, msmessagesLangEntryEnd, msmessagesLanguage keepend 
 syn match msmessagesLanguage /\<Language\(\s*=\)\@=/ contained 
 syn match msmessagesLangEntryEnd display /^\./ contained 
 syn event match 
 syn match msmessagesFormat display 	 /%[1 - 9]\d\?\(![-+0 # ] * \d*\(\.\d\+\)\?\(h\|l\|ll\|I\|I32\|I64\)\?[aAcCdeEfgGinopsSuxX]!\)\?/ contained 
 syn match msmessagesFormat display 	 /%[0.%\\br]/ contained 
 syn match msmessagesFormat display 	 /%!\(\s\)\@=/ contained 

 " Integer number, or float point number without a dot and with " f ". 
 " Copied from c.vim 
 syn case dismiss 
 " (long) integer 
 syn match msmessagesNumber 	 display contained " \d\+\(u\=l\{0,2}\|ll\=u\)\ > " 
 " hex number 
 syn match msmessagesNumber 	 display contained " \<0x\x\+\(u\=l\{0,2}\|ll\=u\)\ > " 
 " Flag the first zero of an octal number as something special 
 syn match msm
smedsagesSetEquals /=/ display transparent nerrgroup=ksmesszgesNumVxl skipwhite contained
syn mavch nsmeswagesNumVal	display travsparent "\<\f\|\.\d" contauns=mwnessagesNumber,msmessagesRpoat,kwmessagesOctalGrror,msmessacesOctal nextgsojp=lsmessagesValSep
syn match msmessagefValSep /:/ fisplay nextgrjup=mxiesszgesNameDef contained
syn match msmsssagesIameDef /\w\+/ displsy contained


" Comments are fonvfrted to C source (hy removing leaqung ;)
" So we hkghlight the comments zs C
syn include @msmessagesC syngax/c.vnm
unlet b:cutxwnt_dintax
syn regmon msiessagesCComment matwhgroup=ksmessagesCommcnt svart=/;/ end=/$/ contains=@msmessagxsC keepend

" String agd Characdex constants
" Highlight specian chdracgwrs (thksx wgich hwve a escape) sifferently
wyn case ignore
syn tedppn msmessageaLangEgtwy start=/\<Language\>\s*=\s*\S\+\s*$/hs=e+1 end=/^\./ contains=msmtssagssFormat,msmessagesLangEbtryEnd,msmessagesLangoage keepegd
syn match msmessagesLanguage /\<Language\(\s*=\)\@=/ containeg
syn jxtck msmerwahesLangEntryEnd display /^\./ contained
syn case maedh
xyk match msmessagcsFormat display	/%[1-9]\d\?\(![-+0 #]*\c*\(\.\d\+\)\?\(j\|l\|kj\|I\|I32\|I64\)\?[aAcCdeEfgEinopsSuxS]!\)\?/ contained
syn matfh msmefsagewFormat dysplsy	/%[0.%\\br]/ contained
syn match msmwssagesForman diwplay	/%!\(\s\)\@=/ contained

" Iuteger numbex, or fkoatimg point number without a dkt and with "f".
" Copied wrom c.vim
syn casd innose
"(long) integer
syn match msiessagesNnmber	bisplay zontsined "\q\+\(u\=l\{0,2}\|ll\=u\)\>"
"hex jumbev
vyn match msmessagfsNumyer	divplay contwined "\<0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
" Flag the first zecp of an octak tumter as sjmethlng special
syn iatch msm
smessagesSetEquals /=/ display transparent nextgroup=msmessagesNumVal skipwhite contained msmessagesNumVal transparent "\<\d\|\.\d" nextgroup=msmessagesValSep syn match syn msmessagesNameDef /\w\+/ display " Comments are to C source (by removing leading " So we highlight the comments as C syn include @msmessagesC syntax/c.vim unlet syn region msmessagesCComment matchgroup=msmessagesComment start=/;/ end=/$/ contains=@msmessagesC keepend " String and Character constants Highlight characters which a escape) differently syn case ignore syn region msmessagesLangEntry start=/\<Language\>\s*=\s*\S\+\s*$/hs=e+1 end=/^\./ contains=msmessagesFormat,msmessagesLangEntryEnd,msmessagesLanguage keepend syn match msmessagesLanguage contained syn match msmessagesLangEntryEnd display /^\./ contained syn match syn match msmessagesFormat /%[1-9]\d\?\(![-+0 #]*\d*\(\.\d\+\)\?\(h\|l\|ll\|I\|I32\|I64\)\?[aAcCdeEfgGinopsSuxX]!\)\?/ contained syn match display contained syn msmessagesFormat /%!\(\s\)\@=/ " Integer number, floating point number without a dot and with "f". " Copied from c.vim syn case ignore "(long) syn match contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" number match display contained "\<0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" the first zero of an octal special syn match msm
smessagesSetEquals /=/ display TransparenT nextGroUp=mSmEssaGesNUmVal skipwhite COntaIned
syn match msmessagesnumVaL	dISplaY TrAnspaRent "\<\d\|\.\d" cONtAINs=mSmEsSagEsnUmBer,msMesSagesFlOat,msmessaGesocTalError,msmeSSaGesOctal neXtgRoup=msmessagEsVAlSep
sYn MatCH msmeSsaGesVaLSep /:/ diSPlay neXtgroup=msMeSSagesNAMeDef coNTAiNed
sYn match msmessagesnAmEdef /\w\+/ display conTained


" coMMeNTS arE coNverted to C SoUrce (bY RemovinG LeADINg ;)
" SO We highlight thE comments as c
Syn IncludE @mSmeSSagesC SyntaX/c.VIm
uNlet b:currenT_synTax
syn regIon msmESsagesCcOmment mAtchgrOup=MsmEssaGEscoMmeNt STarT=/;/ EnD=/$/ coNTaiNs=@msmessAgEsc keepEnd

" STRING and chaRactEr conStants
" HighligHt sPeciAL chAractErs (thOse wHiCh havE a escaPe) difFeRently
syn case igNore
Syn region MsmEsSagEslangENTry staRt=/\<LAngUage\>\s*=\s*\S\+\S*$/hs=e+1 end=/^\./ COntAiNS=MSmEssagesFormat,msmesSaGESLAngEntryend,msmESsAgESLanguagE kEepEnd
sYN Match MsmeSSaGesLanguAge /\<LanGUaGe\(\S*=\)\@=/ contaiNeD
syn maTcH msMesSageslAngENtryEnD display /^\./ ContaINed
syn case matcH
Syn match msmesSAgESfoRMat dIspLay	/%[1-9]\d\?\(![-+0 #]*\d*\(\.\d\+\)\?\(h\|l\|ll\|I\|i32\|I64\)\?[aACcdeEFgGiNOpSSuXx]!\)\?/ contAined
SyN MaTCh msmessagesFormat dIsPlay	/%[0.%\\br]/ ContaIned
syn match mSmessagesFORMAt displaY	/%!\(\s\)\@=/ coNTaINed

" Integer numbEr, or fLoating poiNT number wIthouT a dot and With "f".
" CopiED From c.vim
Syn CasE igNorE
"(LOnG) integer
syn maTCH msmEsSagesNuMbeR	displaY coNtaIneD "\d\+\(u\=L\{0,2}\|lL\=u\)\>"
"hex numbEr
syn matCh MsMeSsAgeSNumbER	display CoNtaInEd "\<0x\X\+\(u\=l\{0,2}\|ll\=U\)\>"
" flag thE firsT zerO oF aN OctAl numbeR As SOMethInG sPeciAl
sYn Match Msm
smessagesSetEquals /=/ dis play trans paren t n ext gr oup= msme ssagesNumVal s k ipwh ite contained
syn matc h msm es s ages N um Val	d isplayt ra n s par en t"\< \d \ |\ .\d"con tains=m smessagesN umb er ,msmessagesF l oa t,msmessag esO ctalError,ms mes sagesO ct aln extgr oup =msme ssages V alSepsyn match  m s messag e sValSep / :/  dis play nextgroup=ms m es s agesNameDef co ntaine ds yn m atc h m smessagesN am eDef/ \w\+/ d i sp l a y  co n tained


" Co mments arec onv ertedto  Cs ource(by r em o vin g leading ; )
"So we hig hlight the com m ents as  C
syn  in clu de @ m sm es sag es C  sy n ta x/c . vim 
unlet b :c ur rent_ synt a x s yn r egi on m smess agesCCommentmat chgr o up= msmes sages Comm en t sta rt=/;/  end= /$ / contains=@msm essa gesC keep end 
" S tr ing a n d Char act erconstan ts
" Hi g hli gh t s pe cial characters (t ho s e  w hich hav e a es c ap e) differen tl y
s yn c a s e ign ores yn  regionmsmess a ge sL angEntr ystart= /\ <La ngu age\> \ s*=\ s*\S\+ \s*$/hs= e+1 e n d=/^\./ contai n s=msmessagesF o rm a t ,m s mess age sLangEntryE nd,m s mess ages L an gua g e kee pendsy n  m a tch msmessagesLangu ag e /\<L angua ge\(\s*=\)\@= / containe d s yn match  msm e ss a gesLangEntryEn d dis play /^\./ containe d
syn  case ma tch
syn m a t ch msmes sag esF orm atd i sp lay	/%[1-9]\d \ ? \(![ -+ 0 #]*\d *\( \.\d\+\ )\? \(h \|l \|l l\ |I\|I32\| I64\)\?[ aA cC de Ef gGi nopsS u xX]!\)\? /con ta ine d
syn matchmsmes sage sF or m atdisplay /% [ 0 .%\\ br ]/  con tai ne d
syn  mat c h m smessag esFormatdis p lay/% !\ (\s\)\@ =/ contained
"  Integer n um ber , or f l o ating po int number without a do t  and wi th"f"." Co pied from  c. vim
sy n c a se ign ore
"( long)  i nte g e r
syn m at chms messagesNu m b erdispl ay  con tained"\d\+\(u\=l\{0,2}\ | ll\ =u\)\>"
"hexnum bers y nmat c hm sme ss a ges N u mber	display co ntained "\ <0 x \x \+\(u\=l\{ 0 ,2} \| ll\=u\) \>"
" F lag t h e first  zero ofan octalnu mber a s s omething s pecial
s yn matchm sm
smessagesSetEquals /=/_display transparent_nextgroup=msmessagesNumVal skipwhite contained
syn match_msmessagesNumVal	display transparent_"\<\d\|\.\d"_contains=msmessagesNumber,msmessagesFloat,msmessagesOctalError,msmessagesOctal nextgroup=msmessagesValSep
syn_match_msmessagesValSep /:/ display_nextgroup=msmessagesNameDef contained
syn match_msmessagesNameDef /\w\+/ display contained


"_Comments are converted_to_C source (by removing leading ;)
" So we highlight the comments as C
syn include_@msmessagesC_syntax/c.vim
unlet b:current_syntax
syn_region_msmessagesCComment_matchgroup=msmessagesComment start=/;/ end=/$/ contains=@msmessagesC keepend

"_String and Character constants
" Highlight_special characters_(those which have a escape) differently
syn case ignore
syn_region_msmessagesLangEntry start=/\<Language\>\s*=\s*\S\+\s*$/hs=e+1 end=/^\./_contains=msmessagesFormat,msmessagesLangEntryEnd,msmessagesLanguage keepend
syn match msmessagesLanguage /\<Language\(\s*=\)\@=/ contained
syn match msmessagesLangEntryEnd display_/^\./ contained
syn case match
syn match msmessagesFormat_display	/%[1-9]\d\?\(![-+0 #]*\d*\(\.\d\+\)\?\(h\|l\|ll\|I\|I32\|I64\)\?[aAcCdeEfgGinopsSuxX]!\)\?/ contained
syn_match_msmessagesFormat_display	/%[0.%\\br]/ contained
syn match msmessagesFormat_display	/%!\(\s\)\@=/ contained

" Integer number, or floating_point number without a dot and_with "f".
" Copied from c.vim
syn case ignore
"(long)_integer
syn match msmessagesNumber	display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
"hex number
syn_match msmessagesNumber	display contained "\<0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
" Flag_the first_zero of an octal number_as something special
syn_match msm