grammars/text.cfml.basic.json in github-linguist-7.11.1 vs grammars/text.cfml.basic.json in github-linguist-7.12.0

- old
+ new

@@ -1,735 +2 @@ -{ - "name": "CFML (do not use)", - "scopeName": "text.cfml.basic", - "patterns": [ - { - "begin": "(?:^\\s+)?(\u003c)((?i:cfscript))(?![^\u003e]*/\u003e)", - "end": "(\u003c/)((?i:cfscript))(\u003e)(?:\\s*\\n)?", - "patterns": [ - { - "contentName": "source.cfscript.embedded.cfml", - "begin": "(\u003e)", - "end": "(?=\u003c/(?i:cfscript))", - "patterns": [ - { - "include": "source.cfscript" - } - ], - "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.script.cfml" - }, - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ], - "captures": { - "0": { - "name": "meta.tag.block.cf.script.cfml" - }, - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.script.cfml" - }, - "3": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "name": "meta.tag.block.cf.function.cfml", - "begin": "(\u003c/?)((?i:cffunction))\\b", - "end": "(\u003e)", - "patterns": [ - { - "include": "#func-name-attribute" - }, - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.function.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "name": "meta.tag.inline.cf.any.cfml", - "contentName": "source.cfscript.embedded.cfml", - "begin": "(\u003c)(?i:(cfset|cfreturn))\\b", - "end": "((?:\\s?/)?\u003e)", - "patterns": [ - { - "include": "#cfcomments" - }, - { - "include": "source.cfscript" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.inline.declaration.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "name": "meta.tag.inline.cf.any.cfml", - "begin": "(?x)\n\t\t\t\t(\u003c)\n\t\t\t\t\t(?i:\n\t\t\t\t\t\t(cf(queryparam|location|forward|import|param|break|abort|flush\n\t\t\t\t\t\t\t|setting|test|dump|content|include|catch|continue\n\t\t\t\t\t\t\t|file|log|object|invoke|throw|property|htmlhead\n\t\t\t\t\t\t\t|header|argument|exit|trace)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t)\n\t\t\t", - "end": "((?:\\s?/)?\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.inline.other.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "begin": "(?:^\\s+)?(\u003c)((?i:cfquery))\\b(?![^\u003e]*/\u003e)", - "end": "(\u003c/)((?i:cfquery))(\u003e)(?:\\s*\\n)?", - "patterns": [ - { - "name": "meta.tag.block.cf.output.cfml", - "begin": "(?\u003c=cfquery)\\s", - "end": "(?=\u003e)", - "patterns": [ - { - "include": "#qry-name-attribute" - }, - { - "include": "#tag-stuff" - } - ] - }, - { - "contentName": "source.sql.embedded.cfml", - "begin": "(\u003e)", - "end": "(?=\u003c/(?i:cfquery))", - "patterns": [ - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - }, - { - "include": "#embedded-tags" - }, - { - "name": "meta.tag.inline.cf.query-param.cfml", - "begin": "(\u003c/?)((?i:(?:cfqueryparam))\\b)", - "end": "((?:\\s?/)?\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.inline.param.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "include": "#nest-hash" - }, - { - "include": "source.sql" - } - ], - "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.query.cfml" - }, - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ], - "captures": { - "0": { - "name": "meta.tag.block.cf.query.cfml" - }, - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.query.cfml" - }, - "3": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "include": "#embedded-tags" - }, - { - "name": "meta.tag.block.cf.other.cfml", - "begin": "(?x)\n\t\t\t\t(\u003c/?)\n\t\t\t\t(?i:\n\t\t\t\t\t(cf((output)|(savecontent)|([\\w\\-_.]+)))\n\t\t\t\t)\n\t\t\t\t\\b\n\t\t\t", - "end": "(\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.block.other.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ], - "repository": { - "cfcomments": { - "patterns": [ - { - "name": "comment.line.cfml", - "match": "\u003c!---.*?---\u003e" - }, - { - "name": "comment.block.cfml", - "begin": "\u003c!---", - "end": "---\u003e", - "patterns": [ - { - "include": "#cfcomments" - } - ], - "captures": { - "0": { - "name": "punctuation.definition.comment.cfml" - } - } - } - ] - }, - "cfmail": { - "begin": "(?:^\\s+)?(\u003c)((?i:cfmail))\\b(?![^\u003e]*/\u003e)", - "end": "(\u003c/)((?i:cfmail))(\u003e)(?:\\s*\\n)?", - "patterns": [ - { - "name": "meta.tag.block.cf.mail.cfml", - "begin": "(?\u003c=cfmail)\\s", - "end": "(?=\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "contentName": "meta.scope.between-mail-tags.cfml", - "begin": "(\u003e)", - "end": "(?=\u003c/(?i:cfmail))", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "text.html.cfm" - } - ], - "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.mail.cfml" - }, - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ], - "captures": { - "0": { - "name": "meta.tag.block.cf.mail.cfml" - }, - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.mail.cfml" - }, - "3": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - "cfoutput": { - "begin": "(?:^\\s+)?(\u003c)((?i:cfoutput))\\b(?![^\u003e]*/\u003e)", - "end": "(\u003c/)((?i:cfoutput))(\u003e)(?:\\s*\\n)?", - "patterns": [ - { - "name": "meta.tag.block.cf.output.cfml", - "begin": "(?\u003c=cfoutput)\\s", - "end": "(?=\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - { - "contentName": "meta.scope.between-output-tags.cfml", - "begin": "(\u003e)", - "end": "(?=\u003c/(?i:cfoutput))", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "text.html.cfm" - } - ], - "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.output.cfml" - }, - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ], - "captures": { - "0": { - "name": "meta.tag.block.cf.output.cfml" - }, - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.output.cfml" - }, - "3": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - "conditionals": { - "patterns": [ - { - "name": "meta.tag.block.cf.conditional.cfml", - "contentName": "source.cfscript.embedded.cfml", - "begin": "(\u003c/?)((?i:cfif))\\b", - "end": "(\u003e)", - "patterns": [ - { - "include": "source.cfscript" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.conditional.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - }, - { - "name": "meta.tag.inline.cf.conditional.cfml", - "contentName": "source.cfscript.embedded.cfml", - "begin": "(\u003c/?)(?i:(cfelseif|cfelse))", - "end": "(\u003e)", - "patterns": [ - { - "include": "source.cfscript" - } - ], - "captures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.conditional.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ] - }, - "embedded-tags": { - "patterns": [ - { - "include": "#cfcomments" - }, - { - "include": "#conditionals" - }, - { - "include": "#flow-control" - }, - { - "include": "#exception-handling" - }, - { - "include": "#cfoutput" - }, - { - "include": "#cfmail" - } - ] - }, - "entities": { - "patterns": [ - { - "name": "constant.character.entity.cfml", - "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "captures": { - "1": { - "name": "punctuation.definition.entity.cfml" - }, - "3": { - "name": "punctuation.definition.entity.cfml" - } - } - }, - { - "name": "invalid.illegal.bad-ampersand.cfml", - "match": "\u0026" - } - ] - }, - "exception-handling": { - "patterns": [ - { - "name": "meta.tag.block.cf.exceptions.cfml", - "begin": "(?x)\n\t\t\t\t\t\t(\u003c/?)\n\t\t\t\t\t\t(?i:\n\t\t\t\t\t\t\t(cftry)|(cfcatch)|(cflock)|(cffinally|cferror|cfrethrow|cfthrow)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t", - "end": "(\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.exception.try.cfml" - }, - "3": { - "name": "entity.name.tag.cf.exception.catch.cfml" - }, - "4": { - "name": "entity.name.tag.cf.lock.cfml" - }, - "5": { - "name": "entity.name.tag.cf.exception.other.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ] - }, - "flow-control": { - "patterns": [ - { - "name": "meta.tag.block.cf.flow-control.cfml", - "begin": "(?x)\n\t\t\t\t\t\t(\u003c/?)\n\t\t\t\t\t\t(?i:\n\t\t\t\t\t\t\t(cfloop)|(cfswitch)|(cf(?:default)?case)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t", - "end": "(\u003e)", - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" - }, - "2": { - "name": "entity.name.tag.cf.flow-control.loop.cfml" - }, - "3": { - "name": "entity.name.tag.cf.flow-control.switch.cfml" - }, - "4": { - "name": "entity.name.tag.cf.flow-control.case.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - } - } - ] - }, - "func-name-attribute": { - "name": "meta.attribute-with-value.name.cfml", - "begin": "\\b(name)\\b\\s*(=)", - "end": "(?\u003c='|\")", - "patterns": [ - { - "name": "string.quoted.double.cfml", - "contentName": "meta.toc-list.function.cfml", - "begin": "\"", - "end": "\"", - "patterns": [ - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - }, - { - "name": "string.quoted.single.cfml", - "contentName": "meta.toc-list.function.cfml", - "begin": "'", - "end": "'", - "patterns": [ - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - } - ], - "captures": { - "1": { - "name": "entity.other.attribute-name.cfml" - }, - "2": { - "name": "punctuation.separator.key-value.cfml" - } - } - }, - "nest-hash": { - "patterns": [ - { - "name": "string.escaped.hash.cfml", - "match": "##" - }, - { - "name": "invalid.illegal.unescaped.hash.cfml", - "match": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?!\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)" - }, - { - "name": "meta.name.interpolated.hash.cfml", - "contentName": "source.cfscript.embedded.cfml", - "begin": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?=\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)", - "end": "(#)", - "patterns": [ - { - "include": "source.cfscript" - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.definition.hash.begin.cfml" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.hash.end.cfml" - } - } - } - ] - }, - "qry-name-attribute": { - "name": "meta.attribute-with-value.name.cfml", - "begin": "\\b(name)\\b\\s*(=)", - "end": "(?\u003c='|\")", - "patterns": [ - { - "name": "string.quoted.double.cfml", - "contentName": "meta.toc-list.query.cfml", - "begin": "\"", - "end": "\"", - "patterns": [ - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - }, - { - "name": "string.quoted.single.cfml", - "contentName": "meta.toc-list.query.name.cfml", - "begin": "'", - "end": "'", - "patterns": [ - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - } - ], - "captures": { - "1": { - "name": "entity.other.attribute-name.cfml" - }, - "2": { - "name": "punctuation.separator.key-value.cfml" - } - } - }, - "string-double-quoted": { - "name": "string.quoted.double.cfml", - "begin": "\"", - "end": "\"", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - }, - "string-single-quoted": { - "name": "string.quoted.single.cfml", - "begin": "'", - "end": "'", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "#entities" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cfml" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" - } - } - }, - "tag-generic-attribute": { - "name": "entity.other.attribute-name.cfml", - "match": "\\b([a-zA-Z\\-:]+)" - }, - "tag-stuff": { - "patterns": [ - { - "include": "#cfcomments" - }, - { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - } - } -} +{"name":"CFML (do not use)","scopeName":"text.cfml.basic","patterns":[{"begin":"(?:^\\s+)?(\u003c)((?i:cfscript))(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:cfscript))(\u003e)(?:\\s*\\n)?","patterns":[{"contentName":"source.cfscript.embedded.cfml","begin":"(\u003e)","end":"(?=\u003c/(?i:cfscript))","patterns":[{"include":"source.cfscript"}],"beginCaptures":{"0":{"name":"meta.tag.block.cf.script.cfml"},"1":{"name":"punctuation.definition.tag.end.cfml"}}}],"captures":{"0":{"name":"meta.tag.block.cf.script.cfml"},"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.script.cfml"},"3":{"name":"punctuation.definition.tag.end.cfml"}}},{"name":"meta.tag.block.cf.function.cfml","begin":"(\u003c/?)((?i:cffunction))\\b","end":"(\u003e)","patterns":[{"include":"#func-name-attribute"},{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.function.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}},{"name":"meta.tag.inline.cf.any.cfml","contentName":"source.cfscript.embedded.cfml","begin":"(\u003c)(?i:(cfset|cfreturn))\\b","end":"((?:\\s?/)?\u003e)","patterns":[{"include":"#cfcomments"},{"include":"source.cfscript"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.inline.declaration.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}},{"name":"meta.tag.inline.cf.any.cfml","begin":"(?x)\n\t\t\t\t(\u003c)\n\t\t\t\t\t(?i:\n\t\t\t\t\t\t(cf(queryparam|location|forward|import|param|break|abort|flush\n\t\t\t\t\t\t\t|setting|test|dump|content|include|catch|continue\n\t\t\t\t\t\t\t|file|log|object|invoke|throw|property|htmlhead\n\t\t\t\t\t\t\t|header|argument|exit|trace)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t)\n\t\t\t","end":"((?:\\s?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.inline.other.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}},{"begin":"(?:^\\s+)?(\u003c)((?i:cfquery))\\b(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:cfquery))(\u003e)(?:\\s*\\n)?","patterns":[{"name":"meta.tag.block.cf.output.cfml","begin":"(?\u003c=cfquery)\\s","end":"(?=\u003e)","patterns":[{"include":"#qry-name-attribute"},{"include":"#tag-stuff"}]},{"contentName":"source.sql.embedded.cfml","begin":"(\u003e)","end":"(?=\u003c/(?i:cfquery))","patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#embedded-tags"},{"name":"meta.tag.inline.cf.query-param.cfml","begin":"(\u003c/?)((?i:(?:cfqueryparam))\\b)","end":"((?:\\s?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.inline.param.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}},{"include":"#nest-hash"},{"include":"source.sql"}],"beginCaptures":{"0":{"name":"meta.tag.block.cf.query.cfml"},"1":{"name":"punctuation.definition.tag.end.cfml"}}}],"captures":{"0":{"name":"meta.tag.block.cf.query.cfml"},"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.query.cfml"},"3":{"name":"punctuation.definition.tag.end.cfml"}}},{"include":"#embedded-tags"},{"name":"meta.tag.block.cf.other.cfml","begin":"(?x)\n\t\t\t\t(\u003c/?)\n\t\t\t\t(?i:\n\t\t\t\t\t(cf((output)|(savecontent)|([\\w\\-_.]+)))\n\t\t\t\t)\n\t\t\t\t\\b\n\t\t\t","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.block.other.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}}],"repository":{"cfcomments":{"patterns":[{"name":"comment.line.cfml","match":"\u003c!---.*?---\u003e"},{"name":"comment.block.cfml","begin":"\u003c!---","end":"---\u003e","patterns":[{"include":"#cfcomments"}],"captures":{"0":{"name":"punctuation.definition.comment.cfml"}}}]},"cfmail":{"begin":"(?:^\\s+)?(\u003c)((?i:cfmail))\\b(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:cfmail))(\u003e)(?:\\s*\\n)?","patterns":[{"name":"meta.tag.block.cf.mail.cfml","begin":"(?\u003c=cfmail)\\s","end":"(?=\u003e)","patterns":[{"include":"#tag-stuff"}]},{"contentName":"meta.scope.between-mail-tags.cfml","begin":"(\u003e)","end":"(?=\u003c/(?i:cfmail))","patterns":[{"include":"#nest-hash"},{"include":"text.html.cfm"}],"beginCaptures":{"0":{"name":"meta.tag.block.cf.mail.cfml"},"1":{"name":"punctuation.definition.tag.end.cfml"}}}],"captures":{"0":{"name":"meta.tag.block.cf.mail.cfml"},"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.mail.cfml"},"3":{"name":"punctuation.definition.tag.end.cfml"}}},"cfoutput":{"begin":"(?:^\\s+)?(\u003c)((?i:cfoutput))\\b(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:cfoutput))(\u003e)(?:\\s*\\n)?","patterns":[{"name":"meta.tag.block.cf.output.cfml","begin":"(?\u003c=cfoutput)\\s","end":"(?=\u003e)","patterns":[{"include":"#tag-stuff"}]},{"contentName":"meta.scope.between-output-tags.cfml","begin":"(\u003e)","end":"(?=\u003c/(?i:cfoutput))","patterns":[{"include":"#nest-hash"},{"include":"text.html.cfm"}],"beginCaptures":{"0":{"name":"meta.tag.block.cf.output.cfml"},"1":{"name":"punctuation.definition.tag.end.cfml"}}}],"captures":{"0":{"name":"meta.tag.block.cf.output.cfml"},"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.output.cfml"},"3":{"name":"punctuation.definition.tag.end.cfml"}}},"conditionals":{"patterns":[{"name":"meta.tag.block.cf.conditional.cfml","contentName":"source.cfscript.embedded.cfml","begin":"(\u003c/?)((?i:cfif))\\b","end":"(\u003e)","patterns":[{"include":"source.cfscript"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.conditional.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}},{"name":"meta.tag.inline.cf.conditional.cfml","contentName":"source.cfscript.embedded.cfml","begin":"(\u003c/?)(?i:(cfelseif|cfelse))","end":"(\u003e)","patterns":[{"include":"source.cfscript"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.conditional.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}}]},"embedded-tags":{"patterns":[{"include":"#cfcomments"},{"include":"#conditionals"},{"include":"#flow-control"},{"include":"#exception-handling"},{"include":"#cfoutput"},{"include":"#cfmail"}]},"entities":{"patterns":[{"name":"constant.character.entity.cfml","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.cfml"},"3":{"name":"punctuation.definition.entity.cfml"}}},{"name":"invalid.illegal.bad-ampersand.cfml","match":"\u0026"}]},"exception-handling":{"patterns":[{"name":"meta.tag.block.cf.exceptions.cfml","begin":"(?x)\n\t\t\t\t\t\t(\u003c/?)\n\t\t\t\t\t\t(?i:\n\t\t\t\t\t\t\t(cftry)|(cfcatch)|(cflock)|(cffinally|cferror|cfrethrow|cfthrow)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.exception.try.cfml"},"3":{"name":"entity.name.tag.cf.exception.catch.cfml"},"4":{"name":"entity.name.tag.cf.lock.cfml"},"5":{"name":"entity.name.tag.cf.exception.other.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}}]},"flow-control":{"patterns":[{"name":"meta.tag.block.cf.flow-control.cfml","begin":"(?x)\n\t\t\t\t\t\t(\u003c/?)\n\t\t\t\t\t\t(?i:\n\t\t\t\t\t\t\t(cfloop)|(cfswitch)|(cf(?:default)?case)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\b\n\t\t\t\t\t","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.cfml"},"2":{"name":"entity.name.tag.cf.flow-control.loop.cfml"},"3":{"name":"entity.name.tag.cf.flow-control.switch.cfml"},"4":{"name":"entity.name.tag.cf.flow-control.case.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.cfml"}}}]},"func-name-attribute":{"name":"meta.attribute-with-value.name.cfml","begin":"\\b(name)\\b\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"string.quoted.double.cfml","contentName":"meta.toc-list.function.cfml","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}},{"name":"string.quoted.single.cfml","contentName":"meta.toc-list.function.cfml","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}}],"captures":{"1":{"name":"entity.other.attribute-name.cfml"},"2":{"name":"punctuation.separator.key-value.cfml"}}},"nest-hash":{"patterns":[{"name":"string.escaped.hash.cfml","match":"##"},{"name":"invalid.illegal.unescaped.hash.cfml","match":"(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?!\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)"},{"name":"meta.name.interpolated.hash.cfml","contentName":"source.cfscript.embedded.cfml","begin":"(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?=\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)","end":"(#)","patterns":[{"include":"source.cfscript"}],"beginCaptures":{"1":{"name":"punctuation.definition.hash.begin.cfml"}},"endCaptures":{"1":{"name":"punctuation.definition.hash.end.cfml"}}}]},"qry-name-attribute":{"name":"meta.attribute-with-value.name.cfml","begin":"\\b(name)\\b\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"string.quoted.double.cfml","contentName":"meta.toc-list.query.cfml","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}},{"name":"string.quoted.single.cfml","contentName":"meta.toc-list.query.name.cfml","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}}],"captures":{"1":{"name":"entity.other.attribute-name.cfml"},"2":{"name":"punctuation.separator.key-value.cfml"}}},"string-double-quoted":{"name":"string.quoted.double.cfml","begin":"\"","end":"\"","patterns":[{"include":"#nest-hash"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}},"string-single-quoted":{"name":"string.quoted.single.cfml","begin":"'","end":"'","patterns":[{"include":"#nest-hash"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cfml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cfml"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.cfml","match":"\\b([a-zA-Z\\-:]+)"},"tag-stuff":{"patterns":[{"include":"#cfcomments"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]}}}