grammars/text.cfml.basic.json in github-linguist-5.3.3 vs grammars/text.cfml.basic.json in github-linguist-6.0.0

- old
+ new

@@ -1,165 +1,144 @@ { "name": "CFML (do not use)", + "scopeName": "text.cfml.basic", "patterns": [ { - "begin": "(?:^\\s+)?(<)((?i:cfscript))(?![^>]*/>)", - "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" - } - }, - "end": "(</)((?i:cfscript))(>)(?:\\s*\\n)?", + "begin": "(?:^\\s+)?(\u003c)((?i:cfscript))(?![^\u003e]*/\u003e)", + "end": "(\u003c/)((?i:cfscript))(\u003e)(?:\\s*\\n)?", "patterns": [ { - "begin": "(>)", + "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" } - }, - "contentName": "source.cfscript.embedded.cfml", - "end": "(?=</(?i:cfscript))", - "patterns": [ - { - "include": "source.cfscript" - } - ] + } } - ] - }, - { - "begin": "(</?)((?i:cffunction))\\b", - "beginCaptures": { + ], + "captures": { + "0": { + "name": "meta.tag.block.cf.script.cfml" + }, "1": { "name": "punctuation.definition.tag.begin.cfml" }, "2": { - "name": "entity.name.tag.cf.function.cfml" - } - }, - "end": "(>)", - "endCaptures": { - "1": { + "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" } - ] - }, - { - "begin": "(<)(?i:(cfset|cfreturn))\\b", + ], "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.cfml" }, "2": { - "name": "entity.name.tag.cf.inline.declaration.cfml" + "name": "entity.name.tag.cf.function.cfml" } }, - "end": "((?:\\s?/)?>)", "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" } - ] - }, - { - "begin": "(?x)\n\t\t\t\t(<)\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", + ], "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.cfml" }, "2": { - "name": "entity.name.tag.cf.inline.other.cfml" + "name": "entity.name.tag.cf.inline.declaration.cfml" } }, - "end": "((?:\\s?/)?>)", "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" } - ] - }, - { - "begin": "(?:^\\s+)?(<)((?i:cfquery))\\b(?![^>]*/>)", - "captures": { - "0": { - "name": "meta.tag.block.cf.query.cfml" - }, + ], + "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.cfml" }, "2": { - "name": "entity.name.tag.cf.query.cfml" - }, - "3": { - "name": "punctuation.definition.tag.end.cfml" + "name": "entity.name.tag.cf.inline.other.cfml" } }, - "end": "(</)((?i:cfquery))(>)(?:\\s*\\n)?", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.cfml" + } + } + }, + { + "begin": "(?:^\\s+)?(\u003c)((?i:cfquery))\\b(?![^\u003e]*/\u003e)", + "end": "(\u003c/)((?i:cfquery))(\u003e)(?:\\s*\\n)?", "patterns": [ { - "begin": "(?<=cfquery)\\s", - "end": "(?=>)", "name": "meta.tag.block.cf.output.cfml", + "begin": "(?\u003c=cfquery)\\s", + "end": "(?=\u003e)", "patterns": [ { "include": "#qry-name-attribute" }, { "include": "#tag-stuff" } ] }, { - "begin": "(>)", - "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.query.cfml" - }, - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - }, "contentName": "source.sql.embedded.cfml", - "end": "(?=</(?i:cfquery))", + "begin": "(\u003e)", + "end": "(?=\u003c/(?i:cfquery))", "patterns": [ { "include": "#string-double-quoted" }, { @@ -167,570 +146,590 @@ }, { "include": "#embedded-tags" }, { - "begin": "(</?)((?i:(?:cfqueryparam))\\b)", + "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" } }, - "end": "((?:\\s?/)?>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.cfml" } - }, - "name": "meta.tag.inline.cf.query-param.cfml", - "patterns": [ - { - "include": "#tag-stuff" - } - ] + } }, { "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" }, { - "begin": "(?x)\n\t\t\t\t(</?)\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", + "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" } }, - "end": "(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.cfml" } - }, - "name": "meta.tag.block.cf.other.cfml", - "patterns": [ - { - "include": "#tag-stuff" - } - ] + } } ], "repository": { - "embedded-tags": { + "cfcomments": { "patterns": [ { - "include": "#cfcomments" + "name": "comment.line.cfml", + "match": "\u003c!---.*?---\u003e" }, { - "include": "#conditionals" - }, - { - "include": "#flow-control" - }, - { - "include": "#exception-handling" - }, - { - "include": "#cfoutput" - }, - { - "include": "#cfmail" + "name": "comment.block.cfml", + "begin": "\u003c!---", + "end": "---\u003e", + "patterns": [ + { + "include": "#cfcomments" + } + ], + "captures": { + "0": { + "name": "punctuation.definition.comment.cfml" + } + } } ] }, - "flow-control": { + "cfmail": { + "begin": "(?:^\\s+)?(\u003c)((?i:cfmail))\\b(?![^\u003e]*/\u003e)", + "end": "(\u003c/)((?i:cfmail))(\u003e)(?:\\s*\\n)?", "patterns": [ { - "begin": "(?x)\n\t\t\t\t\t\t(</?)\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", - "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" - } - }, - "end": "(>)", - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.cfml" - } - }, - "name": "meta.tag.block.cf.flow-control.cfml", + "name": "meta.tag.block.cf.mail.cfml", + "begin": "(?\u003c=cfmail)\\s", + "end": "(?=\u003e)", "patterns": [ { "include": "#tag-stuff" } ] - } - ] - }, - "exception-handling": { - "patterns": [ + }, { - "begin": "(?x)\n\t\t\t\t\t\t(</?)\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", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.cfml" + "contentName": "meta.scope.between-mail-tags.cfml", + "begin": "(\u003e)", + "end": "(?=\u003c/(?i:cfmail))", + "patterns": [ + { + "include": "#nest-hash" }, - "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" + { + "include": "text.html.cfm" } - }, - "end": "(>)", - "endCaptures": { + ], + "beginCaptures": { + "0": { + "name": "meta.tag.block.cf.mail.cfml" + }, "1": { "name": "punctuation.definition.tag.end.cfml" } - }, - "name": "meta.tag.block.cf.exceptions.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": [ { - "begin": "(</?)((?i:cfif))\\b", + "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" } }, - "end": "(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.cfml" } - }, - "name": "meta.tag.block.cf.conditional.cfml", + } + }, + { + "name": "meta.tag.inline.cf.conditional.cfml", "contentName": "source.cfscript.embedded.cfml", + "begin": "(\u003c/?)(?i:(cfelseif|cfelse))", + "end": "(\u003e)", "patterns": [ { "include": "source.cfscript" } - ] - }, - { - "begin": "(</?)(?i:(cfelseif|cfelse))", + ], "captures": { "1": { "name": "punctuation.definition.tag.begin.cfml" }, "2": { "name": "entity.name.tag.cf.conditional.cfml" } }, - "end": "(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.cfml" } - }, - "name": "meta.tag.inline.cf.conditional.cfml", - "contentName": "source.cfscript.embedded.cfml", - "patterns": [ - { - "include": "source.cfscript" - } - ] + } } ] }, - "cfoutput": { - "begin": "(?:^\\s+)?(<)((?i:cfoutput))\\b(?![^>]*/>)", - "captures": { - "0": { - "name": "meta.tag.block.cf.output.cfml" + "embedded-tags": { + "patterns": [ + { + "include": "#cfcomments" }, - "1": { - "name": "punctuation.definition.tag.begin.cfml" + { + "include": "#conditionals" }, - "2": { - "name": "entity.name.tag.cf.output.cfml" + { + "include": "#flow-control" }, - "3": { - "name": "punctuation.definition.tag.end.cfml" + { + "include": "#exception-handling" + }, + { + "include": "#cfoutput" + }, + { + "include": "#cfmail" } - }, - "end": "(</)((?i:cfoutput))(>)(?:\\s*\\n)?", + ] + }, + "entities": { "patterns": [ { - "begin": "(?<=cfoutput)\\s", - "end": "(?=>)", - "name": "meta.tag.block.cf.output.cfml", + "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" } - ] - }, - { - "begin": "(>)", + ], "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.output.cfml" + "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" } - }, - "end": "(?=</(?i:cfoutput))", - "contentName": "meta.scope.between-output-tags.cfml", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "text.html.cfm" - } - ] + } } ] }, - "cfmail": { - "begin": "(?:^\\s+)?(<)((?i:cfmail))\\b(?![^>]*/>)", - "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" - } - }, - "end": "(</)((?i:cfmail))(>)(?:\\s*\\n)?", + "flow-control": { "patterns": [ { - "begin": "(?<=cfmail)\\s", - "end": "(?=>)", - "name": "meta.tag.block.cf.mail.cfml", + "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" } - ] - }, - { - "begin": "(>)", + ], "beginCaptures": { - "0": { - "name": "meta.tag.block.cf.mail.cfml" + "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" } - }, - "end": "(?=</(?i:cfmail))", - "contentName": "meta.scope.between-mail-tags.cfml", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "text.html.cfm" - } - ] + } } ] }, "func-name-attribute": { - "begin": "\\b(name)\\b\\s*(=)", - "captures": { - "1": { - "name": "entity.other.attribute-name.cfml" - }, - "2": { - "name": "punctuation.separator.key-value.cfml" - } - }, - "end": "(?<='|\")", "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" } }, - "contentName": "meta.toc-list.function.cfml", - "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.cfml" } - }, - "name": "string.quoted.double.cfml", + } + }, + { + "name": "string.quoted.single.cfml", + "contentName": "meta.toc-list.function.cfml", + "begin": "'", + "end": "'", "patterns": [ { "include": "#entities" } - ] - }, - { - "begin": "'", + ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cfml" } }, - "contentName": "meta.toc-list.function.cfml", - "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.string.end.cfml" } - }, - "name": "string.quoted.single.cfml", - "patterns": [ - { - "include": "#entities" - } - ] + } } - ] - }, - "qry-name-attribute": { - "begin": "\\b(name)\\b\\s*(=)", + ], "captures": { "1": { "name": "entity.other.attribute-name.cfml" }, "2": { "name": "punctuation.separator.key-value.cfml" } - }, - "end": "(?<='|\")", - "name": "meta.attribute-with-value.name.cfml", + } + }, + "nest-hash": { "patterns": [ { - "begin": "\"", + "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": { - "0": { - "name": "punctuation.definition.string.begin.cfml" + "1": { + "name": "punctuation.definition.hash.begin.cfml" } }, - "contentName": "meta.toc-list.query.cfml", - "end": "\"", "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cfml" + "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" } - ] - }, - { - "begin": "'", + ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cfml" } }, - "contentName": "meta.toc-list.query.name.cfml", - "end": "'", "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" } - ] - } - ] - }, - "cfcomments": { - "patterns": [ - { - "match": "<!---.*?--->", - "name": "comment.line.cfml" - }, - { - "begin": "<!---", - "captures": { + ], + "beginCaptures": { "0": { - "name": "punctuation.definition.comment.cfml" + "name": "punctuation.definition.string.begin.cfml" } }, - "end": "--->", - "name": "comment.block.cfml", - "patterns": [ - { - "include": "#cfcomments" + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.cfml" } - ] + } } - ] + ], + "captures": { + "1": { + "name": "entity.other.attribute-name.cfml" + }, + "2": { + "name": "punctuation.separator.key-value.cfml" + } + } }, - "tag-stuff": { + "string-double-quoted": { + "name": "string.quoted.double.cfml", + "begin": "\"", + "end": "\"", "patterns": [ { - "include": "#cfcomments" + "include": "#nest-hash" }, { - "include": "#tag-generic-attribute" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#string-single-quoted" + "include": "#entities" } - ] - }, - "tag-generic-attribute": { - "match": "\\b([a-zA-Z\\-:]+)", - "name": "entity.other.attribute-name.cfml" - }, - "string-double-quoted": { - "begin": "\"", + ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cfml" } }, - "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.cfml" } - }, - "name": "string.quoted.double.cfml", + } + }, + "string-single-quoted": { + "name": "string.quoted.single.cfml", + "begin": "'", + "end": "'", "patterns": [ { "include": "#nest-hash" }, { "include": "#entities" } - ] - }, - "string-single-quoted": { - "begin": "'", + ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cfml" } }, - "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.string.end.cfml" } - }, - "name": "string.quoted.single.cfml", - "patterns": [ - { - "include": "#nest-hash" - }, - { - "include": "#entities" - } - ] + } }, - "entities": { + "tag-generic-attribute": { + "name": "entity.other.attribute-name.cfml", + "match": "\\b([a-zA-Z\\-:]+)" + }, + "tag-stuff": { "patterns": [ { - "captures": { - "1": { - "name": "punctuation.definition.entity.cfml" - }, - "3": { - "name": "punctuation.definition.entity.cfml" - } - }, - "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "name": "constant.character.entity.cfml" + "include": "#cfcomments" }, { - "match": "&", - "name": "invalid.illegal.bad-ampersand.cfml" - } - ] - }, - "nest-hash": { - "patterns": [ - { - "match": "##", - "name": "string.escaped.hash.cfml" + "include": "#tag-generic-attribute" }, { - "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*[\\+\\-\\*\\/&]\\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*&\\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": "invalid.illegal.unescaped.hash.cfml" + "include": "#string-double-quoted" }, { - "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*[\\+\\-\\*\\/&]\\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*&\\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)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.hash.begin.cfml" - } - }, - "end": "(#)", - "endCaptures": { - "1": { - "name": "punctuation.definition.hash.end.cfml" - } - }, - "contentName": "source.cfscript.embedded.cfml", - "name": "meta.name.interpolated.hash.cfml", - "patterns": [ - { - "include": "source.cfscript" - } - ] + "include": "#string-single-quoted" } ] } - }, - "scopeName": "text.cfml.basic", - "uuid": "C48DE6D0-4226-11E1-B86C-0800200C9A66" -} \ No newline at end of file + } +}