name: Perl fileTypes:
-
pl
-
pm
-
pod
-
t
-
PL
firstLineMatch: ^#!.*bperlb scopeName: source.perl repository:
nested_ltgt: captures: "1": name: punctuation.section.scope.perl begin: < end: ">" patterns: - include: "#nested_ltgt" escaped_char: name: constant.character.escape.perl match: \\. nested_brackets: captures: "1": name: punctuation.section.scope.perl begin: \[ end: \] patterns: - include: "#escaped_char" - include: "#nested_brackets" nested_braces: captures: "1": name: punctuation.section.scope.perl begin: \{ end: \} patterns: - include: "#escaped_char" - include: "#nested_braces" line_comment: patterns: - name: meta.comment.full-line.perl captures: "1": name: comment.line.number-sign.perl "2": name: punctuation.definition.comment.perl match: ^((#).*$\n?) - name: comment.line.number-sign.perl captures: "1": name: punctuation.definition.comment.perl match: (#).*$\n? nested_parens_interpolated: captures: "1": name: punctuation.section.scope.perl begin: \( end: \) patterns: - include: "#escaped_char" - include: "#variable" - include: "#nested_parens_interpolated" nested_parens: captures: "1": name: punctuation.section.scope.perl begin: \( end: \) patterns: - include: "#escaped_char" - include: "#nested_parens" nested_brackets_interpolated: captures: "1": name: punctuation.section.scope.perl begin: \[ end: \] patterns: - include: "#escaped_char" - include: "#variable" - include: "#nested_brackets_interpolated" nested_braces_interpolated: captures: "1": name: punctuation.section.scope.perl begin: \{ end: \} patterns: - include: "#escaped_char" - include: "#variable" - include: "#nested_braces_interpolated" nested_ltgt_interpolated: captures: "1": name: punctuation.section.scope.perl begin: < end: ">" patterns: - include: "#variable" - include: "#nested_ltgt_interpolated" variable: patterns: - name: variable.other.regexp.match.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)&(?![A-Za-z0-9_]) - name: variable.other.regexp.pre-match.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)`(?![A-Za-z0-9_]) - name: variable.other.regexp.post-match.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)'(?![A-Za-z0-9_]) - name: variable.other.regexp.last-paren-match.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)\+(?![A-Za-z0-9_]) - name: variable.other.readwrite.list-separator.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)"(?![A-Za-z0-9_]) - name: variable.other.predefined.program-name.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)0(?![A-Za-z0-9_]) - name: variable.other.predefined.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)[_ab\*\.\/\|,\\;#%=\-~^:?!\$<>\(\)\[\]@](?![A-Za-z0-9_]) - name: variable.other.subpattern.perl captures: "1": name: punctuation.definition.variable.perl match: (\$)[0-9]+(?![A-Za-z0-9_]) - name: variable.other.readwrite.global.perl captures: "1": name: punctuation.definition.variable.perl match: ([\$\@\%](#)?)([a-zA-Zx7f-xff\$]|::)([a-zA-Z0-9_x7f-xff\$]|::)*\b - name: variable.other.readwrite.global.perl captures: "1": name: punctuation.definition.variable.perl "2": name: punctuation.definition.variable.perl match: (\$\{)(?:[a-zA-Zx7f-xff\$]|::)(?:[a-zA-Z0-9_x7f-xff\$]|::)*(\}) - name: variable.other.readwrite.global.special.perl captures: "1": name: punctuation.definition.variable.perl match: ([\$\@\%](#)?)[0-9_]\b
uuid: EDBFE125-6B1C-11D9-9189-000D93589AF6 foldingStartMarker: (/*|({|[|()s*$) patterns:
-
include: “#line_comment”
-
name: comment.block.documentation.perl captures:
"0": name: punctuation.definition.comment.perl
begin: ^= end: ^=cut
-
include: “#variable”
-
endCaptures:
"1": name: string.regexp.compile.perl "2": name: punctuation.definition.string.perl "3": name: keyword.control.regexp-option.perl
begin: b(?=qrs*[^sw]) applyEndPatternLast: 1 end: ((([egimosx]*)))(?=(s+S|s*|$)) patterns:
-
name: string.regexp.compile.nested_braces.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*{ end: } patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_braces_interpolated”
-
-
name: string.regexp.compile.nested_brackets.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*[ end: ] patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_brackets_interpolated”
-
-
name: string.regexp.compile.nested_ltgt.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*< end: “>” patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_ltgt_interpolated”
-
-
name: string.regexp.compile.nested_parens.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*( end: ) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_parens_interpolated”
-
-
name: string.regexp.compile.single-quote.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*' end: ' patterns:
-
include: “#escaped_char”
-
-
name: string.regexp.compile.simple-delimiter.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (qr)s*([^sw'{) end: 2 patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_parens_interpolated”
-
comment: string.regexp.compile.perl
-
-
endCaptures:
"1": name: string.regexp.replace.perl "2": name: punctuation.definition.string.perl "3": name: keyword.control.regexp-option.perl
begin: b(?=(s)(s+S|s*[;,#{}()[<]|$)) applyEndPatternLast: 1 end: ((([egimosx]*)))(?=(s+S|s*>]|$)) patterns:
-
name: string.regexp.nested_braces.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (s)s*{ end: } patterns:
-
include: “#escaped_char”
-
include: “#nested_braces”
-
-
name: string.regexp.nested_brackets.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (s)s*[ end: ] patterns:
-
include: “#escaped_char”
-
include: “#nested_brackets”
-
-
name: string.regexp.nested_ltgt.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (s)s*< end: “>” patterns:
-
include: “#escaped_char”
-
include: “#nested_ltgt”
-
-
name: string.regexp.nested_parens.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (s)s*( end: ) patterns:
-
include: “#escaped_char”
-
include: “#nested_parens”
-
-
name: string.regexp.format.nested_braces.perl captures:
"0": name: punctuation.definition.string.perl
begin: { end: } patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_braces_interpolated”
-
-
name: string.regexp.format.nested_brackets.perl captures:
"0": name: punctuation.definition.string.perl
begin: [ end: ] patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_brackets_interpolated”
-
-
name: string.regexp.format.nested_ltgt.perl captures:
"0": name: punctuation.definition.string.perl
begin: < end: “>” patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_ltgt_interpolated”
-
-
name: string.regexp.format.nested_parens.perl captures:
"0": name: punctuation.definition.string.perl
begin: ( end: ) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: “#nested_parens_interpolated”
-
-
name: string.regexp.format.single_quote.perl captures:
"0": name: punctuation.definition.string.perl
begin: “'” end: “'” patterns:
-
name: constant.character.escape.perl match: \['\]
-
-
name: string.regexp.format.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl
begin: ([^sw) end: 1 patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
match: s+
comment: string.regexp.replace.perl
-
-
endCaptures:
"1": name: string.regexp.replace.perl "2": name: punctuation.definition.string.perl "3": name: keyword.control.regexp-option.perl
begin: b(?=s([^sw[({<]).*\1(*)([});,]|s+)) end: ((([egimos]*)))(?=(|s+|$)) patterns:
-
name: string.regexp.replaceXXX.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (ss*)([^sw) end: (?=2) patterns:
-
include: “#escaped_char”
-
-
name: string.regexp.replaceXXX.format.single_quote.perl captures:
"0": name: punctuation.definition.string.perl
begin: “'” end: “'” patterns:
-
name: constant.character.escape.perl.perl match: \['\]
-
-
name: string.regexp.replaceXXX.format.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl
begin: ([^sw) end: 1 patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
comment: string.regexp.replaceXXX
-
-
endCaptures:
"1": name: string.regexp.replace.perl "2": name: punctuation.definition.string.perl "3": name: keyword.control.regexp-option.perl
begin: b(?=(?x[egimos])))b patterns:
-
name: string.regexp.replace.extended.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl "1": name: support.function.perl
begin: (s)s*(.) end: (?=2) patterns:
-
include: “#escaped_char”
-
-
name: string.regexp.replace.extended.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl
begin: “'” end: “'(?=[egimos]x[egimos])\b” patterns:
-
include: “#escaped_char”
-
-
name: string.regexp.replace.extended.simple_delimiter.perl captures:
"0": name: punctuation.definition.string.perl
begin: (.) end: 1(?=[egimos]x[egimos])b patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
comment: string.regexp.replace.extended
-
-
name: constant.other.key.perl match: bw+s*(?==>)
-
name: constant.other.bareword.perl match: (?<={)s*w+s*(?=})
-
name: string.regexp.find.perl captures:
"1": name: punctuation.definition.string.perl "5": name: punctuation.definition.string.perl
match: (?<!\)((~s*)?/)(.*?)(?<!\)(\{2})*(/)
-
name: string.regexp.find.extended.perl endCaptures:
"1": name: keyword.control.regexp-option.perl
captures:
"0": name: punctuation.definition.string.perl
begin: (?<!\)(~s*/) end: /([cgimos]x[cgimos])b patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: meta.class.perl captures:
"1": name: keyword.control.perl "2": name: entity.name.type.class.perl "3": name: comment.line.number-sign.perl "4": name: punctuation.definition.comment.perl
match: ^s*(package)s+(S+)s*((#).*)?$n?
-
name: meta.function.perl captures:
"1": name: storage.type.sub.perl "2": name: entity.name.function.perl "3": name: storage.type.method.perl
match: ^s*(sub)s+(+)s*(([$*))?
-
name: meta.function.perl captures:
"1": name: entity.name.function.perl "2": name: punctuation.definition.parameters.perl "3": name: variable.parameter.function.perl
match: ^s*(BEGIN|END|DESTROY)b
-
name: meta.leading-tabs begin: ^(?=(t| {4})) end: (?=[^ts]) patterns:
-
captures:
"1": name: meta.odd-tab "2": name: meta.even-tab
match: (t| {4})(t| {4})?
-
-
name: string.regexp.find-m.perl captures:
"1": name: support.function.perl "2": name: punctuation.definition.string.perl "5": name: punctuation.definition.string.perl
match: b(m)s*(?
-
name: string.regexp.find-m-paren.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: b(m)s*(?<!\)( beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ) patterns:
-
include: “#escaped_char”
-
include: “#nested_parens_interpolated”
-
include: “#variable”
-
-
name: string.regexp.find-m-brace.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: b(m)s*(?<!\){ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: } patterns:
-
include: “#escaped_char”
-
include: “#nested_braces_interpolated”
-
include: “#variable”
-
-
name: string.regexp.find-m-bracket.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: b(m)s*(?<!\)[ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ] patterns:
-
include: “#escaped_char”
-
include: “#nested_brackets_interpolated”
-
include: “#variable”
-
-
name: string.regexp.find-m-ltgt.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: b(m)s*(?<!\)< beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: > patterns:
-
include: “#escaped_char”
-
include: “#nested_ltgt_interpolated”
-
include: “#variable”
-
-
name: string.regexp.replace.perl captures:
"8": name: punctuation.definition.string.perl "1": name: support.function.perl "2": name: punctuation.definition.string.perl "5": name: punctuation.definition.string.perl
match: b(s|tr|y)s*([^A-Za-z0-9s])(.*?)(?<!\)(\{2})*(2)(.*?)(?<!\)(\{2})*(2)
-
name: constant.language.perl match: b(__FILE__|__LINE__|__PACKAGE__)b
-
name: keyword.control.perl match: b(continue|die|do|else|elsif|exit|for|foreach|goto|if|last|next|redo|return|select|unless|until|wait|while|switch|case|package|require|use|eval)b
-
name: storage.modifier.perl match: b(my|our|local)b
-
name: keyword.operator.filetest.perl match: (?<!w)-b
-
name: keyword.operator.logical.perl match: b(and|or|xor|as)b
-
name: keyword.operator.comparison.perl match: (<=>| =>|->)
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“HTML”).*n? contentName: text.html.embedded.perl end: (^HTML$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: text.html.basic
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“XML”).*n? contentName: text.xml.embedded.perl end: (^XML$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: text.xml
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“CSS”).*n? contentName: text.css.embedded.perl end: (^CSS$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.css
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“JAVASCRIPT”).*n? contentName: text.js.embedded.perl end: (^JAVASCRIPT$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.js
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“SQL”).*n? contentName: source.sql.embedded.perl end: (^SQL$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.sql
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“POSTSCRIPT”).*n? contentName: text.postscript.embedded.perl end: (^POSTSCRIPT$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.postscript
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.doublequote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *“([^”]*)“).*n? contentName: string.unquoted.heredoc.doublequote.perl end: (^3$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'HTML').*n? contentName: text.html.embedded.perl end: (^HTML$) patterns:
-
include: text.html.basic
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'XML').*n? contentName: text.xml.embedded.perl end: (^XML$) patterns:
-
include: text.xml
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'CSS').*n? contentName: text.css.embedded.perl end: (^CSS$) patterns:
-
include: source.css
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'JAVASCRIPT').*n? contentName: text.js.embedded.perl end: (^JAVASCRIPT$) patterns:
-
include: source.js
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'SQL').*n? contentName: source.sql.embedded.perl end: (^SQL$) patterns:
-
include: source.sql
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'POSTSCRIPT').*n? contentName: source.postscript.embedded.perl end: (^POSTSCRIPT) patterns:
-
include: source.postscript
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.quote.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *'([^']*)').*n? contentName: string.unquoted.heredoc.quote.perl end: (^3$)
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.backtick.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *`([^`]*)`).*n? contentName: string.unquoted.heredoc.backtick.perl end: (^3$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *HTMLb).*n? contentName: text.html.embedded.perl end: (^HTML$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: text.html.basic
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *XMLb).*n? contentName: text.xml.embedded.perl end: (^XML$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: text.xml
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *SQLb).*n? contentName: source.sql.embedded.perl end: (^SQL$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.sql
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *POSTSCRIPTb).*n? contentName: source.postscript.embedded.perl end: (^POSTSCRIPT) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
include: source.postscript
-
-
captures:
"0": name: punctuation.definition.string.perl "1": name: string.unquoted.heredoc.perl "2": name: punctuation.definition.heredoc.perl
begin: ((<<) *((?![=d$ ])[^;,'“`s)]*)).*n? contentName: string.unquoted.heredoc.perl end: (^3$) patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: string.quoted.other.qq.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqqs*([^({[
"0": name: punctuation.definition.string.begin.perl
end: 1 patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: string.interpolated.qx.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*([^‘({[
"0": name: punctuation.definition.string.begin.perl
end: 1 patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: string.interpolated.qx.single-quote.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*' beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: “'” patterns:
-
include: “#escaped_char”
-
-
name: string.quoted.double.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: “"” beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: “"” patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: string.quoted.other.q.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqw?s*([^({[
"0": name: punctuation.definition.string.begin.perl
end: 1 patterns:
-
include: “#escaped_char”
-
-
name: string.quoted.single.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: “'” beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: “'” patterns:
-
name: constant.character.escape.perl match: \['\]
-
-
name: string.interpolated.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: “`” beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: “`” patterns:
-
include: “#escaped_char”
-
include: “#variable”
-
-
name: string.quoted.other.qq-paren.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqqs*( beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ) patterns:
-
include: “#escaped_char”
-
include: “#nested_parens_interpolated”
-
include: “#variable”
-
-
name: string.quoted.other.qq-brace.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqqs*{ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: } patterns:
-
include: “#escaped_char”
-
include: “#nested_braces_interpolated”
-
include: “#variable”
-
-
name: string.quoted.other.qq-bracket.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqqs*[ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ] patterns:
-
include: “#escaped_char”
-
include: “#nested_brackets_interpolated”
-
include: “#variable”
-
-
name: string.quoted.other.qq-ltgt.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqqs*< beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: > patterns:
-
include: “#escaped_char”
-
include: “#nested_ltgt_interpolated”
-
include: “#variable”
-
-
name: string.interpolated.qx-paren.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*( beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ) patterns:
-
include: “#escaped_char”
-
include: “#nested_parens_interpolated”
-
include: “#variable”
-
-
name: string.interpolated.qx-brace.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*{ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: } patterns:
-
include: “#escaped_char”
-
include: “#nested_braces_interpolated”
-
include: “#variable”
-
-
name: string.interpolated.qx-bracket.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*[ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ] patterns:
-
include: “#escaped_char”
-
include: “#nested_brackets_interpolated”
-
include: “#variable”
-
-
name: string.interpolated.qx-ltgt.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqxs*< beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: > patterns:
-
include: “#escaped_char”
-
include: “#nested_ltgt_interpolated”
-
include: “#variable”
-
-
name: string.quoted.other.q-paren.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqw?s*( beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ) patterns:
-
include: “#escaped_char”
-
include: “#nested_parens”
-
-
name: string.quoted.other.q-brace.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqw?s*{ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: } patterns:
-
include: “#escaped_char”
-
include: “#nested_braces”
-
-
name: string.quoted.other.q-bracket.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqw?s*[ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: ] patterns:
-
include: “#escaped_char”
-
include: “#nested_brackets”
-
-
name: string.quoted.other.q-ltgt.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: bqw?s*< beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: > patterns:
-
include: “#escaped_char”
-
include: “#nested_ltgt”
-
-
name: string.unquoted.program-block.perl endCaptures:
"0": name: punctuation.definition.string.end.perl
begin: ^__w+__ beginCaptures:
"0": name: punctuation.definition.string.begin.perl
end: $
-
name: meta.format.perl begin: b(format)s+([A-Za-z]+)s*= beginCaptures:
"1": name: support.function.perl "2": name: entity.name.function.format.perl
end: ^.s*$ patterns:
-
include: “#line_comment”
-
include: “#variable”
-
-
name: support.function.perl match: b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|format|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|print|printf|push|q|qq|quotemeta|qw|qx|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y|q|qw|qq|qx)b
foldingStopMarker: (*/|^s*(}|]|))) keyEquivalent: ^~P comment: | # TODO: Include RegExp syntax