---
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))>|\})