{"name":"JSONiq","scopeName":"source.jq","patterns":[{"begin":"^(?=xquery\\s+version\\s+)","end":"\\z","patterns":[{"include":"source.xq"}]},{"name":"constant.jsoniq","begin":"\\(#","end":"#\\)"},{"name":"comment.doc.jsoniq","begin":"\\(:~","end":":\\)","patterns":[{"name":"constant.language.jsoniq","match":"@[a-zA-Z0-9_\\.\\-]+"}]},{"include":"#XMLComment"},{"include":"#CDATA"},{"include":"#PredefinedEntityRef"},{"include":"#CharRef"},{"name":"comment.jsoniq","begin":"\u003c\\?","end":"\\?\u003e"},{"name":"comment.jsoniq","begin":"\\(:","end":":\\)"},{"name":"string.jsoniq","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.jsoniq","match":"(?x:                # turn on extended mode\n                     \\\\                # a literal backslash\n                     (?:               # ...followed by...\n                       [\"\\\\/bfnrt]     # one of these characters\n                       |               # ...or...\n                       u               # a u\n                       [0-9a-fA-F]{4}  # and four hex digits\n                     )\n                   )"},{"name":"invalid.illegal.unrecognized-string-escape.jsoniq","match":"\\\\."}]},{"name":"meta.declaration.annotation.jsoniq","match":"%([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*)"},{"name":"support.type.jsoniq","match":"@(\\* | ([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*))"},{"name":"meta.definition.variable.name.jsoniq","match":"\\$([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)"},{"name":"constant.numeric.jsoniq","match":"\\b(\\.[0-9]+|[0-9]+(\\.[0-9]*)?)[Ee][+#x002D]?[0-9]+\\b"},{"name":"constant.numeric.jsoniq","match":"\\b(\\.[0-9]+|[0-9]+\\.[0-9]*)\\b"},{"name":"constant.numeric.jsoniq","match":"\\b[0-9]+\\b"},{"name":"keyword.jsoniq","match":"\\b(NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit)(?!(:|\\-))\\b"},{"name":"support.function.jsoniq","match":"([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)(?=\\s*\\()"},{"name":"lparen.jsoniq","match":"\\("},{"name":"rparent.jsoniq","match":"\\)"},{"include":"#OpenTag"},{"include":"#CloseTag"}],"repository":{"CDATA":{"name":"constant.language.jsoniq","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e"},"CharRef":{"name":"constant.language.escape.jsoniq","match":"\u0026#([0-9]+|x[0-9A-Fa-f]+);"},"CloseTag":{"name":"punctuation.definition.tag.jsoniq","match":"\u003c\\/([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)\\s*\u003e"},"EnclosedExpr":{"name":"source.jq","begin":"{","end":"}","patterns":[{"include":"$self"}]},"OpenTag":{"name":"punctuation.definition.tag.jsoniq","begin":"\u003c([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)","end":"(\\/\u003e|\u003e)","patterns":[{"name":"entity.other.attribute-name.jsoniq","match":"([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)"},{"name":"source.jq","match":"="},{"name":"string.jsoniq","begin":"'","end":"'(?!')","patterns":[{"name":"constant.jsoniq","match":"''"},{"include":"#PredefinedEntityRef"},{"include":"#CharRef"},{"name":"constant.jsoniq","match":"({{|}})"},{"include":"#EnclosedExpr"}]},{"name":"string.jsoniq","begin":"\"","end":"\"(?!\")","patterns":[{"name":"constant.jsoniq","match":"\"\""},{"include":"#PredefinedEntityRef"},{"include":"#CharRef"},{"name":"string.jsoniq","match":"({{|}})"},{"include":"#EnclosedExpr"}]}]},"PredefinedEntityRef":{"name":"constant.language.escape.jsoniq","match":"\u0026(lt|gt|amp|quot|apos);"},"XMLComment":{"name":"comment.jsoniq","begin":"\u003c!--","end":"--\u003e"}}}
