@shikijs/langs-precompiled 3.3.0 → 3.4.0
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/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.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/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/clarity.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/css.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dax.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/fennel.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/gherkin.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/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.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.mjs +1 -1
- package/dist/log.mjs +1 -1
- package/dist/logo.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.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/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/powershell.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- 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/riscv.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -3
- package/dist/splunk.mjs +1 -1
- package/dist/sql.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/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/typescript.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/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/package.json +4 -4
package/dist/ruby.mjs
CHANGED
|
@@ -12,7 +12,7 @@ import shellscript from './shellscript.mjs'
|
|
|
12
12
|
import lua from './lua.mjs'
|
|
13
13
|
import yaml from './yaml.mjs'
|
|
14
14
|
|
|
15
|
-
const lang = Object.freeze({displayName:"Ruby",name:"ruby",patterns:[{captures:{"1":{name:"keyword.control.class.ruby"},"2":{name:"entity.name.type.class.ruby"},"5":{name:"punctuation.separator.namespace.ruby"},"7":{name:"punctuation.separator.inheritance.ruby"},"8":{name:"entity.other.inherited-class.ruby"},"11":{name:"punctuation.separator.namespace.ruby"}},match:/\b(class)\p{space}+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\p{space}*((<)\p{space}*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?/dgv,name:"meta.class.ruby"},{captures:{"1":{name:"keyword.control.module.ruby"},"2":{name:"entity.name.type.module.ruby"},"5":{name:"punctuation.separator.namespace.ruby"}},match:/\b(module)\p{space}+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)/dgv,name:"meta.module.ruby"},{captures:{"1":{name:"keyword.control.class.ruby"},"2":{name:"punctuation.separator.inheritance.ruby"}},match:/\b(class)\p{space}*(<<)\p{space}*/dgv,name:"meta.class.ruby"},{match:/(?<!\.)\belse(\p{space})+if\b/dgv,name:"invalid.deprecated.ruby"},{captures:{"1":{name:"variable.ruby"},"3":{name:"keyword.operator.assignment.augmented.ruby"}},match:/^\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*((&&|\|\|)=)/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"},"5":{name:"keyword.operator.assignment.augmented.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*((&&|\|\|)=)/dgv},{captures:{"1":{name:"variable.ruby"},"3":{name:"keyword.operator.assignment.augmented.ruby"}},match:/^\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*(([\-\%\*\+\/]|\*\*|[\&\^\|]|<<|>>)=)/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"},"5":{name:"keyword.operator.assignment.augmented.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*(([\-\%\*\+\/]|\*\*|[\&\^\|]|<<|>>)=)/dgv},{captures:{"1":{name:"variable.ruby"}},match:/^\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*(?==[^\=\>])/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([a-z]([0-9A-Z_a-z])*)\p{space}*=[^\=\>]/dgv},{captures:{"1":{name:"punctuation.definition.constant.hashkey.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.language.symbol.hashkey.ruby"},{captures:{"1":{name:"punctuation.definition.constant.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\2)(?=\\p{space}*=>)","dgv",{"hiddenCaptures":[2]}),name:"constant.language.symbol.hashkey.ruby"},{match:/(?<!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![\!\?])/dgv,name:"keyword.control.ruby"},{match:/(?<!\.)\bdo\b/dgv,name:"keyword.control.start-block.ruby"},{match:/(?<=\{)(\p{space}+)/dgv,name:"meta.syntax.ruby.start-block"},{match:/(?<!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![\!\?])|\bdefined\?|\b(block_given|iterator)\?/dgv,name:"keyword.control.pseudo-method.ruby"},{match:/\bnil\b(?![\!\?])/dgv,name:"constant.language.nil.ruby"},{match:/\b(true|false)\b(?![\!\?])/dgv,name:"constant.language.boolean.ruby"},{match:/\b(__(FILE|LINE)__)\b(?![\!\?])/dgv,name:"variable.language.ruby"},{match:/\bself\b(?![\!\?])/dgv,name:"variable.language.self.ruby"},{match:/\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\b(?![\!\?])/dgv,name:"keyword.other.special-method.ruby"},{begin:/\b(?<!\.|::)(require(?:|_relative))\b(?![\!\?])/dgv,captures:{"1":{name:"keyword.other.special-method.ruby"}},end:/(?=\n?$)|(?=[\#\}])/dgv,name:"meta.require.ruby",patterns:[{include:"$self"}]},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.instance.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(@@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.class.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(\$)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.global.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(\$)([\!\&'\+\@\`]|\p{Nd}+|["\$\*\,\.\/\:-\?\\_\~]|-[0FIadilpv])/dgv,name:"variable.other.readwrite.global.pre-defined.ruby"},{begin:/\b(ENV)\[/dgv,beginCaptures:{"1":{name:"variable.other.constant.ruby"}},end:/\]/dgv,name:"meta.environment-variable.ruby",patterns:[{include:"$self"}]},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=((\.|::)[A-Za-z]|\[))/dgv,name:"support.class.ruby"},{match:/\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|print|printf|proc|putc|puts|rand|readline|readlines|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\b(?![\!\?])|autoload\?|exit!)/dgv,name:"support.function.kernel.ruby"},{match:/\b[A-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.constant.ruby"},{begin:/(->)\(/dgv,beginCaptures:{"1":{name:"support.function.kernel.ruby"}},end:/\)/dgv,patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))\\p{space}*(\\()","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.def.ruby"},"2":{name:"entity.name.function.ruby"},"3":{name:"punctuation.definition.parameters.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.ruby"}},name:"meta.function.method.with-arguments.ruby",patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))[\\t ](?=[\\t ]*[^\\#\\;\\p{space}])","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.def.ruby"},"2":{name:"entity.name.function.ruby"}},end:/(?=;)|(?<=[\]\!"'\)\?\`\}\p{L}\p{M}\p{N}\p{Pc}])(?=\p{space}*#|\p{space}*(?=\n?$))/dgv,name:"meta.function.method.with-arguments.ruby",patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\,\;]|\p{space}*#|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{captures:{"1":{name:"keyword.control.def.ruby"},"3":{name:"entity.name.function.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\b(\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\5)))\\4)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\7)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\6)))?","dgv",{"hiddenCaptures":[4,5,6,7]}),name:"meta.function.method.without-arguments.ruby"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b(\\p{Nd}(?:(?=(_?\\p{Nd}))\\2)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\4)*)?([Ee][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\6)*)?|0(?:[Xx]\\p{AHex}(?:(?=(_?\\p{AHex}))\\7)*|[Oo]?[0-7](?:(?=(_?[0-7]))\\8)*|[Bb][01](?:(?=(_?[01]))\\9)*|[Dd]\\p{Nd}(?:(?=(_?\\p{Nd}))\\10)*))\\b","dgv",{"hiddenCaptures":[2,4,6,7,8,9,10]}),name:"constant.numeric.ruby"},{begin:/:'/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.ruby"}]},{begin:/:"/dgv,beginCaptures:{"0":{name:"punctuation.section.symbol.begin.ruby"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.section.symbol.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{match:/(?<!\()\/=/dgv,name:"keyword.operator.assignment.augmented.ruby"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.single.ruby",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.ruby"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.double.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/(?<!\.)`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\)\\p{L}\\p{M}\\p{N}\\p{Pc}])((/))(?![\\*\\+\\?])(?=(?:(?=((?:\\\\/|[^\\/])*))\\3)/[eimnosux]*\\p{space}*(?:[\\]\\#\\)\\,\\.\\:\\?\\}]|\\|\\||&&|<=>|=>|==|=~|!~|!=|;|(?=\\n?$)|if|else|elsif|then|do|end|unless|while|until|or|and)|(?=\\n?$))","dgv",{"hiddenCaptures":[3]}),captures:{"1":{name:"string.regexp.interpolated.ruby"},"2":{name:"punctuation.section.regexp.ruby"}},contentName:"string.regexp.interpolated.ruby",end:/((\/[eimnosux]*))/dgv,patterns:[{include:"#regex_sub"}]},{begin:/%r\{/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\}[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:/%r\[/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\][eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:/%r\(/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\)[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:/%r</dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/>[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:/%r([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\1[eimnosux]*()/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"}]},{begin:/%I\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%I\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%I</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%I\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%I([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%i\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%i\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%i</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%i\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%i([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%W\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%W\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%W</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%W\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%W([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%w\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%w\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%w</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%w\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%w([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%[Qx]?\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%[Qx]?\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%[Qx]?\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%[Qx]?</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%[Qx]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%([^\=\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%q\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%q</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%q\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%q\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%q([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%s\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%s</dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%s\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%s\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%s([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[^\n]/dgv}]},{captures:{"1":{name:"punctuation.definition.constant.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([\\$A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?![\\=\\>])))\\3)?|===?|<=>|>[\\=\\>]?|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?|@@?[A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.language.symbol.ruby"},{begin:/^=begin/dgv,captures:{"0":{name:"punctuation.definition.comment.ruby"}},end:/^=end/dgv,name:"comment.block.documentation.ruby"},{include:"#yard"},{begin:/(^[\t ]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.ruby"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.ruby"}},end:/\n/dgv,name:"comment.line.number-sign.ruby"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|0[0-7]{0,2}(?![0-7])\b|[^0CMx])|(\\[CM]-)+[\p{L}\p{M}\p{N}\p{Pc}]|[^\\\p{space}])/dgv,name:"constant.numeric.ruby"},{begin:/^__END__\n/dgv,captures:{"0":{name:"string.unquoted.program-block.ruby"}},contentName:"text.plain",end:/(?=not)impossible/dgv,patterns:[{begin:/(?=<?xml|<[Hh][Tt][Mm][Ll]\b|!DOCTYPE [Hh][Tt][Mm][Ll]\b)/dgv,end:/(?=not)impossible/dgv,name:"text.html.embedded.ruby",patterns:[{include:"text.html.basic"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HTML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.html",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HTML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.html",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.html.basic"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HAML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.haml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HAML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.haml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.haml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)XML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.xml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)XML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.xml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.xml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SQL)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.sql",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SQL)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.sql",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.sql"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)G(?:RAPHQL|QL))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.graphql",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)G(?:RAPHQL|QL))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.graphql",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.graphql"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CSS)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.css",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CSS)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.css",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.css"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CPP)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.cpp",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CPP)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.cpp",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.cpp"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)C)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.c",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)C)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.c",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)J(?:S|AVASCRIPT))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.js",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)J(?:S|AVASCRIPT))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)JQUERY)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.js.jquery",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)JQUERY)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js.jquery",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js.jquery"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SH(?:|ELL))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.shell",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SH(?:|ELL))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.shell",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.shell"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)LUA)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.lua",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)LUA)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.lua",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.lua"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)RUBY)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.ruby",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)RUBY)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.ruby",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.ruby"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)Y(?:A|)ML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.yaml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)Y(?:A|)ML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.yaml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.yaml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SLIM)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.slim",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SLIM)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.slim",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.slim"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(=\\p{space}*<<([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/^\2(?=\n?$)()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(((<<[\\-\\~]([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\4,\\p{space}?)*<<[\\-\\~]([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\6)))\\1)([^\\n]*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.string.begin.ruby"},"7":{patterns:[{include:"source.ruby"}]}},end:/^\p{space}*\6(?=\n?$)()()()()()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/(?<=\{|\{\p{space}+|[^\$0-\:\@-Z_a-z]do|^do|[^\$0-\:\@-Z_a-z]do\p{space}+|^do\p{space}+)(\|)/dgv,captures:{"1":{name:"punctuation.separator.variable.ruby"}},end:/(?<!\|)(\|)(?!\|)/dgv,name:"meta.block.parameters.ruby",patterns:[{begin:/(?![\(\,\|\p{space}])/dgv,end:/(?=,|\|\p{space}*)/dgv,patterns:[{captures:{"1":{name:"storage.type.variable.ruby"},"2":{name:"variable.other.block.ruby"}},match:/((?:&|\*\*?)?)([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}]*)/dgvy}]},{match:/,/dgv,name:"punctuation.separator.variable.ruby"}]},{match:/=>/dgv,name:"punctuation.separator.key-value"},{match:/->/dgv,name:"support.function.kernel.ruby"},{match:/<<=|%=|&{1,2}=|\*=|\*\*=|\+=|-=|\^=|\|{1,2}=|<</dgv,name:"keyword.operator.assignment.augmented.ruby"},{match:/<=>|<(?![\<\=])|>(?![\<\=\>])|<=|>=|===|==|=~|!=|!~|(?<=[\t ])\?/dgv,name:"keyword.operator.comparison.ruby"},{match:/(?<!\.)\b(and|not|or)\b(?![\!\?])/dgv,name:"keyword.operator.logical.ruby"},{match:/(?<=^|[\t \!])!|&&|\|\||\^/dgv,name:"keyword.operator.logical.ruby"},{captures:{"1":{name:"keyword.operator.logical.ruby"}},match:/(&\.)\p{space}*(?![A-Z])/dgv},{match:/([\%\&]|\*\*|[\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.ruby"},{match:/=/dgv,name:"keyword.operator.assignment.ruby"},{match:/[\|\~]|>>/dgv,name:"keyword.operator.other.ruby"},{match:/;/dgv,name:"punctuation.separator.statement.ruby"},{match:/,/dgv,name:"punctuation.separator.object.ruby"},{captures:{"1":{name:"punctuation.separator.namespace.ruby"}},match:/(::)\p{space}*(?=[A-Z])/dgv},{captures:{"1":{name:"punctuation.separator.method.ruby"}},match:/(\.|::)\p{space}*(?![A-Z])/dgv},{match:/:/dgv,name:"punctuation.separator.other.ruby"},{match:/\{/dgv,name:"punctuation.section.scope.begin.ruby"},{match:/\}/dgv,name:"punctuation.section.scope.end.ruby"},{match:/\[/dgv,name:"punctuation.section.array.begin.ruby"},{match:/\]/dgv,name:"punctuation.section.array.end.ruby"},{match:/[\(\)]/dgv,name:"punctuation.section.function.ruby"},{begin:/(?<=[^\.]\.|::)(?=[A-Za-z][\!0-9\?A-Z_a-z]*[^\!0-9\?A-Z_a-z])/dgv,end:/(?<=[\!0-9\?A-Z_a-z])(?=[^\!0-9\?A-Z_a-z])/dgv,name:"meta.function-call.ruby",patterns:[{match:/([A-Za-z][\!0-9\?A-Z_a-z]*)(?=[^\!0-9\?A-Z_a-z])/dgv,name:"entity.name.function.ruby"}]},{begin:/([A-Za-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ruby"},"2":{name:"punctuation.section.function.ruby"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.ruby"}},name:"meta.function-call.ruby",patterns:[{include:"$self"}]}],repository:{escaped_char:{match:/\\(?:[0-7]{1,3}|x[A-Fa-f\p{Nd}]{1,2}|[^\n])/dgv,name:"constant.character.escape.ruby"},heredoc:{begin:/^<<[\-\~]?[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,end:/(?=\n?$)/dgv,patterns:[{include:"$self"}]},interpolated_ruby:{patterns:[{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.ruby"}},contentName:"source.ruby",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.ruby"}},name:"meta.embedded.line.ruby",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.instance.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#@@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.class.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#\$)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.global.ruby"}]},method_parameters:{patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"#params"},{include:"$self"}],repository:{braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]},brackets:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]},params:{captures:{"1":{name:"storage.type.variable.ruby"},"2":{name:"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{name:"punctuation.definition.constant.ruby"},"4":{name:"variable.parameter.function.ruby"}},match:/(&|\*\*?)?(?:([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(:))|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))/dgvy},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]}}},nest_brackets:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#nest_brackets"}]},nest_brackets_i:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},nest_brackets_r:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},nest_curly:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#nest_curly"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]},nest_curly_i:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},nest_curly_r:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},nest_ltgt:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#nest_ltgt"}]},nest_ltgt_i:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},nest_ltgt_r:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},nest_parens:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#nest_parens"}]},nest_parens_i:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},nest_parens_r:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},regex_sub:{patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{captures:{"1":{name:"punctuation.definition.arbitrary-repetition.ruby"},"3":{name:"punctuation.definition.arbitrary-repetition.ruby"}},match:/(\{)\p{Nd}+(,\p{Nd}+)?(\})/dgv,name:"string.regexp.arbitrary-repetition.ruby"},{begin:/\[(?:\^?\])?/dgv,captures:{"0":{name:"punctuation.definition.character-class.ruby"}},end:/\]/dgv,name:"string.regexp.character-class.ruby",patterns:[{include:"#escaped_char"}]},{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.ruby"}},name:"comment.line.number-sign.ruby",patterns:[{include:"#escaped_char"}]},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.group.ruby"}},end:/\)/dgv,name:"string.regexp.group.ruby",patterns:[{include:"#regex_sub"}]},{begin:/(?<=^|\p{space})(#)\p{space}(?=[\-\t \!\,\.0-9\?A-Za-z[^\x00-\x7F]]*(?=\n?$))/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.ruby"}},end:/(?=\n?$)\n?/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.ruby"}},name:"comment.line.number-sign.ruby"}]},yard:{patterns:[{include:"#yard_comment"},{include:"#yard_param_types"},{include:"#yard_option"},{include:"#yard_tag"},{include:"#yard_types"},{include:"#yard_directive"},{include:"#yard_see"},{include:"#yard_macro_attribute"}]},yard_comment:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_continuation:{match:/^\p{space}*#/dgv,name:"punctuation.definition.comment.ruby"},yard_directive:{begin:/^(\p{space}*)(#)(\p{space}*)(@!)(endgroup|group|method|parse|scope|visibility)(\p{space}+((\[)[^\n]+(\])))?(?=\p{space})/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_macro_attribute:{begin:/^(\p{space}*)(#)(\p{space}*)(@!)(attribute|macro)(\p{space}+((\[)[^\n]+(\])))?(?=\p{space})(\p{space}+([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*:?))?/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"11":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_option:{begin:/*@__PURE__*/ new EmulatedRegExp("^(\\p{space}*)(#)(\\p{space}*)(@)(option)(?=\\p{space})(?:(?=(\\p{space}+([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)))\\6)?(?:(?=(\\p{space}+((\\[)[^\\n]+(\\]))))\\8)?(?:(?=(\\p{space}+((\\P{space}*))))\\12)?(?:(?=(\\p{space}+((\\()[^\\n]+(\\)))))\\15)?","dgv",{"hiddenCaptures":[6,8,12,15]}),beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"6":{name:"comment.line.parameter.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"10":{name:"comment.line.keyword.yard.ruby"},"11":{name:"comment.line.hashkey.yard.ruby"},"12":{name:"comment.line.defaultvalue.yard.ruby"},"13":{name:"comment.line.punctuation.yard.ruby"},"14":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_param_types:{begin:/*@__PURE__*/ new EmulatedRegExp("^(\\p{space}*)(#)(\\p{space}*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\p{space})(?:(?=(\\p{space}+(?:(?=(([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)|((\\[)[^\\n]+(\\]))))\\7)))\\6)?(?:(?=(\\p{space}+(?:(?=(((\\[)[^\\n]+(\\]))|([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)))\\13)))\\12)?","dgv",{"hiddenCaptures":[6,7,12,13]}),beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"6":{name:"comment.line.parameter.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"10":{name:"comment.line.type.yard.ruby"},"11":{name:"comment.line.punctuation.yard.ruby"},"12":{name:"comment.line.punctuation.yard.ruby"},"13":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_see:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(see)(?=\p{space})(\p{space}+([^\n]+?))?(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_tag:{captures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"}},match:/^(\p{space}*)(#)(\p{space}*)(@)(private)(?=\n?$)/dgv,name:"comment.line.number-sign.ruby"},yard_types:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(raise|return|yield(?:return)?)(?=\p{space})(\p{space}+((\[)[^\n]+(\])))?/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]}},scopeName:"source.ruby",embeddedLangs:["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],aliases:["rb"]})
|
|
15
|
+
const lang = Object.freeze({displayName:"Ruby",name:"ruby",patterns:[{captures:{"1":{name:"keyword.control.class.ruby"},"2":{name:"entity.name.type.class.ruby"},"5":{name:"punctuation.separator.namespace.ruby"},"7":{name:"punctuation.separator.inheritance.ruby"},"8":{name:"entity.other.inherited-class.ruby"},"11":{name:"punctuation.separator.namespace.ruby"}},match:/\b(class)\p{space}+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\p{space}*((<)\p{space}*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?/dgv,name:"meta.class.ruby"},{captures:{"1":{name:"keyword.control.module.ruby"},"2":{name:"entity.name.type.module.ruby"},"5":{name:"punctuation.separator.namespace.ruby"}},match:/\b(module)\p{space}+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)/dgv,name:"meta.module.ruby"},{captures:{"1":{name:"keyword.control.class.ruby"},"2":{name:"punctuation.separator.inheritance.ruby"}},match:/\b(class)\p{space}*(<<)\p{space}*/dgv,name:"meta.class.ruby"},{match:/(?<!\.)\belse(\p{space})+if\b/dgv,name:"invalid.deprecated.ruby"},{captures:{"1":{name:"variable.ruby"},"2":{name:"keyword.operator.assignment.augmented.ruby"}},match:/^\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*((&&|\|\|)=)/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"},"4":{name:"keyword.operator.assignment.augmented.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*((&&|\|\|)=)/dgv},{captures:{"1":{name:"variable.ruby"},"2":{name:"keyword.operator.assignment.augmented.ruby"}},match:/^\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*(([\-\%\*\+\/]|\*\*|[\&\^\|]|<<|>>)=)/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"},"4":{name:"keyword.operator.assignment.augmented.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*(([\-\%\*\+\/]|\*\*|[\&\^\|]|<<|>>)=)/dgv},{captures:{"1":{name:"variable.ruby"}},match:/^\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*(?==[^\=\>])/dgv},{captures:{"1":{name:"keyword.control.ruby"},"3":{name:"variable.ruby"}},match:/(?<!\.)\b(case|if|elsif|unless|until|while)\b\p{space}*(\()*?\p{space}*([_a-z][0-9A-Z_a-z]*)\p{space}*=[^\=\>]/dgv},{captures:{"1":{name:"punctuation.definition.constant.hashkey.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.language.symbol.hashkey.ruby"},{captures:{"1":{name:"punctuation.definition.constant.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\2)(?=\\p{space}*=>)","dgv",{"hiddenCaptures":[2]}),name:"constant.language.symbol.hashkey.ruby"},{match:/(?<!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![\!\?])/dgv,name:"keyword.control.ruby"},{match:/(?<!\.)\bdo\b/dgv,name:"keyword.control.start-block.ruby"},{match:/(?<=\{)(\p{space}+)/dgv,name:"meta.syntax.ruby.start-block"},{match:/(?<!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![\!\?])|\bdefined\?|\b(block_given|iterator)\?/dgv,name:"keyword.control.pseudo-method.ruby"},{match:/\bnil\b(?![\!\?])/dgv,name:"constant.language.nil.ruby"},{match:/\b(true|false)\b(?![\!\?])/dgv,name:"constant.language.boolean.ruby"},{match:/\b(__(FILE|LINE)__)\b(?![\!\?])/dgv,name:"variable.language.ruby"},{match:/\bself\b(?![\!\?])/dgv,name:"variable.language.self.ruby"},{match:/\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\b(?![\!\?])/dgv,name:"keyword.other.special-method.ruby"},{begin:/\b(?<!\.|::)(require(?:|_relative))\b(?![\!\?])/dgv,captures:{"1":{name:"keyword.other.special-method.ruby"}},end:/(?=\n?$)|(?=[\#\}])/dgv,name:"meta.require.ruby",patterns:[{include:"$self"}]},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.instance.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(@@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.class.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(\$)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.global.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(\$)([\!\&'\+\@\`]|\p{Nd}+|["\$\*\,\.\/\:-\?\\_\~]|-[0FIadilpv])/dgv,name:"variable.other.readwrite.global.pre-defined.ruby"},{begin:/\b(ENV)\[/dgv,beginCaptures:{"1":{name:"variable.other.constant.ruby"}},end:/\]/dgv,name:"meta.environment-variable.ruby",patterns:[{include:"$self"}]},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=((\.|::)[A-Za-z]|\[))/dgv,name:"support.class.ruby"},{match:/\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|printf??|proc|putc|puts|rand|readlines??|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\b(?![\!\?])|autoload\?|exit!)/dgv,name:"support.function.kernel.ruby"},{match:/\b[A-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.constant.ruby"},{begin:/(->)\(/dgv,beginCaptures:{"1":{name:"support.function.kernel.ruby"}},end:/\)/dgv,patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))\\p{space}*(\\()","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.def.ruby"},"2":{name:"entity.name.function.ruby"},"3":{name:"punctuation.definition.parameters.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.ruby"}},name:"meta.function.method.with-arguments.ruby",patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))[\\t ](?=[\\t ]*[^\\#\\;\\p{space}])","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.def.ruby"},"2":{name:"entity.name.function.ruby"}},end:/(?=;)|(?<=[\]\!"'\)\?\`\}\p{L}\p{M}\p{N}\p{Pc}])(?=\p{space}*#|\p{space}*(?=\n?$))/dgv,name:"meta.function.method.with-arguments.ruby",patterns:[{begin:/(?=[\&\*A-Z_a-z])/dgv,end:/(?=[\,\;]|\p{space}*#|\p{space}*(?=\n?$))/dgv,patterns:[{include:"#method_parameters"}]},{include:"#method_parameters"}]},{captures:{"1":{name:"keyword.control.def.ruby"},"3":{name:"entity.name.function.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?=def\\b)(?<=^|\\p{space})(def)\\b(\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\5)))\\4)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\7)?|===?|!=|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\6)))?","dgv",{"hiddenCaptures":[4,5,6,7]}),name:"meta.function.method.without-arguments.ruby"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b(\\p{Nd}(?:(?=(_?\\p{Nd}))\\2)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\4)*)?([Ee][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\6)*)?|0(?:[Xx]\\p{AHex}(?:(?=(_?\\p{AHex}))\\7)*|[Oo]?[0-7](?:(?=(_?[0-7]))\\8)*|[Bb][01](?:(?=(_?[01]))\\9)*|[Dd]\\p{Nd}(?:(?=(_?\\p{Nd}))\\10)*))\\b","dgv",{"hiddenCaptures":[2,4,6,7,8,9,10]}),name:"constant.numeric.ruby"},{begin:/:'/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.ruby"}]},{begin:/:"/dgv,beginCaptures:{"0":{name:"punctuation.section.symbol.begin.ruby"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.section.symbol.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{match:/(?<!\()\/=/dgv,name:"keyword.operator.assignment.augmented.ruby"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.single.ruby",patterns:[{match:/\\['\\]/dgv,name:"constant.character.escape.ruby"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.double.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/(?<!\.)`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\)\\p{L}\\p{M}\\p{N}\\p{Pc}])((/))(?![\\*\\+\\?])(?=(?:(?=((?:\\\\/|[^\\/])*))\\3)/[eimnosux]*\\p{space}*(?:[\\]\\#\\)\\,\\.\\:\\?\\}]|\\|\\||&&|<=>|=>|==|=~|!~|!=|;|(?=\\n?$)|if|else|elsif|then|do|end|unless|while|until|or|and)|(?=\\n?$))","dgv",{"hiddenCaptures":[3]}),captures:{"1":{name:"string.regexp.interpolated.ruby"},"2":{name:"punctuation.section.regexp.ruby"}},contentName:"string.regexp.interpolated.ruby",end:/((\/[eimnosux]*))/dgv,patterns:[{include:"#regex_sub"}]},{begin:/%r\{/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\}[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:/%r\[/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\][eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:/%r\(/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\)[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:/%r</dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/>[eimnosux]*/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:/%r([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.regexp.begin.ruby"}},end:/\1[eimnosux]*()/dgv,endCaptures:{"0":{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"}]},{begin:/%I\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%I\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%I</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%I\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%I([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%i\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%i\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%i</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%i\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%i([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%W\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%W\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%W</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%W\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%W([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%w\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%w\(/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%w</dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%w\{/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%w([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%[Qx]?\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:/%[Qx]?\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:/%[Qx]?\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:/%[Qx]?</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:/%[Qx]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%([^\=\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/%q\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%q</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%q\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%q\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%q([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:/\\[^\n]/dgv}]},{begin:/%s\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\)\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:/%s</dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\>\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:/%s\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\]\\]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:/%s\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[\\\}]/dgv,name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:/%s([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.symbol.begin.ruby"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.language.symbol.ruby",patterns:[{match:/\\[^\n]/dgv}]},{captures:{"1":{name:"punctuation.definition.constant.ruby"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([\\$A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?![\\=\\>])))\\3)?|===?|<=>|>[\\=\\>]?|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?|@@?[A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.language.symbol.ruby"},{begin:/^=begin/dgv,captures:{"0":{name:"punctuation.definition.comment.ruby"}},end:/^=end/dgv,name:"comment.block.documentation.ruby"},{include:"#yard"},{begin:/(^[\t ]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.ruby"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.ruby"}},end:/\n/dgv,name:"comment.line.number-sign.ruby"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|0[0-7]{0,2}(?![0-7])\b|[^0CMx])|(\\[CM]-)+[\p{L}\p{M}\p{N}\p{Pc}]|[^\\\p{space}])/dgv,name:"constant.numeric.ruby"},{begin:/^__END__\n/dgv,captures:{"0":{name:"string.unquoted.program-block.ruby"}},contentName:"text.plain",end:/(?=not)impossible/dgv,patterns:[{begin:/(?=<?xml|<[Hh][Tt][Mm][Ll]\b|!DOCTYPE [Hh][Tt][Mm][Ll]\b)/dgv,end:/(?=not)impossible/dgv,name:"text.html.embedded.ruby",patterns:[{include:"text.html.basic"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HTML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.html",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HTML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"text.html",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.html.basic"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HAML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.haml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)HAML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"text.haml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.haml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)XML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.xml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)XML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"text.xml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.xml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SQL)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.sql",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SQL)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.sql",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.sql"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)G(?:RAPHQL|QL))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.graphql",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)G(?:RAPHQL|QL))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.graphql",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.graphql"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CSS)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.css",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CSS)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.css",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.css"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CPP)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.cpp",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)CPP)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.cpp",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.cpp"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)C)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.c",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)C)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.c",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)J(?:S|AVASCRIPT))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.js",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)J(?:S|AVASCRIPT))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.js",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)JQUERY)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.js.jquery",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)JQUERY)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.js.jquery",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js.jquery"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SH(?:|ELL))\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.shell",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SH(?:|ELL))\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.shell",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.shell"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)LUA)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.lua",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)LUA)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.lua",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.lua"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)RUBY)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.ruby",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)RUBY)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.ruby",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.ruby"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)YA?ML)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.yaml",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)YA?ML)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"source.yaml",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.yaml"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SLIM)\\b\\2))\\1))","dgv",{"hiddenCaptures":[1]}),end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.block.slim",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(<<[\\-\\~]([\"'\\`]?)((?:[_\\p{L}\\p{M}\\p{N}\\p{Pc}]+_|)SLIM)\\b\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"text.slim",end:/^\p{space}*\2(?=\n?$)\n?()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.slim"},{include:"#escaped_char"}]}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(=\\p{space}*<<([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\2))\\1)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"string.definition.begin.ruby"}},contentName:"string.unquoted.heredoc.ruby",end:/^\2(?=\n?$)()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(((<<[\\-\\~]([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\4,\\p{space}?)*<<[\\-\\~]([\"'\\`]?)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\6)))\\1)([^\\n]*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"string.definition.begin.ruby"},"7":{patterns:[{include:"source.ruby"}]}},contentName:"string.unquoted.heredoc.ruby",end:/^\p{space}*\6(?=\n?$)()()()()()()/dgv,endCaptures:{"0":{name:"string.definition.end.ruby"}},patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:/(?<=\{|\{\p{space}+|[^\$0-\:\@-Z_a-z]do|^do|[^\$0-\:\@-Z_a-z]do\p{space}+|^do\p{space}+)(\|)/dgv,captures:{"1":{name:"punctuation.separator.variable.ruby"}},end:/(?<!\|)(\|)(?!\|)/dgv,name:"meta.block.parameters.ruby",patterns:[{begin:/(?![\(\,\|\p{space}])/dgv,end:/(?=,|\|\p{space}*)/dgv,patterns:[{captures:{"1":{name:"storage.type.variable.ruby"},"2":{name:"variable.other.block.ruby"}},match:/((?:&|\*\*?)?)([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}]*)/dgvy}]},{match:/,/dgv,name:"punctuation.separator.variable.ruby"}]},{match:/=>/dgv,name:"punctuation.separator.key-value"},{match:/->/dgv,name:"support.function.kernel.ruby"},{match:/<<=|%=|&{1,2}=|\*=|\*\*=|\+=|-=|\^=|\|{1,2}=|<</dgv,name:"keyword.operator.assignment.augmented.ruby"},{match:/<=>|<(?![\<\=])|>(?![\<\=\>])|<=|>=|===?|=~|!=|!~|(?<=[\t ])\?/dgv,name:"keyword.operator.comparison.ruby"},{match:/(?<!\.)\b(and|not|or)\b(?![\!\?])/dgv,name:"keyword.operator.logical.ruby"},{match:/(?<=^|[\t \!])!|&&|\|\||\^/dgv,name:"keyword.operator.logical.ruby"},{captures:{"1":{name:"keyword.operator.logical.ruby"}},match:/(&\.)\p{space}*(?![A-Z])/dgv},{match:/([\%\&]|\*\*|[\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.ruby"},{match:/=/dgv,name:"keyword.operator.assignment.ruby"},{match:/[\|\~]|>>/dgv,name:"keyword.operator.other.ruby"},{match:/;/dgv,name:"punctuation.separator.statement.ruby"},{match:/,/dgv,name:"punctuation.separator.object.ruby"},{captures:{"1":{name:"punctuation.separator.namespace.ruby"}},match:/(::)\p{space}*(?=[A-Z])/dgv},{captures:{"1":{name:"punctuation.separator.method.ruby"}},match:/(\.|::)\p{space}*(?![A-Z])/dgv},{match:/:/dgv,name:"punctuation.separator.other.ruby"},{match:/\{/dgv,name:"punctuation.section.scope.begin.ruby"},{match:/\}/dgv,name:"punctuation.section.scope.end.ruby"},{match:/\[/dgv,name:"punctuation.section.array.begin.ruby"},{match:/\]/dgv,name:"punctuation.section.array.end.ruby"},{match:/[\(\)]/dgv,name:"punctuation.section.function.ruby"},{begin:/(?<=[^\.]\.|::)(?=[A-Za-z][\!0-9\?A-Z_a-z]*[^\!0-9\?A-Z_a-z])/dgv,end:/(?<=[\!0-9\?A-Z_a-z])(?=[^\!0-9\?A-Z_a-z])/dgv,name:"meta.function-call.ruby",patterns:[{match:/([A-Za-z][\!0-9\?A-Z_a-z]*)(?=[^\!0-9\?A-Z_a-z])/dgv,name:"entity.name.function.ruby"}]},{begin:/([A-Za-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ruby"},"2":{name:"punctuation.section.function.ruby"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.ruby"}},name:"meta.function-call.ruby",patterns:[{include:"$self"}]}],repository:{escaped_char:{match:/\\(?:[0-7]{1,3}|x[A-Fa-f\p{Nd}]{1,2}|[^\n])/dgv,name:"constant.character.escape.ruby"},heredoc:{begin:/^<<[\-\~]?[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,end:/(?=\n?$)/dgv,patterns:[{include:"$self"}]},interpolated_ruby:{patterns:[{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.ruby"}},contentName:"source.ruby",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.ruby"}},name:"meta.embedded.line.ruby",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.instance.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#@@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.class.ruby"},{captures:{"1":{name:"punctuation.definition.variable.ruby"}},match:/(#\$)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.global.ruby"}]},method_parameters:{patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"#params"},{include:"$self"}],repository:{braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.ruby"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]},brackets:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.array.begin.ruby"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.array.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]},params:{captures:{"1":{name:"storage.type.variable.ruby"},"2":{name:"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{name:"punctuation.definition.constant.ruby"},"4":{name:"variable.parameter.function.ruby"}},match:/(&|\*\*?)?(?:([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(:))|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))/dgvy},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.function.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.function.end.ruby"}},patterns:[{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"$self"}]}}},nest_brackets:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#nest_brackets"}]},nest_brackets_i:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},nest_brackets_r:{begin:/\[/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\]/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},nest_curly:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#nest_curly"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]},nest_curly_i:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},nest_curly_r:{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\}/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},nest_ltgt:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#nest_ltgt"}]},nest_ltgt_i:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},nest_ltgt_r:{begin:/</dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/>/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},nest_parens:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#nest_parens"}]},nest_parens_i:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},nest_parens_r:{begin:/\(/dgv,captures:{"0":{name:"punctuation.section.scope.ruby"}},end:/\)/dgv,patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},regex_sub:{patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{captures:{"1":{name:"punctuation.definition.arbitrary-repetition.ruby"},"3":{name:"punctuation.definition.arbitrary-repetition.ruby"}},match:/(\{)\p{Nd}+(,\p{Nd}+)?(\})/dgv,name:"string.regexp.arbitrary-repetition.ruby"},{begin:/\[(?:\^?\])?/dgv,captures:{"0":{name:"punctuation.definition.character-class.ruby"}},end:/\]/dgv,name:"string.regexp.character-class.ruby",patterns:[{include:"#escaped_char"}]},{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.ruby"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.ruby"}},name:"comment.line.number-sign.ruby",patterns:[{include:"#escaped_char"}]},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.group.ruby"}},end:/\)/dgv,name:"string.regexp.group.ruby",patterns:[{include:"#regex_sub"}]},{begin:/(?<=^|\p{space})(#)\p{space}(?=[\-\t \!\,\.0-9\?A-Za-z[^\x00-\x7F]]*(?=\n?$))/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.ruby"}},end:/(?=\n?$)\n?/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.ruby"}},name:"comment.line.number-sign.ruby"}]},yard:{patterns:[{include:"#yard_comment"},{include:"#yard_param_types"},{include:"#yard_option"},{include:"#yard_tag"},{include:"#yard_types"},{include:"#yard_directive"},{include:"#yard_see"},{include:"#yard_macro_attribute"}]},yard_comment:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_continuation:{match:/^\p{space}*#/dgv,name:"punctuation.definition.comment.ruby"},yard_directive:{begin:/^(\p{space}*)(#)(\p{space}*)(@!)(endgroup|group|method|parse|scope|visibility)(\p{space}+((\[)[^\n]+(\])))?(?=\p{space})/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_macro_attribute:{begin:/^(\p{space}*)(#)(\p{space}*)(@!)(attribute|macro)(\p{space}+((\[)[^\n]+(\])))?(?=\p{space})(\p{space}+([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*:?))?/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"11":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_option:{begin:/*@__PURE__*/ new EmulatedRegExp("^(\\p{space}*)(#)(\\p{space}*)(@)(option)(?=\\p{space})(?:(?=(\\p{space}+([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)))\\6)?(?:(?=(\\p{space}+((\\[)[^\\n]+(\\]))))\\8)?(?:(?=(\\p{space}+((\\P{space}*))))\\12)?(?:(?=(\\p{space}+((\\()[^\\n]+(\\)))))\\15)?","dgv",{"hiddenCaptures":[6,8,12,15]}),beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"6":{name:"comment.line.parameter.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"10":{name:"comment.line.keyword.yard.ruby"},"11":{name:"comment.line.hashkey.yard.ruby"},"12":{name:"comment.line.defaultvalue.yard.ruby"},"13":{name:"comment.line.punctuation.yard.ruby"},"14":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_param_types:{begin:/*@__PURE__*/ new EmulatedRegExp("^(\\p{space}*)(#)(\\p{space}*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\p{space})(?:(?=(\\p{space}+(?:(?=(([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)|((\\[)[^\\n]+(\\]))))\\7)))\\6)?(?:(?=(\\p{space}+(?:(?=(((\\[)[^\\n]+(\\]))|([_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*:?)))\\13)))\\12)?","dgv",{"hiddenCaptures":[6,7,12,13]}),beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"6":{name:"comment.line.parameter.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"},"10":{name:"comment.line.type.yard.ruby"},"11":{name:"comment.line.punctuation.yard.ruby"},"12":{name:"comment.line.punctuation.yard.ruby"},"13":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_see:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(see)(?=\p{space})(\p{space}+([^\n]+?))?(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.parameter.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_tag:{captures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"}},match:/^(\p{space}*)(#)(\p{space}*)(@)(private)(?=\n?$)/dgv,name:"comment.line.number-sign.ruby"},yard_types:{begin:/^(\p{space}*)(#)(\p{space}*)(@)(raise|return|yield(?:return)?)(?=\p{space})(\p{space}+((\[)[^\n]+(\])))?/dgv,beginCaptures:{"2":{name:"punctuation.definition.comment.ruby"},"4":{name:"comment.line.keyword.punctuation.yard.ruby"},"5":{name:"comment.line.keyword.yard.ruby"},"7":{name:"comment.line.type.yard.ruby"},"8":{name:"comment.line.punctuation.yard.ruby"},"9":{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:/^(?!\p{space}*#\3\p{space}{2,}|\p{space}*#\p{space}*(?=\n?$))()()()/dgv,name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]}},scopeName:"source.ruby",embeddedLangs:["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],aliases:["rb"]})
|
|
16
16
|
|
|
17
17
|
export default [
|
|
18
18
|
...html,
|
package/dist/sas.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
import sql from './sql.mjs'
|
|
3
3
|
|
|
4
|
-
const lang = Object.freeze({displayName:"SAS",fileTypes:["sas"],foldingStartMarker:/(proc|data|%macro)[^\n]*;(?=\n?$)/dgiv,foldingStopMarker:/(run|quit|%mend)\p{space}?;/dgiv,name:"sas",patterns:[{include:"#starComment"},{include:"#blockComment"},{include:"#macro"},{include:"#constant"},{include:"#quote"},{include:"#operator"},{begin:/\b(data)\p{space}+/dgiv,beginCaptures:{"1":{name:"keyword.other.sas"}},end:/(;)/dgv,patterns:[{include:"#blockComment"},{include:"#dataSet"},{captures:{"1":{name:"keyword.other.sas"},"2":{name:"keyword.other.sas"}},match:/(?:(stack|pgm|view|source)\p{space}?=\p{space}?|(debug|nesting|nolist))/dgiv}]},{begin:/\b(set|update|modify|merge)\p{space}+/dgiv,beginCaptures:{"1":{name:"support.function.sas"},"2":{name:"entity.name.class.sas"},"3":{name:"entity.name.class.sas"}},end:/(;)/dgv,patterns:[{include:"#blockComment"},{include:"#dataSet"}]},{match:/\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\b/dgiv,name:"keyword.control.sas"},{captures:{"1":{name:"support.class.sas"},"3":{name:"entity.name.function.sas"}},match:/(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window))\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]*)/dgiv,name:"keyword.other.sas"},{begin:/\b(proc\p{space}*(sql))\b/dgiv,beginCaptures:{"1":{name:"support.function.sas"},"2":{name:"support.class.sas"}},end:/\b(quit)\p{space}*;/dgiv,endCaptures:{"1":{name:"keyword.control.sas"}},name:"meta.sql.sas",patterns:[{include:"#starComment"},{include:"#blockComment"},{include:"source.sql"}]},{match:/\b(by|label|format)\b/dgiv,name:"keyword.datastep.sas"},{captures:{"1":{name:"support.function.sas"},"2":{name:"support.class.sas"}},match:/\b(proc ([\p{L}\p{M}\p{N}\p{Pc}]+))\b/dgiv,name:"meta.function-call.sas"},{match:/\b(_(?:n_|error_))\b/dgiv,name:"variable.language.sas"},{captures:{"1":{name:"support.class.sas"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|
|
|
4
|
+
const lang = Object.freeze({displayName:"SAS",fileTypes:["sas"],foldingStartMarker:/(proc|data|%macro)[^\n]*;(?=\n?$)/dgiv,foldingStopMarker:/(run|quit|%mend)\p{space}?;/dgiv,name:"sas",patterns:[{include:"#starComment"},{include:"#blockComment"},{include:"#macro"},{include:"#constant"},{include:"#quote"},{include:"#operator"},{begin:/\b(data)\p{space}+/dgiv,beginCaptures:{"1":{name:"keyword.other.sas"}},end:/(;)/dgv,patterns:[{include:"#blockComment"},{include:"#dataSet"},{captures:{"1":{name:"keyword.other.sas"},"2":{name:"keyword.other.sas"}},match:/(?:(stack|pgm|view|source)\p{space}?=\p{space}?|(debug|nesting|nolist))/dgiv}]},{begin:/\b(set|update|modify|merge)\p{space}+/dgiv,beginCaptures:{"1":{name:"support.function.sas"},"2":{name:"entity.name.class.sas"},"3":{name:"entity.name.class.sas"}},end:/(;)/dgv,patterns:[{include:"#blockComment"},{include:"#dataSet"}]},{match:/\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\b/dgiv,name:"keyword.control.sas"},{captures:{"1":{name:"support.class.sas"},"3":{name:"entity.name.function.sas"}},match:/(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window))\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]*)/dgiv,name:"keyword.other.sas"},{begin:/\b(proc\p{space}*(sql))\b/dgiv,beginCaptures:{"1":{name:"support.function.sas"},"2":{name:"support.class.sas"}},end:/\b(quit)\p{space}*;/dgiv,endCaptures:{"1":{name:"keyword.control.sas"}},name:"meta.sql.sas",patterns:[{include:"#starComment"},{include:"#blockComment"},{include:"source.sql"}]},{match:/\b(by|label|format)\b/dgiv,name:"keyword.datastep.sas"},{captures:{"1":{name:"support.function.sas"},"2":{name:"support.class.sas"}},match:/\b(proc ([\p{L}\p{M}\p{N}\p{Pc}]+))\b/dgiv,name:"meta.function-call.sas"},{match:/\b(_(?:n_|error_))\b/dgiv,name:"variable.language.sas"},{captures:{"1":{name:"support.class.sas"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards4??|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cosh??|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines4??|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erfc??|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipnamel??|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|indexc??|indexw|infile|informat|initcmd|initstmt|inner|inputc??|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mode??|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|news??|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource2??|nosplash|nosymbolgen|notes??|notitles??|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p([15]|10|25|50|75|90|95|99)|pad2??|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peekc??|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|putc??|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s2??|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sinh??|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stnamel??|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|tables??|tanh??|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trimn??|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varrayx??|vartype|verify|vformatd??|vformatdx|vformatnx??|vformatwx??|vformatx|vinarrayx??|vinformatd??|vinformatdx|vinformatnx??|vinformatwx??|vinformatx|vlabelx??|vlengthx??|vnamex??|vnferr|vtypex??|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsumx??|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipnamel??|zipstate)\\b","dgiv",{"lazyCompile":true}),name:"support.function.sas"}],repository:{blockComment:{patterns:[{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.slashstar.sas"}]},constant:{patterns:[{match:/(?<![\&\}])\b[0-9]*\.?[0-9]+([DEde][\-\+]?[0-9]+)?\b/dgv,name:"constant.numeric.sas"},{match:/(')([^']+)(')(dt|[dt])/dgv,name:"constant.numeric.quote.single.sas"},{match:/(")([^"]+)(")(dt|[dt])/dgv,name:"constant.numeric.quote.double.sas"}]},dataSet:{patterns:[{begin:/(([\p{L}\p{M}\p{N}\p{Pc}]+)\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}?\(/dgv,beginCaptures:{"2":{name:"entity.name.class.libref.sas"},"3":{name:"entity.name.class.dsname.sas"}},end:/\)/dgv,patterns:[{include:"#dataSetOptions"},{include:"#blockComment"},{include:"#macro"},{include:"#constant"},{include:"#quote"},{include:"#operator"}]},{captures:{"2":{name:"entity.name.class.libref.sas"},"3":{name:"entity.name.class.dsname.sas"}},match:/\b(([\p{L}\p{M}\p{N}\p{Pc}]+)\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]},dataSetOptions:{patterns:[{match:/(?<=[\(\)\p{space}])(?:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\p{space}?=/dgiv,name:"keyword.other.sas"}]},macro:{patterns:[{match:/(&+[_a-z]([0-9_a-z]+)?(\.+)?)\b/dgiv,name:"variable.other.macro.sas"}]},operator:{patterns:[{match:/([\-\*\+\/\^])/dgv,name:"keyword.operator.arithmetic.sas"},{match:/\b(eq|ne|gt|lt|ge|le|in|not|&|and|or|min|max)\b/dgiv,name:"keyword.operator.comparison.sas"},{match:/([\<\>\^\~¬]?=(:)?|[\!\<\>\|¦¬]|^|~|<>|><|\|\|)/dgv,name:"keyword.operator.sas"}]},quote:{patterns:[{begin:/(?<!%)(')/dgv,end:/(')([bx])?/dgv,name:"string.quoted.single.sas"},{begin:/(")/dgv,end:/(")([bx])?/dgv,name:"string.quoted.double.sas"}]},starComment:{patterns:[{include:"#blockcomment"},{begin:/(?<=;)[\%\p{space}]*\*/dgv,end:/;/dgv,name:"comment.line.inline.star.sas"},{begin:/^[\%\p{space}]*\*/dgv,end:/;/dgv,name:"comment.line.start.sas"}]}},scopeName:"source.sas",embeddedLangs:["sql"],aliases:undefined})
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
7
|
...sql,
|
package/dist/scheme.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Scheme",fileTypes:["scm","ss","sch","rkt"],name:"scheme",patterns:[{include:"#comment"},{include:"#block-comment"},{include:"#sexp"},{include:"#string"},{include:"#language-functions"},{include:"#quote"},{include:"#illegal"}],repository:{"block-comment":{begin:/#\|/dgv,contentName:"comment",end:/\|#/dgv,name:"comment",patterns:[{include:"#block-comment",name:"comment"}]},comment:{begin:/(^[\t ]+)?(?=;)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scheme"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scheme"}},end:/\n/dgv,name:"comment.line.semicolon.scheme"}]},constants:{patterns:[{match:/#[ft\|]/dgv,name:"constant.language.boolean.scheme"},{match:/(?<=[\(\p{space}])((#[ei])?[0-9]+(\.[0-9]+)?|(#x)\p{AHex}+|(#o)[0-7]+|(#b)[01]+)(?=[\]"'\(\)\,\;\[\p{space}])/dgv,name:"constant.numeric.scheme"}]},illegal:{match:/[\]\(\)\[]/dgv,name:"invalid.illegal.parenthesis.scheme"},"language-functions":{patterns:[{match:/(?<=([\(\[\p{space}]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\*|unquote-splicing|delay|letrec)(?=([\(\p{space}]))/dgv,name:"keyword.control.scheme"},{match:/(?<=([\(\p{space}]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\?)(?=([\(\p{space}]))/dgv,name:"support.function.boolean-test.scheme"},{match:/(?<=([\(\p{space}]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([\(\p{space}]))/dgv,name:"support.function.convert-type.scheme"},{match:/(?<=([\(\p{space}]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([\(\p{space}]))/dgv,name:"support.function.with-side-effects.scheme"},{match:/(?<=([\(\p{space}]))(>=?|<=?|[\-\*\+\/\=])(?=([\(\p{space}]))/dgv,name:"keyword.operator.arithmetic.scheme"},{match:/(?<=([\(\p{space}]))(append|apply|approximate|call-with-current-continuation|call\/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|
|
|
3
|
+
const lang = Object.freeze({displayName:"Scheme",fileTypes:["scm","ss","sch","rkt"],name:"scheme",patterns:[{include:"#comment"},{include:"#block-comment"},{include:"#sexp"},{include:"#string"},{include:"#language-functions"},{include:"#quote"},{include:"#illegal"}],repository:{"block-comment":{begin:/#\|/dgv,contentName:"comment",end:/\|#/dgv,name:"comment",patterns:[{include:"#block-comment",name:"comment"}]},comment:{begin:/(^[\t ]+)?(?=;)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scheme"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scheme"}},end:/\n/dgv,name:"comment.line.semicolon.scheme"}]},constants:{patterns:[{match:/#[ft\|]/dgv,name:"constant.language.boolean.scheme"},{match:/(?<=[\(\p{space}])((#[ei])?[0-9]+(\.[0-9]+)?|(#x)\p{AHex}+|(#o)[0-7]+|(#b)[01]+)(?=[\]"'\(\)\,\;\[\p{space}])/dgv,name:"constant.numeric.scheme"}]},illegal:{match:/[\]\(\)\[]/dgv,name:"invalid.illegal.parenthesis.scheme"},"language-functions":{patterns:[{match:/(?<=([\(\[\p{space}]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\*|unquote-splicing|delay|letrec)(?=([\(\p{space}]))/dgv,name:"keyword.control.scheme"},{match:/(?<=([\(\p{space}]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\?)(?=([\(\p{space}]))/dgv,name:"support.function.boolean-test.scheme"},{match:/(?<=([\(\p{space}]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([\(\p{space}]))/dgv,name:"support.function.convert-type.scheme"},{match:/(?<=([\(\p{space}]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([\(\p{space}]))/dgv,name:"support.function.with-side-effects.scheme"},{match:/(?<=([\(\p{space}]))(>=?|<=?|[\-\*\+\/\=])(?=([\(\p{space}]))/dgv,name:"keyword.operator.arithmetic.scheme"},{match:/(?<=([\(\p{space}]))(append|apply|approximate|call-with-current-continuation|call\/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|expt??|remainder|quotient|lcm|call-with-(?:in|out)put-file|c(?:lose|urrent)-(?:in|out)put-port|with-(?:in|out)put-from-file|open-(?:in|out)put-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector-(?:length|ref))(?=([\(\p{space}]))/dgv,name:"support.function.general.scheme"}]},quote:{patterns:[{captures:{"1":{name:"punctuation.section.quoted.symbol.scheme"}},match:/(')\p{space}*([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*)/dgv,name:"constant.other.symbol.scheme"},{captures:{"1":{name:"punctuation.section.quoted.empty-list.scheme"},"2":{name:"meta.expression.scheme"},"3":{name:"punctuation.section.expression.begin.scheme"},"4":{name:"punctuation.section.expression.end.scheme"}},match:/(')\p{space}*((\()\p{space}*(\)))/dgv,name:"constant.other.empty-list.schem"},{begin:/(')\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.section.quoted.scheme"}},end:/(?=[\(\)\p{space}])|(?<=\n)/dgv,name:"string.other.quoted-object.scheme",patterns:[{include:"#quoted"}]}]},"quote-sexp":{begin:/(?<=\()\p{space}*(quote)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.quote.scheme"}},contentName:"string.other.quote.scheme",end:/(?=[\)\p{space}])|(?<=\n)/dgv,patterns:[{include:"#quoted"}]},quoted:{patterns:[{include:"#string"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#quoted"}]},{include:"#quote"},{include:"#illegal"}]},sexp:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))(\n)?/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"},"2":{name:"meta.after-expression.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#comment"},{begin:/(?<=\()(define)\p{space}+(\()([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*)((\p{space}+([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*|[\._]))*)\p{space}*(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.function.scheme"},"3":{name:"entity.name.function.scheme"},"4":{name:"variable.parameter.function.scheme"},"7":{name:"punctuation.definition.function.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(lambda)\p{space}+(\()((?:([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*|[\._])\p{space}+)*([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*|[\._])?)(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.variable.scheme"},"3":{name:"variable.parameter.scheme"},"6":{name:"punctuation.definition.variable.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(define)\p{space}([\p{Alpha}\p{Nd}][\!\$\%\&\*-\/\:\<-\@\^_\~\p{Alpha}\p{Nd}]*)\p{space}*[^\n]*?/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"variable.other.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.variable.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{include:"#quote-sexp"},{include:"#quote"},{include:"#language-functions"},{include:"#string"},{include:"#constants"},{match:/(?<=[\(\p{space}])(#\\)(space|newline|tab)(?=[\)\p{space}])/dgv,name:"constant.character.named.scheme"},{match:/(?<=[\(\p{space}])(#\\)x[0-9A-F]{2,4}(?=[\)\p{space}])/dgv,name:"constant.character.hex-literal.scheme"},{match:/(?<=[\(\p{space}])(#\\)[^\n](?=[\)\p{space}])/dgv,name:"constant.character.escape.scheme"},{match:/(?<=[ \(\)])\.(?=[ \(\)])/dgv,name:"punctuation.separator.cons.scheme"},{include:"#sexp"},{include:"#illegal"}]},string:{begin:/(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.scheme"}},end:/(")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.scheme"}},name:"string.quoted.double.scheme",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.scheme"}]}},scopeName:"source.scheme",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/shaderlab.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import hlsl from './hlsl.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"ShaderLab",name:"shaderlab",patterns:[{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.shaderlab"},{match:/\b(?:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\b/dgiv,name:"support.type.basic.shaderlab"},{include:"#numbers"},{match:/\b(?:Shader|Properties|SubShader|Pass|Category)\b/dgiv,name:"storage.type.structure.shaderlab"},{match:/\b(?:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\b/dgiv,name:"support.type.propertyname.shaderlab"},{match:/\b(?:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\b/dgiv,name:"support.constant.property-value.shaderlab"},{match:/\b(?:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\b/dgiv,name:"support.constant.property-value.comparisonfunction.shaderlab"},{match:/\b(?:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\b/dgiv,name:"support.constant.property-value.stenciloperation.shaderlab"},{match:/\b(?:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\b/dgiv,name:"support.constant.property-value.texturecombiners.shaderlab"},{match:/\b(?:Global|Linear|Exp2
|
|
3
|
+
const lang = Object.freeze({displayName:"ShaderLab",name:"shaderlab",patterns:[{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.shaderlab"},{match:/\b(?:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\b/dgiv,name:"support.type.basic.shaderlab"},{include:"#numbers"},{match:/\b(?:Shader|Properties|SubShader|Pass|Category)\b/dgiv,name:"storage.type.structure.shaderlab"},{match:/\b(?:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\b/dgiv,name:"support.type.propertyname.shaderlab"},{match:/\b(?:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\b/dgiv,name:"support.constant.property-value.shaderlab"},{match:/\b(?:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\b/dgiv,name:"support.constant.property-value.comparisonfunction.shaderlab"},{match:/\b(?:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\b/dgiv,name:"support.constant.property-value.stenciloperation.shaderlab"},{match:/\b(?:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\b/dgiv,name:"support.constant.property-value.texturecombiners.shaderlab"},{match:/\b(?:Global|Linear|Exp2?)\b/dgiv,name:"support.constant.property-value.fog.shaderlab"},{match:/\b(?:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\b/dgiv,name:"support.constant.property-value.bindchannels.shaderlab"},{match:/\b(?:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\b/dgiv,name:"support.constant.property-value.blendoperations.shaderlab"},{match:/\b(?:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\b/dgiv,name:"support.constant.property-value.blendfactors.shaderlab"},{match:/\[([A-Z_a-z][0-9A-Z_a-z]*)\](?!\p{space}*[A-Z_a-z][0-9A-Z_a-z]*\p{space}*\(")/dgv,name:"support.variable.reference.shaderlab"},{begin:/(\[)/dgv,end:/(\])/dgv,name:"meta.attribute.shaderlab",patterns:[{match:/([A-Za-z]+)\b/dgvy,name:"support.type.attributename.shaderlab"},{include:"#numbers"}]},{match:/\b([A-Z_a-z][0-9A-Z_a-z]*)\p{space}*\(/dgv,name:"support.variable.declaration.shaderlab"},{begin:/\b(CG(?:PROGRAM|INCLUDE))\b/dgv,beginCaptures:{"1":{name:"keyword.other"}},end:/\b(ENDCG)\b/dgv,endCaptures:{"1":{name:"keyword.other"}},name:"meta.cgblock",patterns:[{include:"#hlsl-embedded"}]},{begin:/\b(HLSL(?:PROGRAM|INCLUDE))\b/dgv,beginCaptures:{"1":{name:"keyword.other"}},end:/\b(ENDHLSL)\b/dgv,endCaptures:{"1":{name:"keyword.other"}},name:"meta.hlslblock",patterns:[{include:"#hlsl-embedded"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.shaderlab"}],repository:{"hlsl-embedded":{patterns:[{include:"source.hlsl"},{match:/\b(fixed([1-4](x[1-4])?)?)\b/dgv,name:"storage.type.basic.shaderlab"},{match:/\b(UNITY_MATRIX_MVP?|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\b/dgv,name:"support.variable.transformations.shaderlab"},{match:/\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\b/dgv,name:"support.variable.camera.shaderlab"},{match:/\b((?:_|_Sin|_Cos|unity_Delta)Time)\b/dgv,name:"support.variable.time.shaderlab"},{match:/\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\b/dgv,name:"support.variable.lighting.shaderlab"},{match:/\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\b/dgv,name:"support.variable.fog.shaderlab"},{match:/\b(unity_LODFade)\b/dgv,name:"support.variable.various.shaderlab"},{match:/\b(SHADER_API_(?:D3D9|D3D11|GLCORE|OPENGL|GLES3??|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|GLSL))\b/dgv,name:"support.variable.preprocessor.targetplatform.shaderlab"},{match:/\b(SHADER_TARGET)\b/dgv,name:"support.variable.preprocessor.targetmodel.shaderlab"},{match:/\b(UNITY_VERSION)\b/dgv,name:"support.variable.preprocessor.unityversion.shaderlab"},{match:/\b(UNITY_(?:BRANCH|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\b/dgv,name:"support.variable.preprocessor.platformdifference.shaderlab"},{match:/\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\b/dgv,name:"support.variable.preprocessor.texture2D.shaderlab"},{match:/\b(appdata_(?:base|tan|full|img))\b/dgv,name:"support.class.structures.shaderlab"},{match:/\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\b/dgv,name:"support.class.surface.shaderlab"}]},numbers:{patterns:[{match:/\b([0-9]+\.?[0-9]*)\b/dgv,name:"constant.numeric.shaderlab"}]}},scopeName:"source.shaderlab",embeddedLangs:["hlsl"],aliases:["shader"]})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...hlsl,
|