@shikijs/langs-precompiled 3.1.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abap.mjs +1 -1
- package/dist/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-html.mjs +1 -1
- package/dist/angular-inline-style.mjs +1 -1
- package/dist/angular-inline-template.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/apache.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/beancount.mjs +1 -1
- package/dist/berry.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/bsl.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/cairo.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/clojure.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/csharp.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cue.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dart.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/desktop.mjs +1 -1
- package/dist/diff.mjs +1 -1
- package/dist/dotenv.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/es-tag-css.mjs +1 -1
- package/dist/es-tag-glsl.mjs +1 -1
- package/dist/es-tag-html.mjs +1 -1
- package/dist/es-tag-sql.mjs +1 -1
- package/dist/es-tag-xml.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fish.mjs +1 -1
- package/dist/fluent.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gdshader.mjs +1 -1
- package/dist/genie.mjs +1 -1
- package/dist/git-rebase.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/graphql.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hcl.mjs +1 -1
- package/dist/hjson.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html-derivative.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/http.mjs +1 -1
- package/dist/hxml.mjs +1 -1
- package/dist/hy.mjs +1 -1
- package/dist/imba.mjs +1 -3
- package/dist/index.mjs +2 -0
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja-html.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jison.mjs +1 -1
- package/dist/json.mjs +1 -1
- package/dist/json5.mjs +1 -1
- package/dist/jsonc.mjs +1 -1
- package/dist/jsonl.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -2
- package/dist/kotlin.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/llvm.d.mts +3 -0
- package/dist/llvm.mjs +5 -0
- package/dist/log.mjs +1 -1
- package/dist/lua.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown-vue.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/move.mjs +1 -1
- package/dist/narrat.mjs +1 -1
- package/dist/nextflow.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/po.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/powerquery.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prisma.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/proto.mjs +1 -1
- package/dist/pug.mjs +1 -1
- package/dist/puppet.mjs +1 -1
- package/dist/purescript.mjs +6 -2
- package/dist/python.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/razor.mjs +1 -1
- package/dist/reg.mjs +1 -1
- package/dist/regexp.mjs +1 -1
- package/dist/rel.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/sass.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/sdbl.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/shellsession.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/soy.mjs +1 -1
- package/dist/sparql.mjs +1 -1
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/tasl.mjs +1 -1
- package/dist/tcl.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/twig.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typespec.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/verilog.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vue-html.mjs +1 -1
- package/dist/vue-sfc-style-variable-injection.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wenyan.mjs +1 -1
- package/dist/wgsl.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wit.d.mts +3 -0
- package/dist/wit.mjs +5 -0
- package/dist/wolfram.mjs +1 -1
- package/dist/xml.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/dist/zig.mjs +1 -1
- package/package.json +6 -4
package/dist/perl.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import css from './css.mjs'
|
|
|
5
5
|
import javascript from './javascript.mjs'
|
|
6
6
|
import sql from './sql.mjs'
|
|
7
7
|
|
|
8
|
-
const lang = Object.freeze({displayName:"Perl",name:"perl",patterns:[{include:"#line_comment"},{begin:/^(?==[a-zA-Z]+)/dgv,end:/^(=cut\b[^\n]*(?=\n?$))/dgv,endCaptures:{"1":{patterns:[{include:"#pod"}]}},name:"comment.block.documentation.perl",patterns:[{include:"#pod"}]},{include:"#variable"},{applyEndPatternLast:1,begin:/\b(?=qr\p{space}*[^\p{space}\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.compile.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(qr)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.compile.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/(qr)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.compile.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/(qr)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.compile.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/(qr)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.compile.nested_parens.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}\\'\{\[\(\<])/dgv},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/(qr)\p{space}*'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/'/dgv,name:"string.regexp.compile.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/(qr)\p{space}*([^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\2()()/dgv,name:"string.regexp.compile.simple-delimiter.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:1,begin:/(?<!\{|\+|-)\b(?=m\p{space}*[^\p{space}a-zA-Z0-9])/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.find-m.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(m)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.find-m.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/(m)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.find-m.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/(m)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.find-m.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/(m)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.find-m.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/(m)\p{space}*'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/'/dgv,name:"string.regexp.find-m.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/(?<!\{|\+|-)(m)(?!_)\p{space}*([^\p{space}a-zA-Z0-9'\{\[\(\<])/dgvy,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\2()()/dgv,name:"string.regexp.find-m.simple-delimiter.perl",patterns:[{match:/\$(?=[^\p{space}a-zA-Z0-9'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{begin:/\[/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.begin.perl"}},end:/\]/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.end.perl"}},name:"constant.other.character-class.set.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"}]},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:1,begin:/\b(?=(?<!&)(s)(\p{space}+\P{space}|\p{space}*[\;\,\{\}\(\)\[\<]|(?=\n?$)))/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\{\}\)\]\>]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},{begin:/(s)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},{begin:/(s)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt"}]},{begin:/(s)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},{begin:/\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\}/dgv,name:"string.regexp.format.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\]/dgv,name:"string.regexp.format.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/</dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/>/dgv,name:"string.regexp.format.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\)/dgv,name:"string.regexp.format.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'/dgv,name:"string.regexp.format.single_quote.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl"}]},{begin:/([^\p{space}\p{L}\p{M}\p{N}\p{Pc}\[\(\{\<\;])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1()/dgv,name:"string.regexp.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{match:/\p{space}+/dgv}]},{begin:/\b(?=s([^\p{space}a-zA-Z0-9\[\(\{\<])[^\n]*\1([egimosxradlupcn]*)([\}\)\;\,]|\p{space}+))/dgv,end:/((([egimosxradlupcn]*)))(?=([\}\)\;\,]|\p{space}+|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s\p{space}*)([^\p{space}a-zA-Z0-9\[\(\{\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/(?=\2)()()/dgv,name:"string.regexp.replaceXXX.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'/dgv,name:"string.regexp.replaceXXX.format.single_quote.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl.perl"}]},{begin:/([^\p{space}a-zA-Z0-9\[\(\{\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1()/dgv,name:"string.regexp.replaceXXX.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:/\b(?=(?<!\\)s\p{space}*([^\p{space}\p{L}\p{M}\p{N}\p{Pc}\[\(\{\<\>]))/dgv,end:/((([egimosradlupc]*x[egimosradlupc]*)))\b/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s)\p{space}*([^\n])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/(?=\2)()()/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'(?=[egimosradlupc]*x[egimosradlupc]*)\b/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/([^\n])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1(?=[egimosradlupc]*x[egimosradlupc]*)\b()/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:/(?<=\(|\{|~|&|\||if|unless|^)\p{space}*((\/))/dgv,beginCaptures:{"1":{name:"string.regexp.find.perl"},"2":{name:"punctuation.definition.string.perl"}},contentName:"string.regexp.find.perl",end:/(((?!)([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.find.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{match:/\$(?=\/)/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"}]},{captures:{"1":{name:"constant.other.key.perl"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?==>)/dgv},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,name:"constant.other.bareword.perl"},{captures:{"1":{name:"keyword.control.perl"},"2":{name:"entity.name.type.class.perl"}},match:/^\p{space}*(package)\p{space}+([^\p{space}\;]+)/dgv,name:"meta.class.perl"},{captures:{"1":{name:"storage.type.sub.perl"},"2":{name:"entity.name.function.perl"},"3":{name:"storage.type.method.perl"}},match:/\b(sub)(?:\p{space}+([\-a-zA-Z0-9_]+))?\p{space}*(?:\([\$\@\*\;]*\))?[^\p{L}\p{M}\p{N}\p{Pc}\{]/dgv,name:"meta.function.perl"},{captures:{"1":{name:"entity.name.function.perl"},"2":{name:"punctuation.definition.parameters.perl"},"3":{name:"variable.parameter.function.perl"}},match:/^\p{space}*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\b/dgv,name:"meta.function.perl"},{begin:/^(?=(\t| {4}))/dgv,end:/(?=[^\t\p{space}])/dgv,name:"meta.leading-tabs",patterns:[{captures:{"1":{name:"meta.odd-tab"},"2":{name:"meta.even-tab"}},match:/(\t| {4})(\t| {4})?/dgv}]},{captures:{"1":{name:"support.function.perl"},"2":{name:"punctuation.definition.string.perl"},"5":{name:"punctuation.definition.string.perl"},"8":{name:"punctuation.definition.string.perl"}},match:/\b(tr|y)\p{space}*([^A-Za-z0-9\p{space}])([^\n]*?)(?<!\\)(\\{2})*(\2)([^\n]*?)(?<!\\)(\\{2})*(\2)/dgv,name:"string.regexp.replace.perl"},{match:/\b(__FILE__|__LINE__|__PACKAGE__|__SUB__)\b/dgv,name:"constant.language.perl"},{begin:/\b(__DATA__|__END__)\n?/dgv,beginCaptures:{"1":{name:"constant.language.perl"}},contentName:"comment.block.documentation.perl",end:/$/dgv,patterns:[{include:"#pod"}]},{match:/(?<!->)\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\b/dgv,name:"keyword.control.perl"},{match:/\b(my|our|local)\b/dgv,name:"storage.modifier.perl"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[rwxoRWXOezsfdlpSbctugkTBMAC]\b/dgv,name:"keyword.operator.filetest.perl"},{match:/\b(and|or|xor|as|not)\b/dgv,name:"keyword.operator.logical.perl"},{match:/(<=>|=>|->)/dgv,name:"keyword.operator.comparison.perl"},{include:"#heredoc"},{begin:/\bqq\p{space}*([^\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/\bqx\p{space}*([^'\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/\bqx\p{space}*'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.double.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/(?<!->)\bqw?\p{space}*([^\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q.perl"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.single.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl"}]},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/(?<!->)\bqq\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:/(?<!->)\bqx\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:/(?<!->)\bqw?\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-paren.perl",patterns:[{include:"#nested_parens"}]},{begin:/\bqw?\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-brace.perl",patterns:[{include:"#nested_braces"}]},{begin:/\bqw?\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-bracket.perl",patterns:[{include:"#nested_brackets"}]},{begin:/\bqw?\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-ltgt.perl",patterns:[{include:"#nested_ltgt"}]},{begin:/^__[\p{L}\p{M}\p{N}\p{Pc}]+__/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/(?=\n?$)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.unquoted.program-block.perl"},{begin:/\b(format)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*=/dgv,beginCaptures:{"1":{name:"support.function.perl"},"2":{name:"entity.name.function.format.perl"}},end:/^\.\p{space}*(?=\n?$)/dgv,name:"meta.format.perl",patterns:[{include:"#line_comment"},{include:"#variable"}]},{captures:{"1":{name:"support.function.perl"},"2":{name:"entity.name.function.perl"}},match:/\b(x)\p{space}*(\p{Nd}+)\b/dgv},{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|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|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|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)\b/dgv,name:"support.function.perl"},{captures:{"1":{name:"punctuation.section.scope.begin.perl"},"2":{name:"punctuation.section.scope.end.perl"}},match:/(\{)(\})/dgv},{captures:{"1":{name:"punctuation.section.scope.begin.perl"},"2":{name:"punctuation.section.scope.end.perl"}},match:/(\()(\))/dgv}],repository:{escaped_char:{patterns:[{match:/\\\p{Nd}+/dgv,name:"constant.character.escape.perl"},{match:/\\c[^\p{space}\\]/dgv,name:"constant.character.escape.perl"},{match:/\\g(?:\{(?:[\p{L}\p{M}\p{N}\p{Pc}]*|-\p{Nd}+)\}|\p{Nd}+)/dgv,name:"constant.character.escape.perl"},{match:/\\k(?:\{[\p{L}\p{M}\p{N}\p{Pc}]*\}|<[\p{L}\p{M}\p{N}\p{Pc}]*>|'[\p{L}\p{M}\p{N}\p{Pc}]*')/dgv,name:"constant.character.escape.perl"},{match:/\\N\{[^\}]*\}/dgv,name:"constant.character.escape.perl"},{match:/\\o\{\p{Nd}*\}/dgv,name:"constant.character.escape.perl"},{match:/\\(?:p|P)(?:\{[\p{L}\p{M}\p{N}\p{Pc}]*\}|P)/dgv,name:"constant.character.escape.perl"},{match:/\\x(?:[0-9a-zA-Z]{2}|\{[\p{L}\p{M}\p{N}\p{Pc}]*\})?/dgv,name:"constant.character.escape.perl"},{match:/\\[^\n]/dgv,name:"constant.character.escape.perl"}]},heredoc:{patterns:[{begin:/((((<<(~)?) *')(HTML)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *')(XML)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"text.xml"}]}]},{begin:/((((<<(~)?) *')(CSS)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/((((<<(~)?) *')(JAVASCRIPT)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/((((<<(~)?) *')(SQL)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"source.sql"}]}]},{begin:/((((<<(~)?) *')(POSTSCRIPT)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *')([^']*)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}}},{begin:/((((<<(~)?) *\\)((?![\=\p{Nd}\$\( ])[^\;\,'"\`\p{space}\)]*)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}}},{begin:/((((<<(~)?) *")(HTML)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *")(XML)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:/((((<<(~)?) *")(CSS)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:/((((<<(~)?) *")(JAVASCRIPT)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:/((((<<(~)?) *")(SQL)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:/((((<<(~)?) *")(POSTSCRIPT)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *")([^"]*)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/((((<<(~)?) *)(HTML)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *)(XML)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:/((((<<(~)?) *)(CSS)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:/((((<<(~)?) *)(JAVASCRIPT)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:/((((<<(~)?) *)(SQL)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:/((((<<(~)?) *)(POSTSCRIPT)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *)((?![\=\p{Nd}\$\( ])[^\;\,'"\`\p{space}\)]*)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/((((<<(~)?) *`)([^\`]*)(`)))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.shell.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},line_comment:{patterns:[{begin:/(^[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.perl"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.perl"}},end:/\n/dgv,name:"comment.line.number-sign.perl"}]}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_ltgt:{begin:/</dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/>/dgv,patterns:[{include:"#nested_ltgt"}]},nested_ltgt_interpolated:{begin:/</dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/>/dgv,patterns:[{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\)/dgv,patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},pod:{patterns:[{match:/^=(pod|back|cut)\b/dgv,name:"storage.type.class.pod.perl"},{begin:/^(=begin)\p{space}+(html)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl"}},contentName:"text.embedded.html.basic",end:/^(=end)\p{space}+(html)|^(?==cut)/dgv,endCaptures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl"}},name:"meta.embedded.pod.perl",patterns:[{include:"text.html.basic"}]},{captures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl",patterns:[{include:"#pod-formatting"}]}},match:/^(=(?:head[1-4]|item|over|encoding|begin|end|for))\b\p{space}*([^\n]*)/dgv},{include:"#pod-formatting"}]},"pod-formatting":{patterns:[{captures:{"1":{name:"markup.italic.pod.perl"},"2":{name:"markup.italic.pod.perl"}},match:/I(?:<([^\<\>]+)>|<+(\p{space}+(?:(?<!\p{space})>|[^\>])+\p{space}+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.bold.pod.perl"},"2":{name:"markup.bold.pod.perl"}},match:/B(?:<([^\<\>]+)>|<+(\p{space}+(?:(?<!\p{space})>|[^\>])+\p{space}+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.raw.pod.perl"},"2":{name:"markup.raw.pod.perl"}},match:/C(?:<([^\<\>]+)>|<+(\\s+(?:(?<!\\s)>|[^\>])+\\s+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.underline.link.hyperlink.pod.perl"}},match:/L<([^\>]+)>/dgv,name:"entity.name.type.instance.pod.perl"},{match:/[EFSXZ]<[^\>]*>/dgv,name:"entity.name.type.instance.pod.perl"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)&(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)`(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.pre-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)'(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.post-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)\+(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.last-paren-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)"(?![A-Za-z0-9_])/dgv,name:"variable.other.readwrite.list-separator.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)0(?![A-Za-z0-9_])/dgv,name:"variable.other.predefined.program-name.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)[_ab\*\.\/\|\,\\\;\#\%\=\-\~\^\:\?\!\$\<\>\(\)\[\]\@](?![A-Za-z0-9_])/dgv,name:"variable.other.predefined.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)[0-9]+(?![A-Za-z0-9_])/dgv,name:"variable.other.subpattern.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/([\$\@\%](#)?)([a-zA-Zx7f-xff\$]|::)([a-zA-Z0-9_x7f-xff\$]|::)*\b/dgv,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\$]|::)*(\})/dgv,name:"variable.other.readwrite.global.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/([\$\@\%](#)?)[0-9_]\b/dgv,name:"variable.other.readwrite.global.special.perl"}]}},scopeName:"source.perl",embeddedLangs:["html","xml","css","javascript","sql"],aliases:undefined})
|
|
8
|
+
const lang = Object.freeze({displayName:"Perl",name:"perl",patterns:[{include:"#line_comment"},{begin:/^(?==[a-zA-Z]+)/dgv,end:/^(=cut\b[^\n]*(?=\n?$))/dgv,endCaptures:{"1":{patterns:[{include:"#pod"}]}},name:"comment.block.documentation.perl",patterns:[{include:"#pod"}]},{include:"#variable"},{applyEndPatternLast:1,begin:/\b(?=qr\p{space}*[^\p{space}\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.compile.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(qr)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.compile.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/(qr)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.compile.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/(qr)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.compile.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/(qr)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.compile.nested_parens.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}\\'\{\[\(\<])/dgv},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/(qr)\p{space}*'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/'/dgv,name:"string.regexp.compile.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/(qr)\p{space}*([^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\2()()/dgv,name:"string.regexp.compile.simple-delimiter.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:1,begin:/(?<![\{\+\-])\b(?=m\p{space}*[^\p{space}a-zA-Z0-9])/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.find-m.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(m)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.find-m.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/(m)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.find-m.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/(m)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.find-m.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/(m)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.find-m.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/(m)\p{space}*'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/'/dgv,name:"string.regexp.find-m.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/(?<![\{\+\-])(m)(?!_)\p{space}*([^\p{space}a-zA-Z0-9'\{\[\(\<])/dgvy,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\2()()/dgv,name:"string.regexp.find-m.simple-delimiter.perl",patterns:[{match:/\$(?=[^\p{space}a-zA-Z0-9'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{begin:/\[/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.begin.perl"}},end:/\]/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.end.perl"}},name:"constant.other.character-class.set.perl",patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"}]},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:1,begin:/\b(?=(?<!&)(s)(\p{space}+\P{space}|\p{space}*[\;\,\{\}\(\)\[\<]|(?=\n?$)))/dgv,end:/((([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\{\}\)\]\>]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s)\p{space}*\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\}/dgv,name:"string.regexp.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},{begin:/(s)\p{space}*\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\]/dgv,name:"string.regexp.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},{begin:/(s)\p{space}*</dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/>/dgv,name:"string.regexp.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt"}]},{begin:/(s)\p{space}*\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/\)/dgv,name:"string.regexp.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},{begin:/\{/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\}/dgv,name:"string.regexp.format.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:/\[/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\]/dgv,name:"string.regexp.format.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:/</dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/>/dgv,name:"string.regexp.format.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\)/dgv,name:"string.regexp.format.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'/dgv,name:"string.regexp.format.single_quote.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl"}]},{begin:/([^\p{space}\p{L}\p{M}\p{N}\p{Pc}\[\(\{\<\;])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1()/dgv,name:"string.regexp.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{match:/\p{space}+/dgv}]},{begin:/\b(?=s([^\p{space}a-zA-Z0-9\[\(\{\<])[^\n]*\1([egimosxradlupcn]*)([\}\)\;\,]|\p{space}+))/dgv,end:/((([egimosxradlupcn]*)))(?=([\}\)\;\,]|\p{space}+|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s\p{space}*)([^\p{space}a-zA-Z0-9\[\(\{\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/(?=\2)()()/dgv,name:"string.regexp.replaceXXX.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'/dgv,name:"string.regexp.replaceXXX.format.single_quote.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl.perl"}]},{begin:/([^\p{space}a-zA-Z0-9\[\(\{\<])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1()/dgv,name:"string.regexp.replaceXXX.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:/\b(?=(?<!\\)s\p{space}*([^\p{space}\p{L}\p{M}\p{N}\p{Pc}\[\(\{\<\>]))/dgv,end:/((([egimosradlupc]*x[egimosradlupc]*)))\b/dgv,endCaptures:{"1":{name:"string.regexp.replace.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:/(s)\p{space}*([^\n])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"},"1":{name:"support.function.perl"}},end:/(?=\2)()()/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/'/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/'(?=[egimosradlupc]*x[egimosradlupc]*)\b/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:/([^\n])/dgv,captures:{"0":{name:"punctuation.definition.string.perl"}},end:/\1(?=[egimosradlupc]*x[egimosradlupc]*)\b()/dgv,name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:/(?<=[\(\{\~\&\|]|if|unless|^)\p{space}*((\/))/dgv,beginCaptures:{"1":{name:"string.regexp.find.perl"},"2":{name:"punctuation.definition.string.perl"}},contentName:"string.regexp.find.perl",end:/(((?!)([egimosxradlupcn]*)))(?=(\p{space}+\P{space}|\p{space}*[\;\,\#\{\}\)]|\p{space}*(?=\n?$)))/dgv,endCaptures:{"1":{name:"string.regexp.find.perl"},"2":{name:"punctuation.definition.string.perl"},"3":{name:"keyword.control.regexp-option.perl"}},patterns:[{match:/\$(?=\/)/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"}]},{captures:{"1":{name:"constant.other.key.perl"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?==>)/dgv},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,name:"constant.other.bareword.perl"},{captures:{"1":{name:"keyword.control.perl"},"2":{name:"entity.name.type.class.perl"}},match:/^\p{space}*(package)\p{space}+([^\p{space}\;]+)/dgv,name:"meta.class.perl"},{captures:{"1":{name:"storage.type.sub.perl"},"2":{name:"entity.name.function.perl"},"3":{name:"storage.type.method.perl"}},match:/\b(sub)(?:\p{space}+([\-a-zA-Z0-9_]+))?\p{space}*(?:\([\$\@\*\;]*\))?[^\p{L}\p{M}\p{N}\p{Pc}\{]/dgv,name:"meta.function.perl"},{captures:{"1":{name:"entity.name.function.perl"},"2":{name:"punctuation.definition.parameters.perl"},"3":{name:"variable.parameter.function.perl"}},match:/^\p{space}*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\b/dgv,name:"meta.function.perl"},{begin:/^(?=(\t| {4}))/dgv,end:/(?=[^\t\p{space}])/dgv,name:"meta.leading-tabs",patterns:[{captures:{"1":{name:"meta.odd-tab"},"2":{name:"meta.even-tab"}},match:/(\t| {4})(\t| {4})?/dgv}]},{captures:{"1":{name:"support.function.perl"},"2":{name:"punctuation.definition.string.perl"},"5":{name:"punctuation.definition.string.perl"},"8":{name:"punctuation.definition.string.perl"}},match:/\b(tr|y)\p{space}*([^A-Za-z0-9\p{space}])([^\n]*?)(?<!\\)(\\{2})*(\2)([^\n]*?)(?<!\\)(\\{2})*(\2)/dgv,name:"string.regexp.replace.perl"},{match:/\b(__(?:FILE__|LINE__|PACKAGE__|SUB__))\b/dgv,name:"constant.language.perl"},{begin:/\b(__(?:DATA__|END__))\n?/dgv,beginCaptures:{"1":{name:"constant.language.perl"}},contentName:"comment.block.documentation.perl",end:/$/dgv,patterns:[{include:"#pod"}]},{match:/(?<!->)\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\b/dgv,name:"keyword.control.perl"},{match:/\b(my|our|local)\b/dgv,name:"storage.modifier.perl"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[rwxoRWXOezsfdlpSbctugkTBMAC]\b/dgv,name:"keyword.operator.filetest.perl"},{match:/\b(and|or|xor|as|not)\b/dgv,name:"keyword.operator.logical.perl"},{match:/(<=>|=>|->)/dgv,name:"keyword.operator.comparison.perl"},{include:"#heredoc"},{begin:/\bqq\p{space}*([^\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/\bqx\p{space}*([^'\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/\bqx\p{space}*'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.double.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/(?<!->)\bqw?\p{space}*([^\(\{\[\<\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q.perl"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.single.perl",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.perl"}]},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/(?<!->)\bqq\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:/\bqq\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:/(?<!->)\bqx\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:/\bqx\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:/(?<!->)\bqw?\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-paren.perl",patterns:[{include:"#nested_parens"}]},{begin:/\bqw?\p{space}*\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-brace.perl",patterns:[{include:"#nested_braces"}]},{begin:/\bqw?\p{space}*\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-bracket.perl",patterns:[{include:"#nested_brackets"}]},{begin:/\bqw?\p{space}*</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-ltgt.perl",patterns:[{include:"#nested_ltgt"}]},{begin:/^__[\p{L}\p{M}\p{N}\p{Pc}]+__/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.perl"}},end:/(?=\n?$)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.perl"}},name:"string.unquoted.program-block.perl"},{begin:/\b(format)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*=/dgv,beginCaptures:{"1":{name:"support.function.perl"},"2":{name:"entity.name.function.format.perl"}},end:/^\.\p{space}*(?=\n?$)/dgv,name:"meta.format.perl",patterns:[{include:"#line_comment"},{include:"#variable"}]},{captures:{"1":{name:"support.function.perl"},"2":{name:"entity.name.function.perl"}},match:/\b(x)\p{space}*(\p{Nd}+)\b/dgv},{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|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|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|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)\b/dgv,name:"support.function.perl"},{captures:{"1":{name:"punctuation.section.scope.begin.perl"},"2":{name:"punctuation.section.scope.end.perl"}},match:/(\{)(\})/dgv},{captures:{"1":{name:"punctuation.section.scope.begin.perl"},"2":{name:"punctuation.section.scope.end.perl"}},match:/(\()(\))/dgv}],repository:{escaped_char:{patterns:[{match:/\\\p{Nd}+/dgv,name:"constant.character.escape.perl"},{match:/\\c[^\p{space}\\]/dgv,name:"constant.character.escape.perl"},{match:/\\g(?:\{(?:[\p{L}\p{M}\p{N}\p{Pc}]*|-\p{Nd}+)\}|\p{Nd}+)/dgv,name:"constant.character.escape.perl"},{match:/\\k(?:\{[\p{L}\p{M}\p{N}\p{Pc}]*\}|<[\p{L}\p{M}\p{N}\p{Pc}]*>|'[\p{L}\p{M}\p{N}\p{Pc}]*')/dgv,name:"constant.character.escape.perl"},{match:/\\N\{[^\}]*\}/dgv,name:"constant.character.escape.perl"},{match:/\\o\{\p{Nd}*\}/dgv,name:"constant.character.escape.perl"},{match:/\\[pP](?:\{[\p{L}\p{M}\p{N}\p{Pc}]*\}|P)/dgv,name:"constant.character.escape.perl"},{match:/\\x(?:[0-9a-zA-Z]{2}|\{[\p{L}\p{M}\p{N}\p{Pc}]*\})?/dgv,name:"constant.character.escape.perl"},{match:/\\[^\n]/dgv,name:"constant.character.escape.perl"}]},heredoc:{patterns:[{begin:/((((<<(~)?) *')(HTML)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *')(XML)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"text.xml"}]}]},{begin:/((((<<(~)?) *')(CSS)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/((((<<(~)?) *')(JAVASCRIPT)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/((((<<(~)?) *')(SQL)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"source.sql"}]}]},{begin:/((((<<(~)?) *')(POSTSCRIPT)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *')([^']*)(')))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}}},{begin:/((((<<(~)?) *\\)((?![\=\p{Nd}\$\( ])[^\;\,'"\`\p{space}\)]*)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.raw.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.raw.perl"},"3":{name:"punctuation.definition.string.end.perl"}}},{begin:/((((<<(~)?) *")(HTML)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *")(XML)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:/((((<<(~)?) *")(CSS)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:/((((<<(~)?) *")(JAVASCRIPT)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:/((((<<(~)?) *")(SQL)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:/((((<<(~)?) *")(POSTSCRIPT)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *")([^"]*)(")))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/((((<<(~)?) *)(HTML)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:/((((<<(~)?) *)(XML)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:/((((<<(~)?) *)(CSS)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:/((((<<(~)?) *)(JAVASCRIPT)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:/((((<<(~)?) *)(SQL)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:/((((<<(~)?) *)(POSTSCRIPT)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:/^/dgv,end:/\n/dgv,name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:/((((<<(~)?) *)((?![\=\p{Nd}\$\( ])[^\;\,'"\`\p{space}\)]*)()))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:/((((<<(~)?) *`)([^\`]*)(`)))([^\n]*)\n?/dgv,beginCaptures:{"1":{name:"string.unquoted.heredoc.interpolated.perl"},"2":{name:"punctuation.definition.string.begin.perl"},"3":{name:"punctuation.definition.delimiter.begin.perl"},"7":{name:"punctuation.definition.delimiter.end.perl"},"8":{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.shell.perl",end:/^((?!\5)\p{space}+)?((\6))(?=\n?$)()()()/dgv,endCaptures:{"2":{name:"string.unquoted.heredoc.interpolated.perl"},"3":{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},line_comment:{patterns:[{begin:/(^[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.perl"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.perl"}},end:/\n/dgv,name:"comment.line.number-sign.perl"}]}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_ltgt:{begin:/</dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/>/dgv,patterns:[{include:"#nested_ltgt"}]},nested_ltgt_interpolated:{begin:/</dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/>/dgv,patterns:[{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.perl"}},end:/\)/dgv,patterns:[{match:/\$(?=[^\p{space}\p{L}\p{M}\p{N}\p{Pc}'\{\[\(\<])/dgv,name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},pod:{patterns:[{match:/^=(pod|back|cut)\b/dgv,name:"storage.type.class.pod.perl"},{begin:/^(=begin)\p{space}+(html)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl"}},contentName:"text.embedded.html.basic",end:/^(?:(=end)\p{space}+(html)|(?==cut))/dgv,endCaptures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl"}},name:"meta.embedded.pod.perl",patterns:[{include:"text.html.basic"}]},{captures:{"1":{name:"storage.type.class.pod.perl"},"2":{name:"variable.other.pod.perl",patterns:[{include:"#pod-formatting"}]}},match:/^(=(?:head[1-4]|item|over|encoding|begin|end|for))\b\p{space}*([^\n]*)/dgv},{include:"#pod-formatting"}]},"pod-formatting":{patterns:[{captures:{"1":{name:"markup.italic.pod.perl"},"2":{name:"markup.italic.pod.perl"}},match:/I(?:<([^\<\>]+)>|<+(\p{space}+(?:(?<!\p{space})>|[^\>])+\p{space}+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.bold.pod.perl"},"2":{name:"markup.bold.pod.perl"}},match:/B(?:<([^\<\>]+)>|<+(\p{space}+(?:(?<!\p{space})>|[^\>])+\p{space}+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.raw.pod.perl"},"2":{name:"markup.raw.pod.perl"}},match:/C(?:<([^\<\>]+)>|<+(\\s+(?:(?<!\\s)>|[^\>])+\\s+)>+)/dgv,name:"entity.name.type.instance.pod.perl"},{captures:{"1":{name:"markup.underline.link.hyperlink.pod.perl"}},match:/L<([^\>]+)>/dgv,name:"entity.name.type.instance.pod.perl"},{match:/[EFSXZ]<[^\>]*>/dgv,name:"entity.name.type.instance.pod.perl"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)&(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)`(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.pre-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)'(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.post-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)\+(?![A-Za-z0-9_])/dgv,name:"variable.other.regexp.last-paren-match.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)"(?![A-Za-z0-9_])/dgv,name:"variable.other.readwrite.list-separator.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)0(?![A-Za-z0-9_])/dgv,name:"variable.other.predefined.program-name.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)[_ab\*\.\/\|\,\\\;\#\%\=\-\~\^\:\?\!\$\<\>\(\)\[\]\@](?![A-Za-z0-9_])/dgv,name:"variable.other.predefined.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/(\$)[0-9]+(?![A-Za-z0-9_])/dgv,name:"variable.other.subpattern.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/([\$\@\%](#)?)([a-zA-Zx7f-xf\$]|::)([a-zA-Z0-9_x7f-xf\$]|::)*\b/dgv,name:"variable.other.readwrite.global.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"},"2":{name:"punctuation.definition.variable.perl"}},match:/(\$\{)(?:[a-zA-Zx7f-xf\$]|::)(?:[a-zA-Z0-9_x7f-xf\$]|::)*(\})/dgv,name:"variable.other.readwrite.global.perl"},{captures:{"1":{name:"punctuation.definition.variable.perl"}},match:/([\$\@\%](#)?)[0-9_]\b/dgv,name:"variable.other.readwrite.global.special.perl"}]}},scopeName:"source.perl",embeddedLangs:["html","xml","css","javascript","sql"],aliases:undefined})
|
|
9
9
|
|
|
10
10
|
export default [
|
|
11
11
|
...html,
|