michael-hoke commented on code in PR #117: URL: https://github.com/apache/daffodil-vscode/pull/117#discussion_r893728588
##########
language/syntaxes/dfdl.tmLanguage.json:
##########
@@ -0,0 +1,387 @@
+{
+ "information_for_contributors": [
+ "This file has been converted from
https://github.com/atom/language-xml/blob/master/grammars/xml.cson",
+ "If you want to provide a fix or improvement, please create a
pull request against the original repository.",
+ "Once accepted there, we are happy to receive an update
request."
+ ],
+ "version":
"https://github.com/atom/language-xml/commit/7bc75dfe779ad5b35d9bf4013d9181864358cb49",
+ "name": "dfdl",
+ "scopeName": "text.xml.dfdl.xsd",
+ "patterns": [
+ {
+ "begin": "(<\\?)\\s*([-_a-zA-Z0-9]+)",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "entity.name.tag.xml"
+ }
+ },
+ "end": "(\\?>)",
+ "name": "meta.tag.preprocessor.xml",
+ "patterns": [
+ {
+ "match": " ([a-zA-Z-]+)",
+ "name":
"entity.other.attribute-name.xml"
+ },
+ {
+ "include": "#doublequotedString"
+ },
+ {
+ "include": "#singlequotedString"
+ }
+ ]
+ },
+ {
+ "begin":
"(<!)(DOCTYPE)\\s+([:a-zA-Z_][:a-zA-Z0-9_.-]*)",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "keyword.other.doctype.xml"
+ },
+ "3": {
+ "name":
"variable.language.documentroot.xml"
+ }
+ },
+ "end": "\\s*(>)",
+ "name": "meta.tag.sgml.doctype.xml",
+ "patterns": [
+ {
+ "include": "#internalSubset"
+ }
+ ]
+ },
+ {
+ "include": "#comments"
+ },
+ {
+ "begin":
"(<)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(?=(\\s[^>]*)?></\\2>)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "entity.name.tag.xml"
+ },
+ "3": {
+ "name": "entity.name.tag.namespace.xml"
+ },
+ "4": {
+ "name":
"punctuation.separator.namespace.xml"
+ },
+ "5": {
+ "name": "entity.name.tag.localname.xml"
+ }
+ },
+ "end":
"(>)(</)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(>)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "3": {
+ "name": "entity.name.tag.xml"
+ },
+ "4": {
+ "name": "entity.name.tag.namespace.xml"
+ },
+ "5": {
+ "name":
"punctuation.separator.namespace.xml"
+ },
+ "6": {
+ "name": "entity.name.tag.localname.xml"
+ },
+ "7": {
+ "name": "punctuation.definition.tag.xml"
+ }
+ },
+ "name": "meta.tag.no-content.xml",
+ "patterns": [
+ {
+ "include": "#tagStuff"
+ }
+ ]
+ },
+ {
+ "begin": "(</?)(?:([-\\w\\.]+)((:)))?([-\\w\\.:]+)",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "entity.name.tag.namespace.xml"
+ },
+ "3": {
+ "name": "entity.name.tag.xml"
+ },
+ "4": {
+ "name":
"punctuation.separator.namespace.xml"
+ },
+ "5": {
+ "name": "entity.name.tag.localname.xml"
+ }
+ },
+ "end": "(/?>)",
+ "name": "meta.tag.xml",
+ "patterns": [
+ {
+ "include": "#tagStuff"
+ }
+ ]
+ },
+ {
+ "include": "#entity"
+ },
+ {
+ "include": "#bare-ampersand"
+ },
+ {
+ "begin": "<%@",
+ "beginCaptures": {
+ "0": {
+ "name":
"punctuation.section.embedded.begin.xml"
+ }
+ },
+ "end": "%>",
+ "endCaptures": {
+ "0": {
+ "name":
"punctuation.section.embedded.end.xml"
+ }
+ },
+ "name": "source.java-props.embedded.xml",
+ "patterns": [
+ {
+ "match": "page|include|taglib",
+ "name": "keyword.other.page-props.xml"
+ }
+ ]
+ },
+ {
+ "begin": "<%[!=]?(?!--)",
+ "beginCaptures": {
+ "0": {
+ "name":
"punctuation.section.embedded.begin.xml"
+ }
+ },
+ "end": "(?!--)%>",
+ "endCaptures": {
+ "0": {
+ "name":
"punctuation.section.embedded.end.xml"
+ }
+ },
+ "name": "source.java.embedded.xml",
+ "patterns": [
+ {
+ "include": "source.java"
+ }
+ ]
+ },
+ {
+ "begin": "<!\\[CDATA\\[",
+ "beginCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.begin.xml"
+ }
+ },
+ "end": "]]>",
+ "endCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.end.xml"
+ }
+ },
+ "name": "string.unquoted.cdata.xml"
+ }
+ ],
+ "repository": {
+ "EntityDecl": {
+ "begin":
"(<!)(ENTITY)\\s+(%\\s+)?([:a-zA-Z_][:a-zA-Z0-9_.-]*)(\\s+(?:SYSTEM|PUBLIC)\\s+)?",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.tag.xml"
+ },
+ "2": {
+ "name": "keyword.other.entity.xml"
+ },
+ "3": {
+ "name":
"punctuation.definition.entity.xml"
+ },
+ "4": {
+ "name": "variable.language.entity.xml"
+ },
+ "5": {
+ "name": "keyword.other.entitytype.xml"
+ }
+ },
+ "end": "(>)",
+ "patterns": [
+ {
+ "include": "#doublequotedString"
+ },
+ {
+ "include": "#singlequotedString"
+ }
+ ]
+ },
+ "bare-ampersand": {
+ "match": "&",
+ "name": "invalid.illegal.bad-ampersand.xml"
+ },
+ "doublequotedString": {
+ "begin": "(?<!\\}\\s*+)\"(?!\\s*+\\{)",
+ "beginCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.begin.xml"
+ }
+ },
+ "end": "\"",
+ "endCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.end.xml"
+ }
+ },
+ "name": "string.quoted.double.xml",
+ "patterns": [
+ {
+ "include": "#entity"
+ },
+ {
+ "include": "#bare-ampersand"
+ }
+ ]
+ },
+ "entity": {
+ "captures": {
+ "1": {
+ "name":
"punctuation.definition.constant.xml"
+ },
+ "3": {
+ "name":
"punctuation.definition.constant.xml"
+ }
+ },
+ "match":
"(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)",
+ "name": "constant.character.entity.xml"
+ },
+ "internalSubset": {
+ "begin": "(\\[)",
+ "captures": {
+ "1": {
+ "name":
"punctuation.definition.constant.xml"
+ }
+ },
+ "end": "(\\])",
+ "name": "meta.internalsubset.xml",
+ "patterns": [
+ {
+ "include": "#EntityDecl"
+ },
+ {
+ "include": "#parameterEntity"
+ },
+ {
+ "include": "#comments"
+ }
+ ]
+ },
+ "parameterEntity": {
+ "captures": {
+ "1": {
+ "name":
"punctuation.definition.constant.xml"
+ },
+ "3": {
+ "name":
"punctuation.definition.constant.xml"
+ }
+ },
+ "match": "(%)([:a-zA-Z_][:a-zA-Z0-9_.-]*)(;)",
+ "name": "constant.character.parameter-entity.xml"
+ },
+ "singlequotedString": {
+ "begin": "(?<!\\}\\s*+)'(?!\\s*+\\{)",
+ "beginCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.begin.xml"
+ }
+ },
+ "end": "'",
+ "endCaptures": {
+ "0": {
+ "name":
"punctuation.definition.string.end.xml"
+ }
+ },
+ "name": "string.quoted.single.xml",
+ "patterns": [
+ {
+ "include": "#entity"
+ },
+ {
+ "include": "#bare-ampersand"
+ }
+ ]
+ },
+ "tagStuff": {
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name":
"entity.other.attribute-name.namespace.xml"
+ },
+ "2": {
+ "name":
"entity.other.attribute-name.xml"
+ },
+ "3": {
+ "name":
"punctuation.separator.namespace.xml"
+ },
+ "4": {
+ "name":
"entity.other.attribute-name.localname.xml"
+ }
+ },
+ "match":
"(?:^|\\s+)(?:([-\\w.]+)((:)))?([-\\w.:]+)\\s*="
+ },
+ {
+ "include": "#doublequotedString"
+ },
+ {
+ "include": "#singlequotedString"
+ }
+ ]
+ },
+ "comments": {
+ "patterns": [
+ {
+ "begin": "<%--",
+ "captures": {
+ "0": {
+ "name":
"punctuation.definition.comment.xml"
+ },
+ "end": "--%>",
+ "name": "comment.block.xml"
+ }
+ },
+ {
+ "begin": "<!--",
+ "captures": {
+ "0": {
+ "name":
"punctuation.definition.comment.xml"
+ }
+ },
+ "end": "-->",
+ "name": "comment.block.xml",
+ "patterns": [
+ {
+ "begin": "--(?!>)",
+ "captures": {
+ "0": {
+ "name":
"invalid.illegal.bad-comments-or-CDATA.xml"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
Review Comment:
Didn't remember what it was, but I found it now - it was the regex for
figuring out when strings start/stop. That doesn't make a difference right now,
but when I go back and revisit the semantic highlighting changes, we are going
to need the changes.
Without the change, the semantic and syntactic highlighting both try to
highlight XPath inside of strings. What we want is to turn off the syntactic
highlighting for these XPath expressions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
