stevedlawrence commented on code in PR #117:
URL: https://github.com/apache/daffodil-vscode/pull/117#discussion_r893714741


##########
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:
   Thanks for the background.
   
   What changes were made to the tmLanguage file? dfdl.tmLanguage.json doesn't 
seem to have anything specific to DFDL that I can see.
   
   



-- 
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]

Reply via email to