From e44435b6ba03050fe0f83be2dd23aba585153a46 Mon Sep 17 00:00:00 2001 From: MTDL9 <40929090+MTDL9@users.noreply.github.com> Date: Wed, 11 Jul 2018 08:30:44 +0200 Subject: [PATCH] Added separate syntax highlighting inside XML tags --- syntax/log.vim | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/syntax/log.vim b/syntax/log.vim index 49ab836..f95eed6 100644 --- a/syntax/log.vim +++ b/syntax/log.vim @@ -61,12 +61,15 @@ syn match logFilePath '\/\w[^\n|,; ()'"]\+' " XML Tags "--------------------------------------------------------------------------- -" TODO: Highlight attributes and symbols inside tags differently -" TODO: Consider matching multiline tags -syn match logXmlHeader ## -syn match logXmlTag #<\/\?\(\w\+:\)\?\w\+\(\s\+\w\+\(="[^"]*"\|="[^"]*"\)\?\)*\s*\/\?># -syn match logXmlComment '' -syn match logXmlCData '' +syn match logXmlHeader // contains=logString,logXmlAttribute,logXmlNamespace +syn match logXmlDoctype /]*>/ contains=logString,logXmlAttribute,logXmlNamespace + +syn match logXmlTag /<\/\?\(\w\+:\)\?\w\+\(\(\n\|\s\)\+\(\w\+:\)\?\w\+\(="[^"]*"\|="[^"]*"\)\?\)*\s*\/\?>/ contains=logString,logXmlAttribute,logXmlNamespace +syn match logXmlAttribute contained "\w\+=" contains=logOperator +syn match logXmlAttribute contained "\(\n\|\s\)\(\w\+:\)\?\w\+" contains=logXmlNamespace,logOperator +syn match logXmlNamespace contained "\w\+:" contains=logOperator +syn region logXmlComment start=// +syn match logXmlCData // " Levels @@ -102,7 +105,10 @@ hi def link logMacAddress Label hi def link logFilePath Conditional hi def link logXmlHeader Function -hi def link logXmlTag Special +hi def link logXmlDoctype Function +hi def link logXmlTag Identifier +hi def link logXmlAttribute Type +hi def link logXmlNamespace Include hi def link logXmlComment Comment hi def link logXmlCData String