--- 
name: HTML (Mason)
fileTypes: 
- mhtml
- autohandler
- dhandler
scopeName: text.html.mason
uuid: 34979B9C-CDDC-483E-93B5-B65C6B15E6B0
foldingStartMarker: (<(?i:(head|table|div|style|script|ul|ol|form|dl))\b.*?>|\{)
patterns: 
- name: source.perl.mason.block
  captures: 
    "1": 
      name: punctuation.section.embedded.perl.mason
    "2": 
      name: keyword.control
  begin: (<%(perl|global|once|init|cleanup|requestlocal|requestonce|shared|threadlocal|threadonce|flags)( scope.*?)?>)
  end: (</%(\2)>)(\s*$\n)?
  patterns: 
  - include: source.perl
- name: source.perl.mason.doc
  captures: 
    "1": 
      name: keyword.control
    "2": 
      name: variable.other
  begin: (<(%text)>)
  end: (</(%text)>)
  patterns: 
  - name: comment.block
    begin: (?<=<%text>)
    end: (?=</%text>)
- name: source.perl.mason.doc
  captures: 
    "1": 
      name: keyword.control
    "2": 
      name: variable.other
  begin: (<(%doc)>)
  end: (</(%doc)>)
  patterns: 
  - name: comment.block
    begin: (?<=<%doc>)
    end: (?=</%doc>)
- name: source.perl.mason.line
  begin: ^(%)
  beginCaptures: 
    "1": 
      name: punctuation.section.embedded.perl.mason
  end: $\n?
  patterns: 
  - include: source.perl
- name: source.mason.component.block
  endCaptures: 
    "1": 
      name: keyword.control
  begin: (<&\|)((\w|\.|\:)*)(?!&>)
  beginCaptures: 
    "1": 
      name: keyword.control
    "2": 
      name: entity.name.function
  end: (</&>)
  patterns: 
  - name: source.mason.nesty
    begin: (&>)
    beginCaptures: 
      "1": 
        name: keyword.control
    end: (?=</&>)
    patterns: 
    - include: $self
- name: source.mason.component
  endCaptures: 
    "1": 
      name: keyword.control
  begin: (<&)(.{1,}?)( |,)+
  beginCaptures: 
    "1": 
      name: keyword.control
    "2": 
      name: entity.name.function
  end: (&>)
  patterns: 
  - include: source.perl
- name: source.mason.args
  captures: 
    "1": 
      name: keyword.control
    "2": 
      name: variable.other
  begin: (<%(args.*?)>)
  end: (</%(\2)>)
  patterns: 
  - captures: 
      "2": 
        name: string.quoted.single
    include: source.perl
    match: (\s*)?(\w*)
- name: source.mason.methods
  captures: 
    "1": 
      name: keyword.control
    "2": 
      name: variable.other
  begin: (<%(method|def|closure) .*?>)
  end: (</%(\2)>)
  patterns: 
  - include: $self
- name: source.mason.substitution
  captures: 
    "1": 
      name: keyword.control
  begin: "(<%) "
  end: (%>)
  patterns: 
  - include: source.perl
- include: text.html.basic
foldingStopMarker: (</(?i:(head|table|div|style|script|ul|ol|form|dl))>|\})
