{ "scopeName": "source.uxml.unity", "name": "UnityUXML", "patterns": [ { "begin": "(<\\?)\\s*([-_a-zA-Z0-9]+)", "captures": { "1": { "name": "punctuation.definition.tag.uxml" }, "2": { "name": "entity.name.tag.uxml" } }, "end": "(\\?>)", "name": "meta.tag.preprocessor.uxml", "patterns": [ { "match": " ([a-zA-Z-]+)", "name": "entity.other.attribute-name.uxml" }, { "include": "#doublequotedString" }, { "include": "#singlequotedString" } ] }, { "begin": "()", "name": "meta.tag.sgml.doctype.uxml", "patterns": [ { "include": "#internalSubset" } ] }, { "include": "#comments" }, { "begin": "(<)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(?=(\\s[^>]*)?>)", "beginCaptures": { "1": { "name": "punctuation.definition.tag.uxml" }, "2": { "name": "entity.name.tag.uxml" }, "3": { "name": "entity.name.tag.namespace.uxml" }, "4": { "name": "punctuation.separator.namespace.uxml" }, "5": { "name": "entity.name.tag.localname.uxml" } }, "end": "(>)()", "endCaptures": { "1": { "name": "punctuation.definition.tag.uxml" }, "2": { "name": "punctuation.definition.tag.uxml" }, "3": { "name": "entity.name.tag.uxml" }, "4": { "name": "entity.name.tag.namespace.uxml" }, "5": { "name": "punctuation.separator.namespace.uxml" }, "6": { "name": "entity.name.tag.localname.uxml" }, "7": { "name": "punctuation.definition.tag.uxml" } }, "name": "meta.tag.no-content.uxml", "patterns": [ { "include": "#tagStuff" } ] }, { "begin": "()", "name": "meta.tag.uxml", "patterns": [ { "include": "#tagStuff" } ] }, { "include": "#entity" }, { "include": "#bare-ampersand" }, { "begin": "<%@", "beginCaptures": { "0": { "name": "punctuation.section.embedded.begin.uxml" } }, "end": "%>", "endCaptures": { "0": { "name": "punctuation.section.embedded.end.uxml" } }, "name": "source.java-props.embedded.uxml", "patterns": [ { "match": "page|include|taglib", "name": "keyword.other.page-props.uxml" } ] }, { "begin": "<%[!=]?(?!--)", "beginCaptures": { "0": { "name": "punctuation.section.embedded.begin.uxml" } }, "end": "(?!--)%>", "endCaptures": { "0": { "name": "punctuation.section.embedded.end.uxml" } }, "name": "source.java.embedded.uxml", "patterns": [ { "include": "source.java" } ] }, { "begin": "", "endCaptures": { "0": { "name": "punctuation.definition.string.end.uxml" } }, "name": "string.unquoted.cdata.uxml" } ], "repository": { "EntityDecl": { "begin": "()", "patterns": [ { "include": "#doublequotedString" }, { "include": "#singlequotedString" } ] }, "bare-ampersand": { "match": "&", "name": "invalid.illegal.bad-ampersand.uxml" }, "doublequotedString": { "begin": "\"", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.uxml" } }, "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.uxml" } }, "name": "string.quoted.double.uxml", "patterns": [ { "include": "#entity" }, { "include": "#bare-ampersand" } ] }, "entity": { "captures": { "1": { "name": "punctuation.definition.constant.uxml" }, "3": { "name": "punctuation.definition.constant.uxml" } }, "match": "(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)", "name": "constant.character.entity.uxml" }, "internalSubset": { "begin": "(\\[)", "captures": { "1": { "name": "punctuation.definition.constant.uxml" } }, "end": "(\\])", "name": "meta.internalsubset.uxml", "patterns": [ { "include": "#EntityDecl" }, { "include": "#parameterEntity" }, { "include": "#comments" } ] }, "parameterEntity": { "captures": { "1": { "name": "punctuation.definition.constant.uxml" }, "3": { "name": "punctuation.definition.constant.uxml" } }, "match": "(%)([:a-zA-Z_][:a-zA-Z0-9_.-]*)(;)", "name": "constant.character.parameter-entity.uxml" }, "singlequotedString": { "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.uxml" } }, "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.string.end.uxml" } }, "name": "string.quoted.single.uxml", "patterns": [ { "include": "#entity" }, { "include": "#bare-ampersand" } ] }, "tagStuff": { "patterns": [ { "captures": { "1": { "name": "entity.other.attribute-name.namespace.uxml" }, "2": { "name": "entity.other.attribute-name.uxml" }, "3": { "name": "punctuation.separator.namespace.uxml" }, "4": { "name": "entity.other.attribute-name.localname.uxml" } }, "match": "(?:^|\\s+)(?:([-\\w.]+)((:)))?([-\\w.:]+)=" }, { "include": "#doublequotedString" }, { "include": "#singlequotedString" } ] }, "comments": { "begin": "<[!%]--", "captures": { "0": { "name": "punctuation.definition.comment.uxml" } }, "end": "--%?>", "name": "comment.block.uxml" } } }