--- 
name: ColdFusion
fileTypes: 
- cfm
- cfml
- cfc
bundleUUID: 1A09BE0B-E81A-4CB7-AF69-AFC845162D1F
scopeName: text.html.cfm
repository: 
  tag-stuff: 
    patterns: 
    - include: "#tag-id-attribute"
    - include: "#tag-generic-attribute"
    - include: "#string-double-quoted"
    - include: "#string-single-quoted"
    - include: "#embedded-code"
  string-double-quoted: 
    name: string.quoted.double.cfml
    begin: "\""
    end: "\""
    patterns: 
    - include: "#embedded-code"
    - include: "#entities"
  coldfusion-comment: 
    name: comment.block.cfml
    begin: <!---
    end: --->
    patterns: 
    - include: "#coldfusion-comment"
  entities: 
    patterns: 
    - name: constant.character.entity.html
      match: "&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);"
    - name: invalid.illegal.bad-ampersand.html
      match: "&"
  string-single-quoted: 
    name: string.quoted.single.cfml
    begin: "'"
    end: "'"
    patterns: 
    - include: "#embedded-code"
    - include: "#entities"
  tag-id-attribute: 
    name: meta.attribute-with-value.id.cfml
    captures: 
      "1": 
        name: entity.other.attribute-name.id.html
    begin: \b(id)\b\s*=
    end: (?<='|")
    patterns: 
    - name: string.quoted.double.cfml
      begin: "\""
      contentName: meta.toc-list.id.cfml
      end: "\""
      patterns: 
      - include: "#embedded-code"
      - include: "#entities"
    - name: string.quoted.single.cfml
      begin: "'"
      contentName: meta.toc-list.id.cfml
      end: "'"
      patterns: 
      - include: "#embedded-code"
      - include: "#entities"
  tag-generic-attribute: 
    name: entity.other.attribute-name.cfml
    match: \b([a-zA-Z\-:]+)
  embedded-code: 
    patterns: []

uuid: 97CAD6F7-0807-4EB4-876E-DA9E9C1CEC14
foldingStartMarker: |-
  (?x)
  		(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl|cfloop|cfif|cfswitch|cfcomponent)\b.*?>
  		|<!---(?!.*---\s*>)
  		)
patterns: 
- name: meta.tag.cfoutput.cfml
  captures: 
    "1": 
      name: entity.name.tag.cfoutput.cfml
  begin: (?:^\s+)?<((?i:cfoutput))\b(?![^>]*/>)
  end: </((?i:cfoutput))>(?:\s*\n)?
  patterns: 
  - include: "#tag-stuff"
  - name: meta.scope.output.cfml
    begin: (?<=>)
    end: (?=</(?i:cfoutput))
    patterns: 
    - include: $self
- name: meta.tag.cfquery.cfml
  captures: 
    "1": 
      name: entity.name.tag.cfquery.cfml
  begin: (?:^\s+)?<((?i:cfquery))\b(?![^>]*/>)
  end: </((?i:cfquery))>(?:\s*\n)?
  patterns: 
  - include: "#tag-stuff"
  - name: source.sql.embedded
    begin: (?<=>)
    end: (?=</(?i:cfquery))
    patterns: 
    - include: source.sql
- name: meta.tag.any.cfml
  begin: </?((?i:cf)([a-zA-Z0-9]+))(?=[^>]*>)
  beginCaptures: 
    "1": 
      name: entity.name.tag.cfml
  end: ">"
  patterns: 
  - include: "#tag-stuff"
- include: "#coldfusion-comment"
- include: text.html.basic
foldingStopMarker: |-
  (?x)
  		(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl|cfloop|cfif|cfswitch|cfcomponent)>
  		|^(?!.*?<!---).*?---\s*>
  		)
keyEquivalent: ^~@c
