{"name":"ColdFusion Component","scopeName":"source.cfscript.cfc","patterns":[{"contentName":"text.html.cfm.embedded.cfml","begin":"(?:^\\s+)?(\u003c)((?i:cfcomponent))(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:cfcomponent))(\u003e)(?:\\s*\\n)?","patterns":[{"name":"meta.tag.block.cf.component.cfml","begin":"(?\u003c=cfcomponent)\\s","end":"(?=\u003e)","patterns":[{"include":"#tag-stuff"}]},{"begin":"(\u003e)","end":"(?=\u003c/(?i:cfcomponent))","patterns":[{"include":"text.html.cfm"}],"beginCaptures":{"0":{"name":"meta.tag.block.cf.component.cfml"},"1":{"name":"punctuation.definition.tag.cf.end.cfml"}}}],"captures":{"0":{"name":"meta.tag.block.cf.component.cfml"},"1":{"name":"punctuation.definition.tag.cf.begin.cfml"},"2":{"name":"entity.name.tag.cf.component.cfml"},"3":{"name":"punctuation.definition.tag.cf.end.cfml"}}},{"include":"#cfcomments"},{"include":"source.cfscript"}],"repository":{"cfcomments":{"patterns":[{"name":"comment.line.cfml","match":"\u003c!---.*---\u003e"},{"name":"comment.block.cfml","begin":"\u003c!---","end":"---\u003e","patterns":[{"include":"#cfcomments"}],"captures":{"0":{"name":"punctuation.definition.comment.cfml"}}}]},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"string.quoted.single.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"\\b([a-zA-Z\\-:]+)"},"tag-stuff":{"patterns":[{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]}}}
