{
"scopeName": "text.html.cfm",
"patterns": [
{
"begin": "(?i)(?=^\\s*(/\\*|//|import\\b|(component|abstract\\s*component|final\\s*component|interface)(\\s+|{)))",
"end": "(?=not)possible",
"patterns": [
{
"include": "#source-cfml-script"
}
],
"contentName": "source.cfml.script"
},
{
"include": "#comments"
},
{
"begin": "(?i)(?=(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
"name": "meta.attribute-selector.css",
"captures": {
"7": {
"name": "punctuation.definition.string.end.css"
},
"3": {
"name": "punctuation.separator.operator.css"
},
"4": {
"name": "string.unquoted.attribute-value.css"
},
"5": {
"name": "string.quoted.double.attribute-value.css"
},
"1": {
"name": "punctuation.definition.entity.css"
},
"6": {
"name": "punctuation.definition.string.begin.css"
},
"2": {
"name": "entity.other.attribute-name.attribute.css"
}
}
}
],
"name": "meta.selector.css"
},
"cffunction": {
"begin": "(?i)(?=)",
"patterns": [
{
"begin": "(?i)(<)(cffunction)",
"end": "(?=>)",
"patterns": [
{
"match": "(?i)\\b(name)\\s*(=)\\s*((\")([_$a-zA-Z][$\\w]*)(\"))",
"captures": {
"3": {
"name": "string.quoted.double.cfml"
},
"1": {
"name": "entity.other.attribute-name.cfml"
},
"6": {
"name": "punctuation.definition.string.end.cfml"
},
"4": {
"name": "punctuation.definition.string.begin.cfml"
},
"2": {
"name": "punctuation.separator.key-value.cfml"
},
"5": {
"name": "entity.name.function.cfml"
}
}
},
{
"match": "(?i)\\b(access)\\s*(=)\\s*((\")([_$a-zA-Z][$\\w]*)(\"))",
"captures": {
"3": {
"name": "string.quoted.double.cfml"
},
"1": {
"name": "entity.other.attribute-name.cfml"
},
"6": {
"name": "punctuation.definition.string.end.cfml"
},
"4": {
"name": "punctuation.definition.string.begin.cfml"
},
"2": {
"name": "punctuation.separator.key-value.cfml"
},
"5": {
"name": "storage.modifier.cfml"
}
}
},
{
"match": "(?x)(?i)\n \\b(returntype)\\s*(=)\\s*((\")(\n (void)\n |\n (any|array|binary|boolean|component|date|guid|numeric|query|string|struct|xml|uuid) # return-type.primitive\n |\n ([A-Za-z0-9_\\.$]+) #return-type component/object (may need additional tokens)\n)(\"))",
"captures": {
"7": {
"name": "storage.type.return-type.primitive.cfml"
},
"3": {
"name": "string.quoted.double.cfml"
},
"8": {
"name": "storage.type.return-type.object.cfml"
},
"4": {
"name": "punctuation.definition.string.begin.cfml"
},
"9": {
"name": "punctuation.definition.string.end.cfml"
},
"1": {
"name": "entity.other.attribute-name.cfml"
},
"6": {
"name": "storage.type.return-type.void.cfml"
},
"2": {
"name": "punctuation.separator.key-value.cfml"
}
}
},
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml meta.function.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml storage.type.function.cfml"
}
}
},
{
"begin": ">",
"end": "(?i)(?=)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#text-html-cfml"
}
],
"contentName": "meta.function.body.tag.cfml text.html.cfml",
"beginCaptures": {
"0": {
"name": "meta.tag.cfml meta.function.cfml punctuation.definition.tag.end.cfml"
}
}
}
]
},
"source-cfml-script-punctuation": {
"patterns": [
{
"begin": "\\.",
"endCaptures": {
"3": {
"name": "meta.property.constant.cfml"
},
"1": {
"name": "meta.function.body.cfml punctuation.definition.block.end.cfml"
},
"4": {
"name": "meta.property.cfml"
},
"2": {
"name": "punctuation.terminator.statement.cfml"
}
},
"end": "(?<=\\))|(?=\\n)|(\\})|(;)|(?:([A-Z][_$\\dA-Z]*)|([_$a-zA-Z][$\\w]*))(?=\\n|[^$\\w])(?!(\\s*\\(|\\s*=\\s*(function\\b|\\([^\\(]*?\\)\\s*=>)))",
"patterns": [
{
"begin": "(?=([_$a-zA-Z][$\\w]*)\\s*(=)\\s*(function\\b|\\([^\\(]*?\\)\\s*=>\\s*\\{))",
"end": "(?=\\})",
"patterns": [
{
"begin": "\\{",
"end": "(?=\\})",
"patterns": [
{
"include": "#source-cfml-script-statements"
}
],
"name": "meta.function.body.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.block.begin.cfml"
}
}
},
{
"match": "([_$a-zA-Z][$\\w]*)\\s*(=)\\s*",
"captures": {
"0": {
"name": "meta.function.declaration.cfml"
},
"1": {
"name": "meta.property.cfml entity.name.function.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"include": "#source-cfml-script-function-declaration"
},
{
"include": "#source-cfml-script-arrow-function-declaration"
}
]
},
{
"begin": "(?=([_$a-zA-Z][$\\w]*)\\s*(=)\\s*\\([^\\(]*?\\)\\s*=>)",
"end": "(?=[);}\\],\\n])",
"patterns": [
{
"match": "([_$a-zA-Z][$\\w]*)\\s*(=)\\s*",
"captures": {
"0": {
"name": "meta.function.declaration.cfml"
},
"1": {
"name": "meta.property.cfml entity.name.function.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"include": "#source-cfml-script-arrow-function-declaration"
}
]
},
{
"include": "#source-cfml-script-method-call"
}
],
"beginCaptures": {
"0": {
"name": "punctuation.accessor.cfml"
}
}
},
{
"begin": "::",
"endCaptures": {
"3": {
"name": "meta.property.constant.cfml"
},
"1": {
"name": "meta.function.body.cfml punctuation.definition.block.end.cfml"
},
"4": {
"name": "meta.property.cfml"
},
"2": {
"name": "punctuation.terminator.statement.cfml"
}
},
"end": "(?<=\\))|(?=\\n)|(\\})|(;)|(?:([A-Z][_$\\dA-Z]*)|([_$a-zA-Z][$\\w]*))(?=\\n|[^$\\w])(?!(\\s*\\(|\\s*=\\s*(function\\b|\\([^\\(]*?\\)\\s*=>)))",
"patterns": [
{
"begin": "(?=([_$a-zA-Z][$\\w]*)\\s*(=)\\s*(function\\b|\\([^\\(]*?\\)\\s*=>\\s*\\{))",
"end": "(?=\\})",
"patterns": [
{
"begin": "\\{",
"end": "(?=\\})",
"patterns": [
{
"include": "#source-cfml-script-statements"
}
],
"name": "meta.function.body.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.block.begin.cfml"
}
}
},
{
"match": "([_$a-zA-Z][$\\w]*)\\s*(=)\\s*",
"captures": {
"0": {
"name": "meta.function.declaration.cfml"
},
"1": {
"name": "meta.property.cfml entity.name.function.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"include": "#source-cfml-script-function-declaration"
},
{
"include": "#source-cfml-script-arrow-function-declaration"
}
]
},
{
"begin": "(?=([_$a-zA-Z][$\\w]*)\\s*(=)\\s*\\([^\\(]*?\\)\\s*=>)",
"end": "(?=[);}\\],\\n])",
"patterns": [
{
"match": "([_$a-zA-Z][$\\w]*)\\s*(=)\\s*",
"captures": {
"0": {
"name": "meta.function.declaration.cfml"
},
"1": {
"name": "meta.property.cfml entity.name.function.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"include": "#source-cfml-script-arrow-function-declaration"
}
]
},
{
"include": "#source-cfml-script-static-method-call"
}
],
"beginCaptures": {
"0": {
"name": "punctuation.accessor.static.cfml"
}
}
},
{
"match": "\\;",
"name": "punctuation.terminator.statement.cfml"
},
{
"match": ",",
"name": "meta.delimiter.comma.cfml"
}
]
},
"source-css-cfoutput-property-values": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "\\b(absolute|all(-scroll)?|always|armenian|auto|avoid|baseline|below|bidi-override|block|bold|bolder|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|geometricPrecision|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|optimize(Legibility|Quality|Speed)|outset|outside|overline|pointer|pre(-(wrap|line))?|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|sub|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical(-(ideographic|text))?|visible(Painted|Fill|Stroke)?|w-resize|wait|whitespace|zero|smaller|larger|((xx?-)?(small|large))|painted|fill|stroke)\\b",
"name": "support.constant.property-value.css"
},
{
"match": "(\\b(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace)\\b)",
"name": "support.constant.font-name.css"
},
{
"include": "#source-css-cfoutput-numeric-values"
},
{
"include": "#source-css-cfoutput-color-values"
},
{
"include": "#source-css-cfoutput-string-double"
},
{
"include": "#source-css-cfoutput-string-single"
},
{
"begin": "(rect)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-numeric-values"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
},
{
"begin": "(format|local|url|attr|counter|counters)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-string-single"
},
{
"include": "#source-css-cfoutput-string-double"
},
{
"match": "[^'\") \\t]+",
"name": "variable.parameter.misc.css"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
},
{
"match": "\\!\\s*important",
"name": "keyword.other.important.css"
}
]
},
"source-cfml-script-parens-block-scope": {
"patterns": [
{
"begin": "\\(",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"name": "meta.group.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.cfml"
}
}
},
{
"include": "#source-cfml-script-block-scope"
}
]
},
"cfquery": {
"begin": "(?i)(?=)",
"patterns": [
{
"begin": "(?i)(<)(cfquery)(?=\\s|>)",
"end": "(?=>)",
"patterns": [
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
}
}
},
{
"begin": ">",
"end": "(?i)(?=)",
"patterns": [
{
"include": "#hash-delimiters"
},
{
"include": "#cfml-tags"
},
{
"include": "#source-sql"
}
],
"contentName": "meta.scope.cfquery.cfml source.sql",
"beginCaptures": {
"0": {
"name": "meta.tag.cfml punctuation.definition.tag.end.cfml"
}
}
}
]
},
"text-html-cfml-string-single-quoted": {
"begin": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.html"
}
},
"end": "'",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#text-html-cfml-entities"
}
],
"name": "string.quoted.single.html",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.html"
}
}
},
"source-cfml-script-brackets": {
"patterns": [
{
"include": "#source-cfml-script-round-brackets"
},
{
"include": "#source-cfml-script-square-brackets"
}
]
},
"source-cfml-script-variable": {
"patterns": [
{
"include": "#source-cfml-script-cfml-scopes"
},
{
"match": "[_$a-zA-Z][$\\w.]*(?=\\s*::)",
"name": "entity.name.class.cfml"
},
{
"match": "[_$a-zA-Z][$\\w]*(?=\\s*[\\[\\.])",
"name": "variable.other.struct.cfml"
},
{
"match": "\\b[A-Z][_$\\dA-Z]*\\b",
"name": "variable.other.constant.cfml"
},
{
"match": "(cfabort|cfadmin|cfajaximport|cfajaxproxy|cfapplet|cfapplication|cfargument|cfassociate|cfbreak|cfcache|cfcalendar|cfcase|cfcatch|cfchart|cfchartdata|cfchartseries|cfclient|cfclientsettings|cfcol|cfcollection|cfcomponent|cfcontent|cfcontinue|cfcookie|cfdbinfo|cfdefaultcase|cfdirectory|cfdiv|cfdocument|cfdocumentitem|cfdocumentsection|cfdump|cfelse|cfelseif|cferror|cfexchangecalendar|cfexchangeconnection|cfexchangecontact|cfexchangefilter|cfexchangemail|cfexchangetask|cfexecute|cfexit|cffeed|cffile|cffileupload|cffinally|cfflush|cfform|cfformgroup|cfformitem|cfftp|cffunction|cfgrid|cfgridcolumn|cfgridrow|cfgridupdate|cfheader|cfhtmlhead|cfhtmltopdf|cfhtmltopdfitem|cfhttp|cfhttpparam|cfif|cfimage|cfimap|cfimapfilter|cfimport|cfinclude|cfindex|cfinput|cfinsert|cfinterface|cfinvoke|cfinvokeargument|cflayout|cflayoutarea|cfldap|cflocation|cflock|cflog|cflogin|cfloginuser|cflogout|cfloop|cfmail|cfmailparam|cfmailpart|cfmap|cfmapitem|cfmediaplayer|cfmenu|cfmenuitem|cfmessagebox|cfmodule|cfntauthenticate|cfoauth|cfobject|cfobjectcache|cfoutput|cfparam|cfpdf|cfpdfform|cfpdfformparam|cfpdfparam|cfpdfsubform|cfpod|cfpop|cfpresentation|cfpresentationslide|cfpresenter|cfprint|cfprocessingdirective|cfprocparam|cfprocresult|cfprogressbar|cfproperty|cfquery|cfqueryparam|cfregistry|cfreport|cfreportparam|cfrethrow|cfretry|cfreturn|cfsavecontent|cfschedule|cfscript|cfsearch|cfselect|cfservlet|cfservletparam|cfset|cfsetting|cfsharepoint|cfsilent|cfsleep|cfslider|cfspreadsheet|cfsprydataset|cfstoredproc|cfswitch|cftable|cftextarea|cftextinput|cfthread|cfthrow|cftimer|cftooltip|cftrace|cftransaction|cftree|cftreeitem|cftry|cfupdate|cfwddx|cfwebsocket|cfwhile|cfwindow|cfxml|cfzip|cfzipparam|cf_socialplugin)[$\\w]*",
"name": "entity.name.tag.cfml"
},
{
"match": "[_$a-zA-Z][$\\w]*",
"name": "variable.other.readwrite.cfml"
}
]
},
"source-css-selector": {
"begin": "\\s*(?=[:.*#a-zA-Z])",
"end": "(?=[/@{)])",
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|samp|script|section|select|small|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",
"name": "entity.name.tag.css"
},
{
"match": "(\\.)[a-zA-Z0-9_-]+",
"name": "entity.other.attribute-name.class.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"match": "(#)[a-zA-Z][a-zA-Z0-9_-]*",
"name": "entity.other.attribute-name.id.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"match": "\\*",
"name": "entity.name.tag.wildcard.css"
},
{
"match": "(:+)(after|before|first-letter|first-line|selection)\\b",
"name": "entity.other.attribute-name.pseudo-element.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"match": "(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\\b",
"name": "entity.other.attribute-name.pseudo-class.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"match": "(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\\b",
"name": "entity.other.attribute-name.pseudo-class.ui-state.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"begin": "((:)not)(\\()",
"endCaptures": {
"0": {
"name": "punctuation.section.function.css"
}
},
"end": "\\)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#source-css-selector"
}
],
"beginCaptures": {
"1": {
"name": "entity.other.attribute-name.pseudo-class.css"
},
"2": {
"name": "punctuation.definition.entity.css"
},
"3": {
"name": "punctuation.section.function.css"
}
}
},
{
"match": "((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(\\-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))",
"captures": {
"3": {
"name": "punctuation.section.function.css"
},
"1": {
"name": "entity.other.attribute-name.pseudo-class.css"
},
"4": {
"name": "constant.numeric.css"
},
"2": {
"name": "punctuation.definition.entity.css"
},
"5": {
"name": "punctuation.section.function.css"
}
}
},
{
"match": "(:)(active|hover|link|visited|focus)\\b",
"name": "entity.other.attribute-name.pseudo-class.css",
"captures": {
"1": {
"name": "punctuation.definition.entity.css"
}
}
},
{
"match": "(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
"name": "meta.attribute-selector.css",
"captures": {
"7": {
"name": "punctuation.definition.string.end.css"
},
"3": {
"name": "punctuation.separator.operator.css"
},
"4": {
"name": "string.unquoted.attribute-value.css"
},
"5": {
"name": "string.quoted.double.attribute-value.css"
},
"1": {
"name": "punctuation.definition.entity.css"
},
"6": {
"name": "punctuation.definition.string.begin.css"
},
"2": {
"name": "entity.other.attribute-name.attribute.css"
}
}
}
],
"name": "meta.selector.css"
},
"source-css-cfoutput": {
"patterns": [
{
"include": "#source-css-cfoutput-comment-block"
},
{
"include": "#source-css-cfoutput-selector"
},
{
"begin": "\\s*((@)charset\\b)\\s*",
"end": "\\s*((?=;|$))",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-string-double"
},
{
"include": "#source-css-cfoutput-string-single"
}
],
"name": "meta.at-rule.charset.css",
"captures": {
"1": {
"name": "keyword.control.at-rule.charset.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
}
}
},
{
"begin": "\\s*((@)import\\b)\\s*",
"end": "\\s*((?=;|\\}))",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-string-double"
},
{
"include": "#source-css-cfoutput-string-single"
},
{
"begin": "\\s*(url)\\s*(\\()\\s*",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "\\s*(\\))\\s*",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "[^'\") \\t]+",
"name": "variable.parameter.url.css"
},
{
"include": "#source-css-cfoutput-string-single"
},
{
"include": "#source-css-cfoutput-string-double"
}
],
"beginCaptures": {
"1": {
"name": "support.function.url.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
},
{
"include": "#source-css-cfoutput-media-query-list"
}
],
"name": "meta.at-rule.import.css",
"captures": {
"1": {
"name": "keyword.control.at-rule.import.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
}
}
},
{
"begin": "^\\s*((@)font-face)\\s*(?=\\{)",
"endCaptures": {
"1": {
"name": "punctuation.section.property-list.css"
}
},
"end": "\\s*(\\})",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-rule-list"
}
],
"name": "meta.at-rule.font-face.css",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.font-face.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
}
}
},
{
"begin": "(?=^\\s*@media\\s*.*?\\{)",
"endCaptures": {
"1": {
"name": "punctuation.section.property-list.css"
}
},
"end": "\\s*(\\})",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"begin": "^\\s*((@)media)(?=.*?\\{)",
"end": "\\s*(?=\\{)",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-media-query-list"
}
],
"name": "meta.at-rule.media.css",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.media.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
},
"3": {
"name": "support.constant.media.css"
}
}
},
{
"begin": "\\s*(\\{)",
"end": "(?=\\})",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput"
}
],
"beginCaptures": {
"1": {
"name": "punctuation.section.property-list.css"
}
}
}
]
},
{
"begin": "(?=\\{)",
"endCaptures": {
"1": {
"name": "punctuation.section.property-list.css"
}
},
"end": "\\}",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-rule-list"
}
]
}
]
},
"cfoutput-injection": {
"patterns": [
{
"match": "##",
"name": "constant.character.escape.hash.cfml"
},
{
"begin": "#",
"endCaptures": {
"0": {
"name": "constant.character.hash.cfml.end"
}
},
"end": "#",
"patterns": [
{
"include": "#source-cfml-script"
}
],
"contentName": "source.cfml.script",
"beginCaptures": {
"0": {
"name": "constant.character.hash.cfml.start"
}
}
},
{
"include": "#cfml-tags"
}
]
},
"string": {
"patterns": [
{
"include": "#string-quoted-single"
},
{
"include": "#string-quoted-double"
}
]
},
"source-cfml-script": {
"patterns": [
{
"include": "#source-cfml-script-main"
}
]
},
"source-css-cfoutput-string-single": {
"begin": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"end": "'",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "\\\\.",
"name": "constant.character.escape.css"
}
],
"name": "string.quoted.single.css",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
}
},
"source-cfml-script-static-method-call": {
"patterns": [
{
"begin": "([_$a-zA-Z][$\\w]*)\\s*(?=\\()",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"include": "#source-cfml-script-method-call-params"
}
],
"name": "meta.function-call.method.static.cfml",
"beginCaptures": {
"1": {
"name": "variable.function.static.cfml"
}
}
}
]
},
"source-cfml-script-statements": {
"patterns": [
{
"include": "#source-cfml-script-conditional"
},
{
"include": "#source-cfml-script-static"
},
{
"begin": "\\{",
"endCaptures": {
"0": {
"name": "punctuation.definition.block.end.cfml"
}
},
"end": "\\}",
"patterns": [
{
"include": "#source-cfml-script-statements"
}
],
"name": "meta.block.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.block.begin.cfml"
}
}
},
{
"include": "#source-cfml-script-tag-in-script"
},
{
"include": "#source-cfml-script-tag-in-script-cf"
},
{
"include": "#source-cfml-script-expressions"
}
]
},
"source-cfml-script-expressions": {
"patterns": [
{
"include": "#source-cfml-script-comments"
},
{
"include": "#source-cfml-script-string"
},
{
"include": "#source-cfml-script-constructor"
},
{
"include": "#source-cfml-script-operators"
},
{
"include": "#source-cfml-script-keywords"
},
{
"include": "#source-cfml-script-constants"
},
{
"include": "#source-cfml-script-named-function"
},
{
"include": "#source-cfml-script-anonymous-function"
},
{
"include": "#source-cfml-script-struct-literal"
},
{
"include": "#source-cfml-script-brackets"
},
{
"include": "#source-cfml-script-number"
},
{
"include": "#source-cfml-script-call"
},
{
"include": "#source-cfml-script-variable"
},
{
"include": "#source-cfml-script-punctuation"
}
]
},
"source-cfml-script-method-call": {
"patterns": [
{
"include": "#source-cfml-script-support-method-call"
},
{
"begin": "([_$a-zA-Z][$\\w]*)\\s*(?=\\()",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"include": "#source-cfml-script-method-call-params"
}
],
"name": "meta.function-call.method.cfml",
"beginCaptures": {
"1": {
"name": "variable.function.cfml"
}
}
}
]
},
"source-cfml-script-tag-generic-attribute": {
"patterns": [
{
"include": "#source-cfml-script-comments"
},
{
"match": "\\b([a-zA-Z0-9:-]+)\\b",
"captures": {
"1": {
"name": "entity.other.attribute-name.cfml"
}
}
},
{
"match": "(=)\\s*((?:[^\\s<>/'\"{;]|/(?!/>))+)",
"captures": {
"1": {
"name": "punctuation.separator.key-value.cfml"
},
"2": {
"name": "string.unquoted.cfml"
}
}
},
{
"match": "=",
"name": "punctuation.separator.key-value.cfml"
},
{
"include": "#source-cfml-script-tag-string"
}
]
},
"source-cfml-script-sql-string": {
"patterns": [
{
"end": "(\")(?!\")",
"begin": "\"",
"beginCaptures": {
"0": {
"name": "string.quoted.double.cfml punctuation.definition.string.begin.cfml"
}
},
"contentName": "source.sql",
"patterns": [
{
"match": "\"\"",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
},
{
"include": "#source-sql"
}
],
"endCaptures": {
"1": {
"name": "string.quoted.double.cfml punctuation.definition.string.end.cfml"
}
},
"name": "meta.queryexecute.sql.cfml"
},
{
"end": "(')(?!')",
"begin": "'",
"beginCaptures": {
"0": {
"name": "string.quoted.single.cfml punctuation.definition.string.begin.cfml"
}
},
"contentName": "source.sql",
"patterns": [
{
"match": "''",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
},
{
"include": "#source-sql"
}
],
"endCaptures": {
"1": {
"name": "string.quoted.single.cfml punctuation.definition.string.end.cfml"
}
},
"name": "meta.queryexecute.sql.cfml"
}
]
},
"source-sql-strings": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"begin": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"end": "'",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_escape"
}
],
"name": "string.quoted.single.sql",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
}
},
{
"begin": "`",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"end": "`",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_escape"
}
],
"name": "string.quoted.other.backtick.sql",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
}
},
{
"begin": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"end": "\"",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_interpolation"
}
],
"name": "string.quoted.double.sql",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
}
},
{
"begin": "%\\{",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"end": "\\}",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_interpolation"
}
],
"name": "string.other.quoted.brackets.sql",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
}
}
]
},
"text-html-cfml": {
"patterns": [
{
"begin": "(<)([a-zA-Z0-9:]++)(?=[^>]*>\\2>)",
"endCaptures": {
"3": {
"name": "punctuation.definition.tag.begin.html"
},
"1": {
"name": "punctuation.definition.tag.end.html"
},
"4": {
"name": "entity.name.tag.html"
},
"2": {
"name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"
},
"5": {
"name": "punctuation.definition.tag.end.html"
}
},
"end": "(>)(<)(/)(\\2)(>)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#text-html-cfml-tag-stuff"
}
],
"name": "meta.tag.any.html",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.html"
},
"2": {
"name": "entity.name.tag.html"
}
}
},
{
"begin": "(<\\?)(xml)",
"end": "(\\?>)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#text-html-cfml-tag-generic-attribute"
},
{
"include": "#text-html-cfml-string-double-quoted"
},
{
"include": "#text-html-cfml-string-single-quoted"
}
],
"name": "meta.tag.preprocessor.xml.html",
"captures": {
"1": {
"name": "punctuation.definition.tag.html"
},
"2": {
"name": "entity.name.tag.xml.html"
}
}
},
{
"begin": ")",
"name": "comment.block.html.js",
"captures": {
"0": {
"name": "punctuation.definition.comment.html.js"
},
"2": {
"name": "punctuation.definition.comment.html.js"
}
}
},
{
"match": "\\b(boolean|byte|char|class|double|enum|float|function|int|interface|long|short|var|void)\\b",
"name": "storage.type.js"
},
{
"match": "\\b(const|export|extends|final|implements|native|private|protected|public|static|synchronized|throws|transient|volatile)\\b",
"name": "storage.modifier.js"
},
{
"match": "\\b(break|case|catch|continue|default|do|else|finally|for|goto|if|import|package|return|switch|throw|try|while)\\b",
"name": "keyword.control.js"
},
{
"match": "\\b(delete|in|instanceof|new|typeof|with)\\b",
"name": "keyword.operator.js"
},
{
"match": "\\btrue\\b",
"name": "constant.language.boolean.true.js"
},
{
"match": "\\bfalse\\b",
"name": "constant.language.boolean.false.js"
},
{
"match": "\\bnull\\b",
"name": "constant.language.null.js"
},
{
"match": "\\b(super|this)\\b",
"name": "variable.language.js"
},
{
"match": "\\b(debugger)\\b",
"name": "keyword.other.js"
},
{
"match": "\\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|String|Style|Submit|screen|sun|Text|Textarea|window|XMLHttpRequest)\\b",
"name": "support.class.js"
},
{
"match": "\\b(s(h(ift|ow(Mod(elessDialog|alDialog)|Help))|croll(X|By(Pages|Lines)?|Y|To)?|t(op|rike)|i(n|zeToContent|debar|gnText)|ort|u(p|b(str(ing)?)?)|pli(ce|t)|e(nd|t(Re(sizable|questHeader)|M(i(nutes|lliseconds)|onth)|Seconds|Ho(tKeys|urs)|Year|Cursor|Time(out)?|Interval|ZOptions|Date|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(ome|andleEvent)|navigate|c(har(CodeAt|At)|o(s|n(cat|textual|firm)|mpile)|eil|lear(Timeout|Interval)?|a(ptureEvents|ll)|reate(StyleSheet|Popup|EventObject))|t(o(GMTString|S(tring|ource)|U(TCString|pperCase)|Lo(caleString|werCase))|est|a(n|int(Enabled)?))|i(s(NaN|Finite)|ndexOf|talics)|d(isableExternalCapture|ump|etachEvent)|u(n(shift|taint|escape|watch)|pdateCommands)|j(oin|avaEnabled)|p(o(p|w)|ush|lugins.refresh|a(ddings|rse(Int|Float)?)|r(int|ompt|eference))|e(scape|nableExternalCapture|val|lementFromPoint|x(p|ec(Script|Command)?))|valueOf|UTC|queryCommand(State|Indeterm|Enabled|Value)|f(i(nd|le(ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(nt(size|color)|rward)|loor|romCharCode)|watch|l(ink|o(ad|g)|astIndexOf)|a(sin|nchor|cos|t(tachEvent|ob|an(2)?)|pply|lert|b(s|ort))|r(ou(nd|teEvents)|e(size(By|To)|calc|turnValue|place|verse|l(oad|ease(Capture|Events)))|andom)|g(o|et(ResponseHeader|M(i(nutes|lliseconds)|onth)|Se(conds|lection)|Hours|Year|Time(zoneOffset)?|Da(y|te)|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear)|FullYear|A(ttention|llResponseHeaders)))|m(in|ove(B(y|elow)|To(Absolute)?|Above)|ergeAttributes|a(tch|rgins|x))|b(toa|ig|o(ld|rderWidths)|link|ack))\\b(?=\\()",
"name": "support.function.js"
},
{
"match": "\\b(s(ub(stringData|mit)|plitText|e(t(NamedItem|Attribute(Node)?)|lect))|has(ChildNodes|Feature)|namedItem|c(l(ick|o(se|neNode))|reate(C(omment|DATASection|aption)|T(Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(ntityReference|lement)|Attribute))|tabIndex|i(nsert(Row|Before|Cell|Data)|tem)|open|delete(Row|C(ell|aption)|T(Head|Foot)|Data)|focus|write(ln)?|a(dd|ppend(Child|Data))|re(set|place(Child|Data)|move(NamedItem|Child|Attribute(Node)?)?)|get(NamedItem|Element(sBy(Name|TagName)|ById)|Attribute(Node)?)|blur)\\b(?=\\()",
"name": "support.function.dom.js"
},
{
"match": "(?<=\\.)(s(ystemLanguage|cr(ipts|ollbars|een(X|Y|Top|Left))|t(yle(Sheets)?|atus(Text|bar)?)|ibling(Below|Above)|ource|uffixes|e(curity(Policy)?|l(ection|f)))|h(istory|ost(name)?|as(h|Focus))|y|X(MLDocument|SLDocument)|n(ext|ame(space(s|URI)|Prop))|M(IN_VALUE|AX_VALUE)|c(haracterSet|o(n(structor|trollers)|okieEnabled|lorDepth|mp(onents|lete))|urrent|puClass|l(i(p(boardData)?|entInformation)|osed|asses)|alle(e|r)|rypto)|t(o(olbar|p)|ext(Transform|Indent|Decoration|Align)|ags)|SQRT(1_2|2)|i(n(ner(Height|Width)|put)|ds|gnoreCase)|zIndex|o(scpu|n(readystatechange|Line)|uter(Height|Width)|p(sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(i(splay|alog(Height|Top|Width|Left|Arguments)|rectories)|e(scription|fault(Status|Ch(ecked|arset)|View)))|u(ser(Profile|Language|Agent)|n(iqueID|defined)|pdateInterval)|_content|p(ixelDepth|ort|ersonalbar|kcs11|l(ugins|atform)|a(thname|dding(Right|Bottom|Top|Left)|rent(Window|Layer)?|ge(X(Offset)?|Y(Offset)?))|r(o(to(col|type)|duct(Sub)?|mpter)|e(vious|fix)))|e(n(coding|abledPlugin)|x(ternal|pando)|mbeds)|v(isibility|endor(Sub)?|Linkcolor)|URLUnencoded|P(I|OSITIVE_INFINITY)|f(ilename|o(nt(Size|Family|Weight)|rmName)|rame(s|Element)|gColor)|E|whiteSpace|l(i(stStyleType|n(eHeight|kColor))|o(ca(tion(bar)?|lName)|wsrc)|e(ngth|ft(Context)?)|a(st(M(odified|atch)|Index|Paren)|yer(s|X)|nguage))|a(pp(MinorVersion|Name|Co(deName|re)|Version)|vail(Height|Top|Width|Left)|ll|r(ity|guments)|Linkcolor|bove)|r(ight(Context)?|e(sponse(XML|Text)|adyState))|global|x|m(imeTypes|ultiline|enubar|argin(Right|Bottom|Top|Left))|L(N(10|2)|OG(10E|2E))|b(o(ttom|rder(Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(Color|Image)))\\b",
"name": "support.constant.js"
},
{
"match": "(?<=\\.)(s(hape|ystemId|c(heme|ope|rolling)|ta(ndby|rt)|ize|ummary|pecified|e(ctionRowIndex|lected(Index)?)|rc)|h(space|t(tpEquiv|mlFor)|e(ight|aders)|ref(lang)?)|n(o(Resize|tation(s|Name)|Shade|Href|de(Name|Type|Value)|Wrap)|extSibling|ame)|c(h(ildNodes|Off|ecked|arset)?|ite|o(ntent|o(kie|rds)|de(Base|Type)?|l(s|Span|or)|mpact)|ell(s|Spacing|Padding)|l(ear|assName)|aption)|t(ype|Bodies|itle|Head|ext|a(rget|gName)|Foot)|i(sMap|ndex|d|m(plementation|ages))|o(ptions|wnerDocument|bject)|d(i(sabled|r)|o(c(type|umentElement)|main)|e(clare|f(er|ault(Selected|Checked|Value)))|at(eTime|a))|useMap|p(ublicId|arentNode|r(o(file|mpt)|eviousSibling))|e(n(ctype|tities)|vent|lements)|v(space|ersion|alue(Type)?|Link|Align)|URL|f(irstChild|orm(s)?|ace|rame(Border)?)|width|l(ink(s)?|o(ngDesc|wSrc)|a(stChild|ng|bel))|a(nchors|c(ce(ssKey|pt(Charset)?)|tion)|ttributes|pplets|l(t|ign)|r(chive|eas)|xis|Link|bbr)|r(ow(s|Span|Index)|ules|e(v|ferrer|l|adOnly))|m(ultiple|e(thod|dia)|a(rgin(Height|Width)|xLength))|b(o(dy|rder)|ackground|gColor))\\b",
"name": "support.constant.dom.js"
},
{
"match": "\\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\\b",
"name": "support.constant.dom.js"
},
{
"match": "\\bon(R(ow(s(inserted|delete)|e(nter|xit))|e(s(ize(start|end)?|et)|adystatechange))|Mouse(o(ut|ver)|down|up|move)|B(efore(cut|deactivate|u(nload|pdate)|p(aste|rint)|editfocus|activate)|lur)|S(croll|top|ubmit|elect(start|ionchange)?)|H(over|elp)|C(hange|ont(extmenu|rolselect)|ut|ellchange|l(ick|ose))|D(eactivate|ata(setc(hanged|omplete)|available)|r(op|ag(start|over|drop|en(ter|d)|leave)?)|blclick)|Unload|P(aste|ropertychange)|Error(update)?|Key(down|up|press)|Focus|Load|A(ctivate|fter(update|print)|bort))\\b",
"name": "support.function.event-handler.js"
},
{
"match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?\\s*\\{))",
"endCaptures": {
"0": {
"name": "meta.function.body.cfml punctuation.definition.block.end.cfml"
}
},
"end": "\\}",
"patterns": [
{
"begin": "\\{",
"end": "(?=\\})",
"patterns": [
{
"include": "#source-cfml-script-statements"
}
],
"name": "meta.function.body.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.block.begin.cfml"
}
}
},
{
"match": "\\b(function)\\b\\s*",
"captures": {
"0": {
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml"
},
"1": {
"name": "storage.type.function.cfml"
}
}
},
{
"match": "\\s*(=>)\\s*",
"captures": {
"0": {
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml"
},
"1": {
"name": "storage.type.function.arrow.cfml"
}
}
},
{
"match": "[_$a-zA-Z][$\\w]*",
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml entity.name.function.cfml"
},
{
"begin": "\\(",
"end": "(?=\\))",
"patterns": [
{
"include": "#source-cfml-script-function-parameter"
}
],
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml meta.function.parameters.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.parameters.begin.cfml"
}
}
},
{
"begin": "\\)",
"end": "(?=(\\{|=>))",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute"
}
],
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml",
"beginCaptures": {
"0": {
"name": "meta.function.parameters.cfml punctuation.definition.parameters.end.cfml"
}
}
}
]
},
{
"begin": "(?=\\s*\\([^\\(]*?\\)\\s*=>)",
"end": "(?=[);}\\],\\n])",
"patterns": [
{
"begin": "\\s*(=>)\\s*",
"end": "(?=[);}\\],\\n])",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"contentName": "meta.function.body.cfml",
"beginCaptures": {
"0": {
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml"
},
"1": {
"name": "storage.type.function.arrow.cfml"
}
}
},
{
"begin": "\\(",
"endCaptures": {
"0": {
"name": "punctuation.definition.parameters.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"include": "#source-cfml-script-function-parameter"
}
],
"name": "meta.function.anonymous.cfml meta.function.declaration.cfml meta.function.parameters.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.parameters.begin.cfml"
}
}
}
]
}
]
},
"source-css-color-values": {
"patterns": [
{
"include": "#cfml-tags"
},
{
"comment": "http://www.w3.org/TR/CSS21/syndata.html#value-def-color",
"match": "\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",
"name": "support.constant.color.w3c-standard-color-name.css"
},
{
"comment": "These colours are mostly recognised but will not validate. ref: http://www.w3schools.com/css/css_colornames.asp",
"match": "\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",
"name": "invalid.deprecated.color.w3c-non-standard-color-name.css"
},
{
"begin": "(hsla?|rgba?)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "(?x)\\b\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\s*,\\s*){2}\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\b)\n\t\t\t\t\t\t\t (\\s*,\\s*((0?\\.[0-9]+)|[0-1]))?\n\t\t\t\t\t\t\t",
"name": "constant.other.color.rgb-value.css"
},
{
"match": "\\b([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%",
"name": "constant.other.color.rgb-percentage.css"
},
{
"include": "#source-css-numeric-values"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
}
]
},
"source-cfml-script-tag-in-script": {
"patterns": [
{
"begin": "(?i)\\b(property)(?!\\s+in\\b)(\\s+(any|array|binary|boolean|component|date|guid|numeric|query|string|struct|xml|uuid|[_$a-zA-Z][$\\w]*))?\\s+([_$a-zA-Z][$\\w]*\\b)(?!\\s*=)",
"end": "(?=(;|{))",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute"
}
],
"name": "meta.tag.script.cfml meta.tag.property.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
},
"3": {
"name": "storage.type.cfml"
},
"4": {
"name": "string.unquoted.cfml meta.tag.property.name.cfml"
}
}
},
{
"begin": "(?i)\\b(property)(?!\\s+in\\b)(?=(\\s+[a-zA-Z]|\\s*$|\\s*[{;]))",
"end": "(?=(;|{))",
"patterns": [
{
"match": "(?i)\\b(name)\\s*(=)\\s*(?:((\")([^<>\"']*)(\"))|((')([^<>\"']*)('))|([^<>\"'\\s]*))",
"captures": {
"7": {
"name": "string.quoted.single.cfml"
},
"3": {
"name": "string.quoted.double.cfml"
},
"11": {
"name": "string.unquoted.cfml meta.tag.property.name.cfml"
},
"4": {
"name": "punctuation.definition.string.begin.cfml"
},
"8": {
"name": "punctuation.definition.string.begin.cfml"
},
"9": {
"name": "meta.tag.property.name.cfml"
},
"5": {
"name": "meta.tag.property.name.cfml"
},
"1": {
"name": "entity.other.attribute-name.cfml"
},
"6": {
"name": "punctuation.definition.string.end.cfml"
},
"10": {
"name": "punctuation.definition.string.end.cfml"
},
"2": {
"name": "punctuation.separator.key-value.cfml"
}
}
},
{
"include": "#source-cfml-script-tag-generic-attribute"
}
],
"name": "meta.tag.script.cfml meta.tag.property.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
}
}
},
{
"begin": "(?i)\\b(param)(?!\\s+in\\b)(?=\\s+(name|default|max|maxLength|min|pattern|type)\\s*=)",
"end": "(?=[;{])",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute-script"
}
],
"name": "meta.tag.script.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
}
}
},
{
"begin": "(?i)\\b(param)(?!\\s+in\\b)\\s+([_$a-zA-Z][$\\w\\.]*)(?=\\s+(name|default|max|maxLength|min|pattern|type))",
"end": "(?=[;{])",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute-script"
}
],
"name": "meta.tag.script.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
},
"2": {
"name": "string.unquoted.cfml"
}
}
},
{
"begin": "(?i)\\b(param)(?!\\s+in\\b)(\\s+([_$a-zA-Z][$\\w]*))?\\s+([_$a-zA-Z][$\\w\\.]*\\b)",
"end": "(?=[;{])",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute-script"
}
],
"name": "meta.tag.script.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
},
"3": {
"name": "storage.type.cfml"
},
"4": {
"name": "string.unquoted.cfml"
}
}
},
{
"begin": "(?i)\\b(param)(?!\\s+in\\b)(?=(\\s+[a-zA-Z]|\\s*[{;]|\\s*$))",
"end": "(?=[;{])",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute-script"
}
],
"name": "meta.tag.script.cfml",
"beginCaptures": {
"1": {
"name": "entity.name.tag.script.cfml"
}
}
},
{
"begin": "(?x)(\\b)\n(?i:\n (ajaximport|ajaxproxy|applet|application|argument|associate|break|cache|calendar\n |chart|chartdata|chartseries|client|clientsettings|col|collection|content|cookie|dbinfo\n |directory|div|document|documentitem|documentsection|dump|error|exchangecalendar\n |exchangeconnection|exchangecontact|exchangefilter|exchangemail|exchangetask\n |execute|feed|file|fileupload|flush|form|formgroup|formitem|ftp|grid|gridcolumn\n |gridrow|gridupdate|header|htmlhead|htmltopdf|htmltopdfitem|http|httpparam|image\n |imap|imapfilter|import|include|index|input|insert|invoke|invokeargument|layout\n |layoutarea|ldap|location|lock|log|login|loginuser|logout|loop|mail|mailparam|mailpart\n |map|mapitem|mediaplayer|menu|menuitem|messagebox|module|ntauthenticate|oauth|object\n |objectcache|output|param|pdf|pdfform|pdfformparam|pdfparam|pdfsubform|pod|pop\n |presentation|presentationslide|presenter|print|processingdirective|procparam|procresult\n |progressbar|property|query|queryparam|registry|report|reportparam|savecontent|schedule\n |search|select|setting|sharepoint|silent|slider|spreadsheet|sprydataset|storedproc\n |table|textarea|textinput|thread|throw|timer|tooltip|trace|transaction|tree|treeitem|try\n |update|video|videoplayer|videoplayerparam|wddx|websocket|window|xml|zip|zipparam)\n)(?=\\s+[a-zA-Z0-9:-]+\\s*([=;{]|$)|\\s*({|$))",
"endCaptures": {
"1": {
"name": "meta.block.cfml punctuation.definition.block.end.cfml"
}
},
"end": "(\\})|(?=;)",
"patterns": [
{
"match": "\\s+",
"name": "meta.tag.script.cfml"
},
{
"include": "#source-cfml-script-tag-generic-attribute-script"
},
{
"include": "#source-cfml-script-block-scope"
}
],
"beginCaptures": {
"2": {
"name": "meta.tag.script.cfml entity.name.tag.script.cfml"
}
}
}
]
},
"source-cfml-script-function-call-params": {
"begin": "\\(",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"match": ",",
"name": "punctuation.separator.function-call.cfml"
},
{
"begin": "\\b([_$a-zA-Z][$\\w]*)\\s*(=)(?!=)",
"end": "(?=[,\\)])",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"beginCaptures": {
"1": {
"name": "entity.other.function-parameter.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"include": "#source-cfml-script-expressions"
}
],
"name": "meta.function-call.cfml meta.function-call.parameters.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.cfml"
}
}
},
"source-cfml-script-string": {
"patterns": [
{
"include": "#source-cfml-script-string-quoted-single"
},
{
"include": "#source-cfml-script-string-quoted-double"
}
]
},
"source-cfml-script-keywords-top-level": {
"patterns": [
{
"begin": "\\bimport\\b",
"end": "(?=\\n|;)",
"patterns": [
{
"include": "#source-cfml-script-string"
},
{
"match": "[_$a-zA-Z][$\\w]*",
"name": "variable.other.readwrite.cfml"
},
{
"match": "\\*",
"name": "constant.other.cfml"
}
],
"name": "meta.import.cfml",
"beginCaptures": {
"0": {
"name": "keyword.control.import.cfml"
}
}
}
]
},
"source-css-comment-block": {
"begin": "/\\*",
"end": "\\*/",
"name": "comment.block.css",
"captures": {
"0": {
"name": "punctuation.definition.comment.css"
}
}
},
"cfinterface": {
"begin": "(?i)(?=)",
"patterns": [
{
"begin": "(?i)(<)(cfinterface)",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.cfml"
}
},
"end": ">",
"patterns": [
{
"include": "#extends"
},
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml meta.interface.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml storage.type.interface.cfml"
}
}
},
{
"include": "#cfml-tags"
}
]
},
"text-html-cfml-cfoutput-string-double-quoted": {
"begin": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.html"
}
},
"end": "\"",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#text-html-cfml-cfoutput-entities"
}
],
"name": "string.quoted.double.html",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.html"
}
}
},
"source-cfml-script-tag-string": {
"patterns": [
{
"include": "#source-cfml-script-tag-string-quoted-single"
},
{
"include": "#source-cfml-script-string-quoted-double"
}
]
},
"source-css-media-query": {
"begin": "(?i)\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.arbitrary-repitition.css"
}
},
"end": "\\s*(?:(,)|(?=[{;]))",
"patterns": [
{
"include": "#cfml-tags"
},
{
"begin": "\\s*(and)?\\s*(\\()\\s*",
"end": "\\)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"begin": "(?x)\n\t (\n\t ((min|max)-)?\n\t (\n\t ((device-)?(height|width|aspect-ratio))|\n\t (color(-index)?)|monochrome|resolution\n\t )\n\t )|grid|scan|orientation\n\t \\s*(?=[:)])",
"endCaptures": {
"1": {
"name": "punctuation.separator.key-value.css"
}
},
"end": "(:)|(?=\\))",
"beginCaptures": {
"0": {
"name": "support.type.property-name.media.css"
}
}
},
{
"match": "\\b(portrait|landscape|progressive|interlace)",
"name": "support.constant.property-value.css"
},
{
"match": "\\s*(\\d+)(/)(\\d+)",
"captures": {
"1": {
"name": "constant.numeric.css"
},
"2": {
"name": "keyword.operator.arithmetic.css"
},
"3": {
"name": "constant.numeric.css"
}
}
},
{
"include": "#source-css-numeric-values"
}
],
"beginCaptures": {
"1": {
"name": "keyword.operator.logic.media.css"
}
}
}
],
"beginCaptures": {
"1": {
"name": "keyword.operator.logic.media.css"
},
"2": {
"name": "support.constant.media.css"
}
}
},
"cfml-tags": {
"patterns": [
{
"include": "#comments"
},
{
"include": "#cffunction"
},
{
"include": "#cfoutput"
},
{
"include": "#cfquery"
},
{
"include": "#cfif"
},
{
"include": "#tags-with-script"
},
{
"include": "#cfscript"
},
{
"include": "#cfproperty"
},
{
"include": "#cfargument"
},
{
"include": "#custom-tags"
},
{
"begin": "(?i)(<)(cf[a-z]+)",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.cfml"
}
},
"end": "(/?>)",
"patterns": [
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
}
}
},
{
"match": "(?i)()(cf[a-z]+)(>)",
"name": "meta.tag.cfml",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
},
"3": {
"name": "punctuation.definition.tag.end.cfml"
}
}
}
]
},
"source-css-string-double": {
"begin": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"end": "\"",
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "\\\\.",
"name": "constant.character.escape.css"
}
],
"name": "string.quoted.double.css",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
}
},
"source-sql": {
"patterns": [
{
"include": "#source-sql-comments"
},
{
"match": "(?i:^\\s*(create)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4",
"name": "meta.create.sql",
"captures": {
"1": {
"name": "keyword.other.create.sql"
},
"2": {
"name": "keyword.other.sql"
},
"5": {
"name": "entity.name.function.sql"
}
}
},
{
"match": "(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))",
"name": "meta.drop.sql",
"captures": {
"1": {
"name": "keyword.other.create.sql"
},
"2": {
"name": "keyword.other.sql"
}
}
},
{
"match": "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)",
"name": "meta.drop.sql",
"captures": {
"3": {
"name": "entity.name.function.sql"
},
"1": {
"name": "keyword.other.create.sql"
},
"4": {
"name": "keyword.other.cascade.sql"
},
"2": {
"name": "keyword.other.table.sql"
}
}
},
{
"match": "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)",
"name": "meta.alter.sql",
"captures": {
"1": {
"name": "keyword.other.create.sql"
},
"2": {
"name": "keyword.other.table.sql"
}
}
},
{
"match": "(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times)(?:\\((\\d+)\\))(\\swithoutstimeszone\\b)?\n\n\t\t\t\t# special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s)\\((\\d+)\\)(\\swithoutstimeszone\\b)?)?\n\n\t\t\t",
"captures": {
"10": {
"name": "constant.numeric.sql"
},
"2": {
"name": "storage.type.sql"
},
"15": {
"name": "storage.type.sql"
},
"3": {
"name": "constant.numeric.sql"
},
"11": {
"name": "storage.type.sql"
},
"4": {
"name": "storage.type.sql"
},
"5": {
"name": "constant.numeric.sql"
},
"12": {
"name": "storage.type.sql"
},
"6": {
"name": "storage.type.sql"
},
"13": {
"name": "storage.type.sql"
},
"7": {
"name": "constant.numeric.sql"
},
"8": {
"name": "constant.numeric.sql"
},
"14": {
"name": "constant.numeric.sql"
},
"1": {
"name": "storage.type.sql"
},
"9": {
"name": "storage.type.sql"
}
}
},
{
"match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)",
"name": "storage.modifier.sql"
},
{
"match": "\\b\\d+\\b",
"name": "constant.numeric.sql"
},
{
"match": "(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|or|like|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|straight_join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)",
"name": "keyword.other.DML.sql"
},
{
"match": "(?i:\\b(on|((is\\s+)?not\\s+)?null)\\b)",
"name": "keyword.other.DDL.create.II.sql"
},
{
"match": "(?i:\\bvalues\\b)",
"name": "keyword.other.DML.II.sql"
},
{
"match": "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)",
"name": "keyword.other.LUW.sql"
},
{
"match": "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)",
"name": "keyword.other.authorization.sql"
},
{
"match": "(?i:\\bin\\b)",
"name": "keyword.other.data-integrity.sql"
},
{
"match": "(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)",
"name": "keyword.other.object-comments.sql"
},
{
"match": "(?i)\\bAS\\b",
"name": "keyword.other.alias.sql"
},
{
"match": "(?i)\\b(DESC|ASC)\\b",
"name": "keyword.other.order.sql"
},
{
"match": "\\*",
"name": "keyword.operator.star.sql"
},
{
"match": "[!<>]?=|<>|<|>",
"name": "keyword.operator.comparison.sql"
},
{
"match": "-|\\+|/",
"name": "keyword.operator.math.sql"
},
{
"match": "\\|\\|",
"name": "keyword.operator.concatenator.sql"
},
{
"comment": "List of SQL99 built-in functions from http://www.oreilly.com/catalog/sqlnut/chapter/ch04.html",
"match": "(?i)\\b(CURRENT_(DATE|TIME(STAMP)?|USER)|(SESSION|SYSTEM)_USER)\\b",
"name": "support.function.scalar.sql"
},
{
"comment": "List of SQL99 built-in functions from http://www.oreilly.com/catalog/sqlnut/chapter/ch04.html",
"match": "(?i)\\b(AVG|COUNT|MIN|MAX|SUM)(?=\\s*\\()",
"name": "support.function.aggregate.sql"
},
{
"match": "(?i)\\b(CONCATENATE|CONVERT|LOWER|SUBSTRING|TRANSLATE|TRIM|UPPER)\\b",
"name": "support.function.string.sql"
},
{
"match": "\\b(\\w+?)\\.(\\w+)\\b",
"captures": {
"1": {
"name": "constant.other.database-name.sql"
},
"2": {
"name": "constant.other.table-name.sql"
}
}
},
{
"include": "#source-sql-strings"
},
{
"include": "#source-sql-regexps"
}
]
},
"source-css-cfoutput-media-query-list": {
"begin": "\\s*(?=[^{;])",
"end": "\\s*(?=[{;])",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-css-cfoutput-media-query"
}
]
},
"cfcomponent": {
"begin": "(?i)(?=)",
"patterns": [
{
"begin": "(?i)(<)(cfcomponent)",
"end": "(?=>)",
"patterns": [
{
"include": "#extends"
},
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml meta.class.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml storage.type.class.cfml"
}
}
},
{
"begin": ">",
"end": "(?i)(?=)",
"patterns": [
{
"include": "#cfml-tags"
}
],
"contentName": "meta.class.body.tag.cfml",
"beginCaptures": {
"0": {
"name": "meta.tag.cfml meta.class.cfml punctuation.definition.tag.end.cfml"
}
}
}
]
},
"source-sql-comments": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "(--).*$\\n?",
"name": "comment.line.double-dash.sql",
"captures": {
"1": {
"name": "punctuation.definition.comment.sql"
}
}
},
{
"match": "(#).*$\\n?",
"name": "comment.line.number-sign.sql",
"captures": {
"1": {
"name": "punctuation.definition.comment.sql"
}
}
},
{
"begin": "/\\*",
"end": "\\*/",
"name": "comment.block.c",
"captures": {
"0": {
"name": "punctuation.definition.comment.sql"
}
}
}
]
},
"string-quoted-single": {
"begin": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.cfml"
}
},
"end": "'(?!')",
"patterns": [
{
"include": "#hash-delimiters"
},
{
"match": "''",
"name": "constant.character.escape.quote.cfml"
}
],
"name": "string.quoted.single.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.cfml"
}
}
},
"cfproperty": {
"patterns": [
{
"begin": "(?i)(<)(cfproperty)\\b",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.cfml"
}
},
"end": "(/?>)",
"patterns": [
{
"match": "(?i)\\b(name)\\s*(=)\\s*(?:((\")([^<>\"']*)(\"))|((')([^<>\"']*)('))|([^<>\"'\\s]*))",
"captures": {
"7": {
"name": "string.quoted.single.cfml"
},
"3": {
"name": "string.quoted.double.cfml"
},
"11": {
"name": "string.unquoted.cfml meta.tag.property.name.cfml"
},
"4": {
"name": "punctuation.definition.string.begin.cfml"
},
"8": {
"name": "punctuation.definition.string.begin.cfml"
},
"9": {
"name": "meta.tag.property.name.cfml"
},
"5": {
"name": "meta.tag.property.name.cfml"
},
"1": {
"name": "entity.other.attribute-name.cfml"
},
"6": {
"name": "punctuation.definition.string.end.cfml"
},
"10": {
"name": "punctuation.definition.string.end.cfml"
},
"2": {
"name": "punctuation.separator.key-value.cfml"
}
}
},
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml meta.tag.property.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
}
}
}
]
},
"source-css-property-values": {
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "\\b(absolute|all(-scroll)?|always|armenian|auto|avoid|baseline|below|bidi-override|block|bold|bolder|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|geometricPrecision|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|optimize(Legibility|Quality|Speed)|outset|outside|overline|pointer|pre(-(wrap|line))?|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|sub|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical(-(ideographic|text))?|visible(Painted|Fill|Stroke)?|w-resize|wait|whitespace|zero|smaller|larger|((xx?-)?(small|large))|painted|fill|stroke)\\b",
"name": "support.constant.property-value.css"
},
{
"match": "(\\b(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace)\\b)",
"name": "support.constant.font-name.css"
},
{
"include": "#source-css-numeric-values"
},
{
"include": "#source-css-color-values"
},
{
"include": "#source-css-string-double"
},
{
"include": "#source-css-string-single"
},
{
"begin": "(rect)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#source-css-numeric-values"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
},
{
"begin": "(format|local|url|attr|counter|counters)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#source-css-string-single"
},
{
"include": "#source-css-string-double"
},
{
"match": "[^'\") \\t]+",
"name": "variable.parameter.misc.css"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
},
{
"match": "\\!\\s*important",
"name": "keyword.other.important.css"
}
]
},
"source-cfml-script-function-declaration-parameters": {
"patterns": [
{
"begin": "\\(",
"end": "(?=\\))",
"patterns": [
{
"include": "#source-cfml-script-function-parameter"
}
],
"name": "meta.function.declaration.cfml meta.function.parameters.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.parameters.begin.cfml"
}
}
},
{
"begin": "\\)",
"end": "(?=(\\{|;|=>))",
"patterns": [
{
"include": "#source-cfml-script-tag-generic-attribute"
}
],
"name": "meta.function.declaration.cfml",
"beginCaptures": {
"0": {
"name": "meta.function.parameters.cfml punctuation.definition.parameters.end.cfml"
}
}
}
]
},
"cfoutput": {
"begin": "(?i)(?=)",
"patterns": [
{
"begin": "(?i)(<)(cfoutput)",
"end": "(?=>)",
"patterns": [
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
}
}
},
{
"begin": ">",
"end": "(?i)(?=)",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#text-html-cfml-cfoutput"
}
],
"contentName": "meta.scope.cfoutput.cfml text.html.cfml",
"beginCaptures": {
"0": {
"name": "meta.tag.cfml punctuation.definition.tag.end.cfml.test"
}
}
}
]
},
"source-cfml-script-square-brackets": {
"patterns": [
{
"begin": "(?<=[$\\w\\)\\]])\\s*(\\[)",
"endCaptures": {
"0": {
"name": "punctuation.definition.brackets.end.cfml"
}
},
"end": "\\]",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"name": "meta.brackets.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.brackets.begin.cfml"
}
}
},
{
"begin": "\\[",
"endCaptures": {
"0": {
"name": "punctuation.definition.brackets.end.cfml"
}
},
"end": "\\]",
"patterns": [
{
"match": ",",
"name": "punctuation.separator.array-literal.cfml"
},
{
"include": "#source-cfml-script-expressions"
}
],
"name": "meta.array-literal.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.brackets.begin.cfml"
}
}
}
]
},
"source-cfml-script-string-quoted-single": {
"begin": "'",
"endCaptures": {
"1": {
"name": "string.quoted.single.cfml punctuation.definition.string.end.cfml"
}
},
"end": "(')(?!')",
"patterns": [
{
"match": "''",
"name": "string.quoted.single.cfml constant.character.escape.quote.cfml"
},
{
"begin": "(?=\\s*(?:SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|WITH|DECLARE|FROM|WHERE|AND|ORDER BY|GROUP BY|INNER JOIN|OUTER JOIN|LEFT JOIN)\\b)",
"end": "(?='[^'])",
"patterns": [
{
"match": "''",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
},
{
"include": "#source-sql"
}
],
"name": "meta.string.quoted.single.cfml source.sql"
},
{
"begin": "(?=\\S)",
"end": "(?='[^'])",
"patterns": [
{
"match": "''",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
}
],
"name": "string.quoted.single.cfml"
},
{
"match": "[\\s\\n]",
"name": "string.quoted.single.cfml"
}
],
"beginCaptures": {
"0": {
"name": "string.quoted.single.cfml punctuation.definition.string.begin.cfml"
}
}
},
"text-html-cfml-cfoutput-tag-stuff": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#text-html-cfml-cfoutput-tag-id-attribute"
},
{
"include": "#text-html-cfml-cfoutput-tag-generic-attribute"
},
{
"include": "#text-html-cfml-cfoutput-string-double-quoted"
},
{
"include": "#text-html-cfml-cfoutput-string-single-quoted"
}
]
},
"cfargument": {
"patterns": [
{
"begin": "(?i)(<)(cfargument)\\b",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.cfml"
}
},
"end": "(/?>)",
"patterns": [
{
"include": "#tag-generic-attribute"
}
],
"name": "meta.tag.cfml meta.tag.argument.cfml",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.cfml"
},
"2": {
"name": "entity.name.tag.cfml"
}
}
}
]
},
"source-cfml-script-string-quoted-double": {
"begin": "\"",
"endCaptures": {
"1": {
"name": "string.quoted.double.cfml punctuation.definition.string.end.cfml"
}
},
"end": "(\")(?!\")",
"patterns": [
{
"match": "\"\"",
"name": "string.quoted.double.cfml constant.character.escape.quote.cfml"
},
{
"begin": "(?=\\s*(?:SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|WITH|DECLARE|FROM|WHERE|AND|ORDER BY|GROUP BY|INNER JOIN|OUTER JOIN|LEFT JOIN)\\b)",
"end": "(?=\"[^\"])",
"patterns": [
{
"match": "\"\"",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
},
{
"include": "#source-sql"
}
],
"name": "meta.string.quoted.double.cfml source.sql"
},
{
"begin": "(?=\\S)",
"end": "(?=\"[^\"])",
"patterns": [
{
"match": "\"\"",
"name": "constant.character.escape.quote.cfml"
},
{
"include": "#source-cfml-script-hash-delimiters"
}
],
"name": "string.quoted.double.cfml"
},
{
"match": "[\\s\\n]",
"name": "string.quoted.double.cfml"
}
],
"beginCaptures": {
"0": {
"name": "string.quoted.double.cfml punctuation.definition.string.begin.cfml"
}
}
},
"source-cfml-script-arrow-function-declaration-parameters": {
"begin": "\\(",
"endCaptures": {
"0": {
"name": "punctuation.definition.parameters.end.cfml"
}
},
"end": "\\)",
"patterns": [
{
"include": "#source-cfml-script-function-parameter"
}
],
"name": "meta.function.parameters.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.definition.parameters.begin.cfml"
}
}
},
"source-css-cfoutput-string-double": {
"begin": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"end": "\"",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "\\\\.",
"name": "constant.character.escape.css"
}
],
"name": "string.quoted.double.css",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
}
},
"source-cfml-script-support-call-parameter": {
"patterns": [
{
"begin": "\\b([_$a-zA-Z][$\\w\\.]*)\\s*(=)(?!=)",
"end": "(?=[,\\)])",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"captures": {
"1": {
"name": "entity.other.function-parameter.cfml"
},
"2": {
"name": "keyword.operator.assignment.cfml"
}
}
}
]
},
"source-css-cfoutput-color-values": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"comment": "http://www.w3.org/TR/CSS21/syndata.html#value-def-color",
"match": "\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",
"name": "support.constant.color.w3c-standard-color-name.css"
},
{
"comment": "These colours are mostly recognised but will not validate. ref: http://www.w3schools.com/css/css_colornames.asp",
"match": "\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",
"name": "invalid.deprecated.color.w3c-non-standard-color-name.css"
},
{
"begin": "(hsla?|rgba?)\\s*(\\()",
"endCaptures": {
"1": {
"name": "punctuation.section.function.css"
}
},
"end": "(\\))",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"match": "(?x)\\b\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\s*,\\s*){2}\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\b)\n\t\t\t\t\t\t\t (\\s*,\\s*((0?\\.[0-9]+)|[0-1]))?\n\t\t\t\t\t\t\t",
"name": "constant.other.color.rgb-value.css"
},
{
"match": "\\b([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%",
"name": "constant.other.color.rgb-percentage.css"
},
{
"include": "#source-css-cfoutput-numeric-values"
}
],
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
}
}
]
},
"source-cfml-script-tag-generic-attribute-script": {
"patterns": [
{
"match": "\\b[a-zA-Z0-9:-]+\\b",
"name": "meta.tag.script.cfml entity.other.attribute-name.cfml"
},
{
"begin": "=",
"end": "(?=\\s*\\b([a-zA-Z0-9:-]+)\\s*=)|(?=[;\\{])",
"patterns": [
{
"include": "#source-cfml-script-expressions"
}
],
"name": "meta.tag.script.cfml",
"beginCaptures": {
"0": {
"name": "punctuation.separator.key-value.cfml"
}
}
}
]
},
"source-cfml-script-number": {
"match": "(?xi)(?:\\B[-+])?(?:\\b0x[0-9a-f]*|(\\B\\.[0-9]+|\\b[0-9]+(\\.[0-9]*)?))",
"name": "constant.numeric.cfml"
},
"source-css-rule-list": {
"begin": "\\{",
"end": "(?=\\s*\\})",
"patterns": [
{
"include": "#cfml-tags"
},
{
"include": "#source-css-comment-block"
},
{
"begin": "(?",
"name": "comment.line.cfml"
},
{
"begin": "",
"patterns": [
{
"include": "#comments"
}
],
"name": "comment.block.cfml"
}
]
},
"text-html-cfml-entities": {
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
"name": "constant.character.entity.html",
"captures": {
"1": {
"name": "punctuation.definition.entity.html"
},
"3": {
"name": "punctuation.definition.entity.html"
}
}
},
{
"match": "&",
"name": "invalid.illegal.bad-ampersand.html"
}
]
},
"source-cfml-script-operators": {
"patterns": [
{
"match": "!(?!=)",
"name": "keyword.operator.logical.cfml"
},
{
"match": "\\b(?i:not)\\b",
"name": "keyword.operator.logical.cfml"
},
{
"match": "--|\\+\\+",
"name": "keyword.operator.arithmetic.cfml"
},
{
"match": "\\bnew\\b",
"name": "keyword.operator.new.cfml"
},
{
"begin": "\\bin\\b",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.cfml"
}
}
},
{
"begin": "&&|\\|\\|",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.logical.cfml"
}
}
},
{
"begin": "\\b(?i:(and|or|xor|eqv|imp))\\b",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.logical.cfml"
}
}
},
{
"begin": "=(?!=)",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.assignment.cfml"
}
}
},
{
"begin": "\\b(?i:(greater|less|than|equal\\s+to|does|contains|equal|eq|neq|lt|lte|le|gt|gte|ge|and|is))\\b",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.decision.cfml"
}
}
},
{
"begin": "%=|&=|\\*=|\\+=|-=|/=",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.assignment.augmented.cfml"
}
}
},
{
"begin": "&",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.concat.cfml"
}
}
},
{
"begin": "<=|>=|<|>",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.relational.cfml"
}
}
},
{
"begin": "==|!=",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.comparison.cfml"
}
}
},
{
"begin": "/|%|\\*|\\+|-",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.arithmetic.cfml"
}
}
},
{
"begin": "\\?|:(?!:)",
"end": "(?<=\\})|(?=[^\\s\\{])",
"patterns": [
{
"include": "#source-cfml-script-struct-literal"
}
],
"beginCaptures": {
"0": {
"name": "keyword.operator.ternary.cfml"
}
}
}
]
},
"source-cfml-script-main": {
"patterns": [
{
"include": "#source-cfml-script-keywords-top-level"
},
{
"include": "#source-cfml-script-component"
},
{
"include": "#source-cfml-script-statements"
}
]
},
"source-sql-regexps": {
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"begin": "/(?=\\S.*/)",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"end": "/",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_interpolation"
},
{
"match": "\\\\/",
"name": "constant.character.escape.slash.sql"
}
],
"name": "string.regexp.sql",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
}
},
{
"end": "\\}",
"begin": "%r\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.sql"
}
},
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#source-sql-string_interpolation"
}
],
"comment": "We should probably handle nested bracket pairs!?! -- Allan",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.sql"
}
},
"name": "string.regexp.modr.sql"
}
]
},
"source-js": {
"patterns": [
{
"comment": "node.js shebang",
"match": "^#!/usr/bin/env node",
"name": "comment.line.js"
},
{
"match": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\s*(=)\\s*",
"comment": "match stuff like: Sound.prototype = { … } when extending an object",
"name": "meta.class.js",
"captures": {
"1": {
"name": "support.class.js"
},
"2": {
"name": "support.constant.js"
},
"3": {
"name": "keyword.operator.js"
}
}
},
{
"match": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*(function)?\\s*(\\()(.*?)(\\))",
"comment": "match stuff like: Sound.prototype.play = function() { … }",
"name": "meta.function.prototype.js",
"captures": {
"7": {
"name": "variable.parameter.function.js"
},
"3": {
"name": "entity.name.function.js"
},
"8": {
"name": "punctuation.definition.parameters.end.js"
},
"4": {
"name": "keyword.operator.js"
},
"5": {
"name": "storage.type.function.js"
},
"1": {
"name": "support.class.js"
},
"6": {
"name": "punctuation.definition.parameters.begin.js"
},
"2": {
"name": "support.constant.js"
}
}
},
{
"match": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*",
"comment": "match stuff like: Sound.prototype.play = myfunc",
"name": "meta.function.js",
"captures": {
"3": {
"name": "entity.name.function.js"
},
"1": {
"name": "support.class.js"
},
"4": {
"name": "keyword.operator.js"
},
"2": {
"name": "support.constant.js"
}
}
},
{
"match": "([a-zA-Z_?.$][\\w?.$]*)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*(function)\\s*(\\()(.*?)(\\))",
"comment": "match stuff like: Sound.play = function() { … }",
"name": "meta.function.js",
"captures": {
"7": {
"name": "punctuation.definition.parameters.end.js"
},
"3": {
"name": "keyword.operator.js"
},
"4": {
"name": "storage.type.function.js"
},
"5": {
"name": "punctuation.definition.parameters.begin.js"
},
"1": {
"name": "support.class.js"
},
"6": {
"name": "variable.parameter.function.js"
},
"2": {
"name": "entity.name.function.js"
}
}
},
{
"match": "([a-zA-Z_?$][\\w?$]*)\\s*(=)\\s*(function)\\s*(\\()(.*?)(\\))",
"comment": "match stuff like: play = function() { … }",
"name": "meta.function.js",
"captures": {
"3": {
"name": "storage.type.function.js"
},
"1": {
"name": "entity.name.function.js"
},
"6": {
"name": "punctuation.definition.parameters.end.js"
},
"4": {
"name": "punctuation.definition.parameters.begin.js"
},
"2": {
"name": "keyword.operator.js"
},
"5": {
"name": "variable.parameter.function.js"
}
}
},
{
"match": "\\b(function)\\s+([a-zA-Z_$]\\w*)?\\s*(\\()(.*?)(\\))",
"comment": "match regular function like: function myFunc(arg) { … }",
"name": "meta.function.js",
"captures": {
"3": {
"name": "punctuation.definition.parameters.begin.js"
},
"1": {
"name": "storage.type.function.js"
},
"4": {
"name": "variable.parameter.function.js"
},
"2": {
"name": "entity.name.function.js"
},
"5": {
"name": "punctuation.definition.parameters.end.js"
}
}
},
{
"match": "\\b([a-zA-Z_?.$][\\w?.$]*)\\s*:\\s*\\b(function)?\\s*(\\()(.*?)(\\))",
"comment": "match stuff like: foobar: function() { … }",
"name": "meta.function.json.js",
"captures": {
"3": {
"name": "punctuation.definition.parameters.begin.js"
},
"1": {
"name": "entity.name.function.js"
},
"4": {
"name": "variable.parameter.function.js"
},
"2": {
"name": "storage.type.function.js"
},
"5": {
"name": "punctuation.definition.parameters.end.js"
}
}
},
{
"match": "(?:((')([^']*)('))|((\")([^\"]*)(\")))\\s*:\\s*\\b(function)?\\s*(\\()([^)]*)(\\))",
"comment": "Attempt to match \"foo\": function",
"name": "meta.function.json.js",
"captures": {
"10": {
"name": "punctuation.definition.parameters.begin.js"
},
"2": {
"name": "punctuation.definition.string.begin.js"
},
"3": {
"name": "entity.name.function.js"
},
"11": {
"name": "variable.parameter.function.js"
},
"4": {
"name": "punctuation.definition.string.end.js"
},
"5": {
"name": "string.quoted.double.js"
},
"12": {
"name": "punctuation.definition.parameters.end.js"
},
"6": {
"name": "punctuation.definition.string.begin.js"
},
"7": {
"name": "entity.name.function.js"
},
"8": {
"name": "punctuation.definition.string.end.js"
},
"1": {
"name": "string.quoted.single.js"
},
"9": {
"name": "entity.name.function.js"
}
}
},
{
"match": "(new)\\s+(\\w+(?:\\.\\w*)?)",
"name": "meta.class.instance.constructor",
"captures": {
"1": {
"name": "keyword.operator.new.js"
},
"2": {
"name": "entity.name.type.instance.js"
}
}
},
{
"match": "\\b(console)\\b",
"name": "entity.name.type.object.js.firebug"
},
{
"match": "\\.(warn|info|log|error|time|timeEnd|assert)\\b",
"name": "support.function.js.firebug"
},
{
"match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
"name": "constant.numeric.js"
},
{
"begin": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.js"
}
},
"end": "'",
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
"name": "constant.character.escape.js"
}
],
"name": "string.quoted.single.js",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.js"
}
}
},
{
"begin": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.js"
}
},
"end": "\"",
"patterns": [
{
"include": "#cfml-tags"
},
{
"match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)",
"name": "constant.character.escape.js"
}
],
"name": "string.quoted.double.js",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.js"
}
}
},
{
"begin": "/\\*\\*(?!/)",
"end": "\\*/",
"name": "comment.block.documentation.js",
"captures": {
"0": {
"name": "punctuation.definition.comment.js"
}
}
},
{
"begin": "/\\*",
"end": "\\*/",
"name": "comment.block.js",
"captures": {
"0": {
"name": "punctuation.definition.comment.js"
}
}
},
{
"match": "(//).*$\\n?",
"name": "comment.line.double-slash.js",
"captures": {
"1": {
"name": "punctuation.definition.comment.js"
}
}
},
{
"match": "()",
"name": "comment.block.html.js",
"captures": {
"0": {
"name": "punctuation.definition.comment.html.js"
},
"2": {
"name": "punctuation.definition.comment.html.js"
}
}
},
{
"match": "\\b(boolean|byte|char|class|double|enum|float|function|int|interface|long|short|var|void)\\b",
"name": "storage.type.js"
},
{
"match": "\\b(const|export|extends|final|implements|native|private|protected|public|static|synchronized|throws|transient|volatile)\\b",
"name": "storage.modifier.js"
},
{
"match": "\\b(break|case|catch|continue|default|do|else|finally|for|goto|if|import|package|return|switch|throw|try|while)\\b",
"name": "keyword.control.js"
},
{
"match": "\\b(delete|in|instanceof|new|typeof|with)\\b",
"name": "keyword.operator.js"
},
{
"match": "\\btrue\\b",
"name": "constant.language.boolean.true.js"
},
{
"match": "\\bfalse\\b",
"name": "constant.language.boolean.false.js"
},
{
"match": "\\bnull\\b",
"name": "constant.language.null.js"
},
{
"match": "\\b(super|this)\\b",
"name": "variable.language.js"
},
{
"match": "\\b(debugger)\\b",
"name": "keyword.other.js"
},
{
"match": "\\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|String|Style|Submit|screen|sun|Text|Textarea|window|XMLHttpRequest)\\b",
"name": "support.class.js"
},
{
"match": "\\b(s(h(ift|ow(Mod(elessDialog|alDialog)|Help))|croll(X|By(Pages|Lines)?|Y|To)?|t(op|rike)|i(n|zeToContent|debar|gnText)|ort|u(p|b(str(ing)?)?)|pli(ce|t)|e(nd|t(Re(sizable|questHeader)|M(i(nutes|lliseconds)|onth)|Seconds|Ho(tKeys|urs)|Year|Cursor|Time(out)?|Interval|ZOptions|Date|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(ome|andleEvent)|navigate|c(har(CodeAt|At)|o(s|n(cat|textual|firm)|mpile)|eil|lear(Timeout|Interval)?|a(ptureEvents|ll)|reate(StyleSheet|Popup|EventObject))|t(o(GMTString|S(tring|ource)|U(TCString|pperCase)|Lo(caleString|werCase))|est|a(n|int(Enabled)?))|i(s(NaN|Finite)|ndexOf|talics)|d(isableExternalCapture|ump|etachEvent)|u(n(shift|taint|escape|watch)|pdateCommands)|j(oin|avaEnabled)|p(o(p|w)|ush|lugins.refresh|a(ddings|rse(Int|Float)?)|r(int|ompt|eference))|e(scape|nableExternalCapture|val|lementFromPoint|x(p|ec(Script|Command)?))|valueOf|UTC|queryCommand(State|Indeterm|Enabled|Value)|f(i(nd|le(ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(nt(size|color)|rward)|loor|romCharCode)|watch|l(ink|o(ad|g)|astIndexOf)|a(sin|nchor|cos|t(tachEvent|ob|an(2)?)|pply|lert|b(s|ort))|r(ou(nd|teEvents)|e(size(By|To)|calc|turnValue|place|verse|l(oad|ease(Capture|Events)))|andom)|g(o|et(ResponseHeader|M(i(nutes|lliseconds)|onth)|Se(conds|lection)|Hours|Year|Time(zoneOffset)?|Da(y|te)|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear)|FullYear|A(ttention|llResponseHeaders)))|m(in|ove(B(y|elow)|To(Absolute)?|Above)|ergeAttributes|a(tch|rgins|x))|b(toa|ig|o(ld|rderWidths)|link|ack))\\b(?=\\()",
"name": "support.function.js"
},
{
"match": "\\b(s(ub(stringData|mit)|plitText|e(t(NamedItem|Attribute(Node)?)|lect))|has(ChildNodes|Feature)|namedItem|c(l(ick|o(se|neNode))|reate(C(omment|DATASection|aption)|T(Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(ntityReference|lement)|Attribute))|tabIndex|i(nsert(Row|Before|Cell|Data)|tem)|open|delete(Row|C(ell|aption)|T(Head|Foot)|Data)|focus|write(ln)?|a(dd|ppend(Child|Data))|re(set|place(Child|Data)|move(NamedItem|Child|Attribute(Node)?)?)|get(NamedItem|Element(sBy(Name|TagName)|ById)|Attribute(Node)?)|blur)\\b(?=\\()",
"name": "support.function.dom.js"
},
{
"match": "(?<=\\.)(s(ystemLanguage|cr(ipts|ollbars|een(X|Y|Top|Left))|t(yle(Sheets)?|atus(Text|bar)?)|ibling(Below|Above)|ource|uffixes|e(curity(Policy)?|l(ection|f)))|h(istory|ost(name)?|as(h|Focus))|y|X(MLDocument|SLDocument)|n(ext|ame(space(s|URI)|Prop))|M(IN_VALUE|AX_VALUE)|c(haracterSet|o(n(structor|trollers)|okieEnabled|lorDepth|mp(onents|lete))|urrent|puClass|l(i(p(boardData)?|entInformation)|osed|asses)|alle(e|r)|rypto)|t(o(olbar|p)|ext(Transform|Indent|Decoration|Align)|ags)|SQRT(1_2|2)|i(n(ner(Height|Width)|put)|ds|gnoreCase)|zIndex|o(scpu|n(readystatechange|Line)|uter(Height|Width)|p(sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(i(splay|alog(Height|Top|Width|Left|Arguments)|rectories)|e(scription|fault(Status|Ch(ecked|arset)|View)))|u(ser(Profile|Language|Agent)|n(iqueID|defined)|pdateInterval)|_content|p(ixelDepth|ort|ersonalbar|kcs11|l(ugins|atform)|a(thname|dding(Right|Bottom|Top|Left)|rent(Window|Layer)?|ge(X(Offset)?|Y(Offset)?))|r(o(to(col|type)|duct(Sub)?|mpter)|e(vious|fix)))|e(n(coding|abledPlugin)|x(ternal|pando)|mbeds)|v(isibility|endor(Sub)?|Linkcolor)|URLUnencoded|P(I|OSITIVE_INFINITY)|f(ilename|o(nt(Size|Family|Weight)|rmName)|rame(s|Element)|gColor)|E|whiteSpace|l(i(stStyleType|n(eHeight|kColor))|o(ca(tion(bar)?|lName)|wsrc)|e(ngth|ft(Context)?)|a(st(M(odified|atch)|Index|Paren)|yer(s|X)|nguage))|a(pp(MinorVersion|Name|Co(deName|re)|Version)|vail(Height|Top|Width|Left)|ll|r(ity|guments)|Linkcolor|bove)|r(ight(Context)?|e(sponse(XML|Text)|adyState))|global|x|m(imeTypes|ultiline|enubar|argin(Right|Bottom|Top|Left))|L(N(10|2)|OG(10E|2E))|b(o(ttom|rder(Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(Color|Image)))\\b",
"name": "support.constant.js"
},
{
"match": "(?<=\\.)(s(hape|ystemId|c(heme|ope|rolling)|ta(ndby|rt)|ize|ummary|pecified|e(ctionRowIndex|lected(Index)?)|rc)|h(space|t(tpEquiv|mlFor)|e(ight|aders)|ref(lang)?)|n(o(Resize|tation(s|Name)|Shade|Href|de(Name|Type|Value)|Wrap)|extSibling|ame)|c(h(ildNodes|Off|ecked|arset)?|ite|o(ntent|o(kie|rds)|de(Base|Type)?|l(s|Span|or)|mpact)|ell(s|Spacing|Padding)|l(ear|assName)|aption)|t(ype|Bodies|itle|Head|ext|a(rget|gName)|Foot)|i(sMap|ndex|d|m(plementation|ages))|o(ptions|wnerDocument|bject)|d(i(sabled|r)|o(c(type|umentElement)|main)|e(clare|f(er|ault(Selected|Checked|Value)))|at(eTime|a))|useMap|p(ublicId|arentNode|r(o(file|mpt)|eviousSibling))|e(n(ctype|tities)|vent|lements)|v(space|ersion|alue(Type)?|Link|Align)|URL|f(irstChild|orm(s)?|ace|rame(Border)?)|width|l(ink(s)?|o(ngDesc|wSrc)|a(stChild|ng|bel))|a(nchors|c(ce(ssKey|pt(Charset)?)|tion)|ttributes|pplets|l(t|ign)|r(chive|eas)|xis|Link|bbr)|r(ow(s|Span|Index)|ules|e(v|ferrer|l|adOnly))|m(ultiple|e(thod|dia)|a(rgin(Height|Width)|xLength))|b(o(dy|rder)|ackground|gColor))\\b",
"name": "support.constant.dom.js"
},
{
"match": "\\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\\b",
"name": "support.constant.dom.js"
},
{
"match": "\\bon(R(ow(s(inserted|delete)|e(nter|xit))|e(s(ize(start|end)?|et)|adystatechange))|Mouse(o(ut|ver)|down|up|move)|B(efore(cut|deactivate|u(nload|pdate)|p(aste|rint)|editfocus|activate)|lur)|S(croll|top|ubmit|elect(start|ionchange)?)|H(over|elp)|C(hange|ont(extmenu|rolselect)|ut|ellchange|l(ick|ose))|D(eactivate|ata(setc(hanged|omplete)|available)|r(op|ag(start|over|drop|en(ter|d)|leave)?)|blclick)|Unload|P(aste|ropertychange)|Error(update)?|Key(down|up|press)|Focus|Load|A(ctivate|fter(update|print)|bort))\\b",
"name": "support.function.event-handler.js"
},
{
"match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?]*>\\2>)",
"endCaptures": {
"3": {
"name": "punctuation.definition.tag.begin.html"
},
"1": {
"name": "punctuation.definition.tag.end.html"
},
"4": {
"name": "entity.name.tag.html"
},
"2": {
"name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"
},
"5": {
"name": "punctuation.definition.tag.end.html"
}
},
"end": "(>)(<)(/)(\\2)(>)",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#text-html-cfml-cfoutput-tag-stuff"
}
],
"name": "meta.tag.any.html",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.html"
},
"2": {
"name": "entity.name.tag.html"
}
}
},
{
"begin": "(<\\?)(xml)",
"end": "(\\?>)",
"patterns": [
{
"include": "#cfoutput-injection"
},
{
"include": "#text-html-cfml-cfoutput-tag-generic-attribute"
},
{
"include": "#text-html-cfml-cfoutput-string-double-quoted"
},
{
"include": "#text-html-cfml-cfoutput-string-single-quoted"
}
],
"name": "meta.tag.preprocessor.xml.html",
"captures": {
"1": {
"name": "punctuation.definition.tag.html"
},
"2": {
"name": "entity.name.tag.xml.html"
}
}
},
{
"begin": "