diff --git a/syntax/log.vim b/syntax/log.vim index 6de402e..3e74997 100644 --- a/syntax/log.vim +++ b/syntax/log.vim @@ -61,13 +61,14 @@ syn match logFilePath '\/\w[^\n|,; ()'"]\+' " XML Tags "--------------------------------------------------------------------------- -syn match logXmlHeader // contains=logString,logXmlAttribute,logXmlNamespace +" Simplified matches, not accurate with the spec to avoid false positives +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 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 match logXmlAttribute contained "\(\n\|\s\)\(\(\w\|-\)\+:\)\?\(\w\|-\)\+\(=\)\?" contains=logXmlNamespace,logOperator +syn match logXmlNamespace contained "\(\w\|-\)\+:" contains=logOperator syn region logXmlComment start=// syn match logXmlCData // syn match logXmlEntity /\&\w\+;/