@shikijs/langs 1.26.0 → 1.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abap.mjs +1 -1
- package/dist/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-let-declaration.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/beancount.mjs +1 -1
- package/dist/berry.mjs +1 -1
- package/dist/bibtex.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/cairo.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/clojure.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/csharp.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cue.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dart.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/diff.mjs +1 -1
- package/dist/dotenv.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/edge.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/es-tag-css.mjs +1 -1
- package/dist/es-tag-glsl.mjs +1 -1
- package/dist/es-tag-html.mjs +1 -1
- package/dist/es-tag-sql.mjs +1 -1
- package/dist/es-tag-xml.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fish.mjs +1 -1
- package/dist/fluent.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gdshader.mjs +1 -1
- package/dist/genie.mjs +1 -1
- package/dist/git-commit.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/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/graphql.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hcl.mjs +1 -1
- package/dist/hjson.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/http.mjs +1 -1
- package/dist/hy.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.mjs +90 -6
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jison.mjs +1 -1
- package/dist/json.mjs +1 -1
- package/dist/json5.mjs +1 -1
- package/dist/jsonc.mjs +1 -1
- package/dist/jsonl.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jssm.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -1
- package/dist/kotlin.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/log.mjs +1 -1
- package/dist/logo.mjs +1 -1
- package/dist/lua.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/move.mjs +1 -1
- package/dist/nextflow.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/powerquery.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prisma.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/proto.mjs +1 -1
- package/dist/pug.mjs +1 -1
- package/dist/puppet.mjs +1 -1
- package/dist/purescript.mjs +1 -1
- package/dist/python.mjs +1 -1
- package/dist/qml.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/razor.mjs +1 -1
- package/dist/reg.mjs +1 -1
- package/dist/regexp.mjs +1 -1
- package/dist/rel.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/sass.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/soy.mjs +1 -1
- package/dist/sparql.mjs +1 -1
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/swift.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/tcl.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/turtle.mjs +1 -1
- package/dist/twig.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typespec.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/verilog.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vue-html.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wgsl.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/xml.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/dist/zig.mjs +1 -1
- package/package.json +3 -3
package/dist/scss.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import css from './css.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"SCSS\",\"name\":\"scss\",\"patterns\":[{\"include\":\"#variable_setting\"},{\"include\":\"#at_rule_forward\"},{\"include\":\"#at_rule_use\"},{\"include\":\"#at_rule_include\"},{\"include\":\"#at_rule_import\"},{\"include\":\"#general\"},{\"include\":\"#flow_control\"},{\"include\":\"#rules\"},{\"include\":\"#property_list\"},{\"include\":\"#at_rule_mixin\"},{\"include\":\"#at_rule_media\"},{\"include\":\"#at_rule_function\"},{\"include\":\"#at_rule_charset\"},{\"include\":\"#at_rule_option\"},{\"include\":\"#at_rule_namespace\"},{\"include\":\"#at_rule_fontface\"},{\"include\":\"#at_rule_page\"},{\"include\":\"#at_rule_keyframes\"},{\"include\":\"#at_rule_at_root\"},{\"include\":\"#at_rule_supports\"},{\"match\":\";\",\"name\":\"punctuation.terminator.rule.css\"}],\"repository\":{\"at_rule_at_root\":{\"begin\":\"\\\\s*((@)(at-root))(\\\\s+|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.at-root.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.at-root.scss\",\"patterns\":[{\"include\":\"#function_attributes\"},{\"include\":\"#functions\"},{\"include\":\"#selectors\"}]},\"at_rule_charset\":{\"begin\":\"\\\\s*((@)charset\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.charset.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;|$))\",\"name\":\"meta.at-rule.charset.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},\"at_rule_content\":{\"begin\":\"\\\\s*((@)content\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.content.scss\"}},\"end\":\"\\\\s*((?=;))\",\"name\":\"meta.content.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#selectors\"},{\"include\":\"#property_values\"}]},\"at_rule_each\":{\"begin\":\"\\\\s*((@)each\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.each.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=}))\",\"name\":\"meta.at-rule.each.scss\",\"patterns\":[{\"match\":\"\\\\b(in|,)\\\\b\",\"name\":\"keyword.control.operator\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"at_rule_else\":{\"begin\":\"\\\\s*((@)else(\\\\s*(if)?))\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.else.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.else.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_extend\":{\"begin\":\"\\\\s*((@)extend\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.extend.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.extend.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#selectors\"},{\"include\":\"#property_values\"}]},\"at_rule_fontface\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)font-face\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.fontface.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.fontface.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]}]},\"at_rule_for\":{\"begin\":\"\\\\s*((@)for\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.for.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.for.scss\",\"patterns\":[{\"match\":\"(==|!=|<=|>=|<|>|from|to|through)\",\"name\":\"keyword.control.operator\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"at_rule_forward\":{\"begin\":\"\\\\s*((@)forward\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.forward.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.forward.scss\",\"patterns\":[{\"match\":\"\\\\b(as|hide|show)\\\\b\",\"name\":\"keyword.control.operator\"},{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.module.scss\"},\"2\":{\"name\":\"punctuation.definition.wildcard.scss\"}},\"match\":\"\\\\b([\\\\w-]+)(\\\\*)\"},{\"match\":\"\\\\b[\\\\w-]+\\\\b\",\"name\":\"entity.name.function.scss\"},{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#comment_line\"},{\"include\":\"#comment_block\"}]},\"at_rule_function\":{\"patterns\":[{\"begin\":\"\\\\s*((@)function\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.function.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.function.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.function.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"\\\\s*((@)function\\\\b)\\\\s*\",\"name\":\"meta.at-rule.function.scss\"}]},\"at_rule_if\":{\"begin\":\"\\\\s*((@)if\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.if.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.if.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_import\":{\"begin\":\"\\\\s*((@)import\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.import.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;)|(?=}))\",\"name\":\"meta.at-rule.import.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#functions\"},{\"include\":\"#comment_line\"}]},\"at_rule_include\":{\"patterns\":[{\"begin\":\"(?<=@include)\\\\s+(?:([\\\\w-]+)\\\\s*(\\\\.))?([\\\\w-]+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"name\":\"meta.at-rule.include.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"0\":{\"name\":\"meta.at-rule.include.scss\"},\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@include)\\\\s+(?:([\\\\w-]+)\\\\s*(\\\\.))?([\\\\w-]+)\"},{\"captures\":{\"0\":{\"name\":\"meta.at-rule.include.scss\"},\"1\":{\"name\":\"keyword.control.at-rule.include.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)include)\\\\b\"}]},\"at_rule_keyframes\":{\"begin\":\"(?<=^|\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.at-rule.keyframes.scss\"},\"1\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"(?<=})\",\"name\":\"meta.at-rule.keyframes.scss\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@keyframes)\\\\s+((?:[_A-Za-z][-\\\\w]|-[_A-Za-z])[-\\\\w]*)\"},{\"begin\":\"(?<=@keyframes)\\\\s+(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"contentName\":\"entity.name.function.scss\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.double.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"(?<=@keyframes)\\\\s+(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"contentName\":\"entity.name.function.scss\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.single.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.keyframes.begin.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.keyframes.end.scss\"}},\"patterns\":[{\"match\":\"\\\\b(?:(?:100|[1-9]\\\\d|\\\\d)%|from|to)(?=\\\\s*{)\",\"name\":\"entity.other.attribute-name.scss\"},{\"include\":\"#flow_control\"},{\"include\":\"#interpolation\"},{\"include\":\"#property_list\"},{\"include\":\"#rules\"}]}]},\"at_rule_media\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)media)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.media.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.media.scss\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"match\":\"\\\\b(only)\\\\b\",\"name\":\"keyword.control.operator.css.scss\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.media-query.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.media-query.end.bracket.round.scss\"}},\"name\":\"meta.property-list.media-query.scss\",\"patterns\":[{\"begin\":\"(?<![-a-z])(?=[-a-z])\",\"end\":\"$|(?![-a-z])\",\"name\":\"meta.property-name.media-query.scss\",\"patterns\":[{\"include\":\"source.css#media-features\"},{\"include\":\"source.css#property-names\"}]},{\"begin\":\"(:)\\\\s*(?!(\\\\s*{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"contentName\":\"meta.property-value.media-query.scss\",\"end\":\"\\\\s*(;|(?=}|\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},{\"include\":\"#variable\"},{\"include\":\"#conditional_operators\"},{\"include\":\"source.css#media-types\"}]}]},\"at_rule_mixin\":{\"patterns\":[{\"begin\":\"(?<=@mixin)\\\\s+([\\\\w-]+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.scss\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"name\":\"meta.at-rule.mixin.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@mixin)\\\\s+([\\\\w-]+)\",\"name\":\"meta.at-rule.mixin.scss\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.mixin.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)mixin)\\\\b\",\"name\":\"meta.at-rule.mixin.scss\"}]},\"at_rule_namespace\":{\"patterns\":[{\"begin\":\"(?<=@namespace)\\\\s+(?=url)\",\"end\":\"(?=;|$)\",\"name\":\"meta.at-rule.namespace.scss\",\"patterns\":[{\"include\":\"#property_values\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},{\"begin\":\"(?<=@namespace)\\\\s+([\\\\w-]*)\",\"captures\":{\"1\":{\"name\":\"entity.name.namespace-prefix.scss\"}},\"end\":\"(?=;|$)\",\"name\":\"meta.at-rule.namespace.scss\",\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#property_values\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.namespace.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)namespace)\\\\b\",\"name\":\"meta.at-rule.namespace.scss\"}]},\"at_rule_option\":{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.charset.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"^\\\\s*((@)option\\\\b)\\\\s*\",\"name\":\"meta.at-rule.option.scss\"},\"at_rule_page\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)page)(?=:|\\\\s)\\\\s*([-:\\\\w]*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.page.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.page.scss\"}]},\"at_rule_return\":{\"begin\":\"\\\\s*((@)(return)\\\\b)\",\"captures\":{\"1\":{\"name\":\"keyword.control.return.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;))\",\"name\":\"meta.at-rule.return.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_supports\":{\"begin\":\"(?<=^|\\\\s)(@)supports\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control.at-rule.supports.scss\"},\"1\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"(?={)|$\",\"name\":\"meta.at-rule.supports.scss\",\"patterns\":[{\"include\":\"#logical_operators\"},{\"include\":\"#properties\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.condition.begin.bracket.round.scss\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.condition.end.bracket.round.scss\"}]},\"at_rule_use\":{\"begin\":\"\\\\s*((@)use\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.use.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.use.scss\",\"patterns\":[{\"match\":\"\\\\b(as|with)\\\\b\",\"name\":\"keyword.control.operator\"},{\"match\":\"\\\\b[\\\\w-]+\\\\b\",\"name\":\"variable.scss\"},{\"match\":\"\\\\*\",\"name\":\"variable.language.expanded-namespace.scss\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#comment_line\"},{\"include\":\"#comment_block\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#function_attributes\"}]}]},\"at_rule_warn\":{\"begin\":\"\\\\s*((@)(warn|debug|error)\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.warn.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.warn.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_double\"},{\"include\":\"#string_single\"}]},\"at_rule_while\":{\"begin\":\"\\\\s*((@)while\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.while.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=})\",\"name\":\"meta.at-rule.while.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"comment_block\":{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"name\":\"comment.block.scss\"},\"comment_docblock\":{\"begin\":\"///\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"(?=$)\",\"name\":\"comment.block.documentation.scss\",\"patterns\":[{\"include\":\"source.sassdoc\"}]},\"comment_line\":{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.scss\"},\"comparison_operators\":{\"match\":\"==|!=|<=|>=|<|>\",\"name\":\"keyword.operator.comparison.scss\"},\"conditional_operators\":{\"patterns\":[{\"include\":\"#comparison_operators\"},{\"include\":\"#logical_operators\"}]},\"constant_default\":{\"match\":\"!default\",\"name\":\"keyword.other.default.scss\"},\"constant_functions\":{\"begin\":\"(?:([\\\\w-]+)(\\\\.))?([\\\\w-]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"support.function.misc.scss\"},\"4\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},\"constant_important\":{\"match\":\"!important\",\"name\":\"keyword.other.important.scss\"},\"constant_mathematical_symbols\":{\"match\":\"\\\\b(\\\\+|-|\\\\*|/)\\\\b\",\"name\":\"support.constant.mathematical-symbols.scss\"},\"constant_optional\":{\"match\":\"!optional\",\"name\":\"keyword.other.optional.scss\"},\"constant_sass_functions\":{\"begin\":\"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.misc.scss\"},\"2\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},\"flow_control\":{\"patterns\":[{\"include\":\"#at_rule_if\"},{\"include\":\"#at_rule_else\"},{\"include\":\"#at_rule_warn\"},{\"include\":\"#at_rule_for\"},{\"include\":\"#at_rule_while\"},{\"include\":\"#at_rule_each\"},{\"include\":\"#at_rule_return\"}]},\"function_attributes\":{\"patterns\":[{\"match\":\":\",\"name\":\"punctuation.separator.key-value.scss\"},{\"include\":\"#general\"},{\"include\":\"#property_values\"},{\"match\":\"[={}?;@]\",\"name\":\"invalid.illegal.scss\"}]},\"functions\":{\"patterns\":[{\"begin\":\"([\\\\w-]{1,})(\\\\()\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.misc.scss\"},\"2\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},{\"match\":\"([\\\\w-]{1,})\",\"name\":\"support.function.misc.scss\"}]},\"general\":{\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"}]},\"interpolation\":{\"begin\":\"#{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.begin.bracket.curly.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.end.bracket.curly.scss\"}},\"name\":\"variable.interpolation.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"logical_operators\":{\"match\":\"\\\\b(not|or|and)\\\\b\",\"name\":\"keyword.operator.logical.scss\"},\"map\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.map.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.map.end.bracket.round.scss\"}},\"name\":\"meta.definition.variable.map.scss\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"captures\":{\"1\":{\"name\":\"support.type.map.key.scss\"},\"2\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"match\":\"\\\\b([\\\\w-]+)\\\\s*(:)\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"},{\"include\":\"#map\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"operators\":{\"match\":\"[-+*/](?!\\\\s*[-+*/])\",\"name\":\"keyword.operator.css\"},\"parameters\":{\"patterns\":[{\"include\":\"#variable\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"include\":\"#property_values\"},{\"include\":\"#comment_block\"},{\"match\":\"[^'\\\",) \\\\t]+\",\"name\":\"variable.parameter.url.scss\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"}]},\"parent_selector_suffix\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(?<=&)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\$|})+)(?=$|[\\\\s,.#)\\\\[:{>+~|]|/\\\\*)\",\"name\":\"entity.other.attribute-name.parent-selector-suffix.css\"},\"properties\":{\"patterns\":[{\"begin\":\"(?<![-a-z])(?=[-a-z])\",\"end\":\"$|(?![-a-z])\",\"name\":\"meta.property-name.scss\",\"patterns\":[{\"include\":\"source.css#property-names\"},{\"include\":\"#at_rule_include\"}]},{\"begin\":\"(:)\\\\s*(?!(\\\\s*{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"contentName\":\"meta.property-value.scss\",\"end\":\"\\\\s*(;|(?=}|\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},\"property_list\":{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.property-list.begin.bracket.curly.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.property-list.end.bracket.curly.scss\"}},\"name\":\"meta.property-list.scss\",\"patterns\":[{\"include\":\"#flow_control\"},{\"include\":\"#rules\"},{\"include\":\"#properties\"},{\"include\":\"$self\"}]},\"property_values\":{\"patterns\":[{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#constant_functions\"},{\"include\":\"#constant_sass_functions\"},{\"include\":\"#constant_important\"},{\"include\":\"#constant_default\"},{\"include\":\"#constant_optional\"},{\"include\":\"source.css#numeric-values\"},{\"include\":\"source.css#property-keywords\"},{\"include\":\"source.css#color-keywords\"},{\"include\":\"source.css#property-names\"},{\"include\":\"#constant_mathematical_symbols\"},{\"include\":\"#operators\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},\"rules\":{\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#at_rule_extend\"},{\"include\":\"#at_rule_content\"},{\"include\":\"#at_rule_include\"},{\"include\":\"#at_rule_media\"},{\"include\":\"#selectors\"}]},\"selector_attribute\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.attribute-selector.begin.bracket.square.scss\"},\"2\":{\"name\":\"entity.other.attribute-name.attribute.scss\",\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"3\":{\"name\":\"keyword.operator.scss\"},\"4\":{\"name\":\"string.unquoted.attribute-value.scss\",\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"5\":{\"name\":\"string.quoted.double.attribute-value.scss\"},\"6\":{\"name\":\"punctuation.definition.string.begin.scss\"},\"7\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"8\":{\"name\":\"punctuation.definition.string.end.scss\"},\"9\":{\"name\":\"string.quoted.single.attribute-value.scss\"},\"10\":{\"name\":\"punctuation.definition.string.begin.scss\"},\"11\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"12\":{\"name\":\"punctuation.definition.string.end.scss\"},\"13\":{\"name\":\"punctuation.definition.attribute-selector.end.bracket.square.scss\"}},\"match\":\"(?i)(\\\\[)\\\\s*((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+?)(?:\\\\s*([~|^$*]?=)\\\\s*(?:((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+)|((\\\")(.*?)(\\\"))|((')(.*?)('))))?\\\\s*(\\\\])\",\"name\":\"meta.attribute-selector.scss\"},\"selector_class\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]}},\"match\":\"(\\\\.)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+)(?=$|[\\\\s,#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*|;)\",\"name\":\"entity.other.attribute-name.class.css\"},\"selector_custom\":{\"match\":\"\\\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\\\.|\\\\s++[^:]|\\\\s*[,\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\([0-9A-Za-z]*\\\\))?)\",\"name\":\"entity.name.tag.custom.scss\"},\"selector_id\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(\\\\#)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+)(?=$|[\\\\s,#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*)\",\"name\":\"entity.other.attribute-name.id.css\"},\"selector_placeholder\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(%)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.\\\\$|\\\\$|})+)(?=;|$|[\\\\s,#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*)\",\"name\":\"entity.other.attribute-name.placeholder.css\"},\"selector_pseudo_class\":{\"patterns\":[{\"begin\":\"((:)\\\\bnth-(?:child|last-child|of-type|last-of-type))(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.other.attribute-name.pseudo-class.css\"},\"2\":{\"name\":\"punctuation.definition.entity.css\"},\"3\":{\"name\":\"punctuation.definition.pseudo-class.begin.bracket.round.css\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.pseudo-class.end.bracket.round.css\"}},\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.css\"},{\"match\":\"(?<=\\\\d)n\\\\b|\\\\b(n|even|odd)\\\\b\",\"name\":\"constant.other.scss\"},{\"match\":\"\\\\w+\",\"name\":\"invalid.illegal.scss\"}]},{\"include\":\"source.css#pseudo-classes\"},{\"include\":\"source.css#pseudo-elements\"},{\"include\":\"source.css#functional-pseudo-classes\"}]},\"selectors\":{\"patterns\":[{\"include\":\"source.css#tag-names\"},{\"include\":\"#selector_custom\"},{\"include\":\"#selector_class\"},{\"include\":\"#selector_id\"},{\"include\":\"#selector_pseudo_class\"},{\"include\":\"#tag_wildcard\"},{\"include\":\"#tag_parent_reference\"},{\"include\":\"source.css#pseudo-elements\"},{\"include\":\"#selector_attribute\"},{\"include\":\"#selector_placeholder\"},{\"include\":\"#parent_selector_suffix\"}]},\"string_double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.double.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},\"string_single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.single.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},\"tag_parent_reference\":{\"match\":\"&\",\"name\":\"entity.name.tag.reference.scss\"},\"tag_wildcard\":{\"match\":\"\\\\*\",\"name\":\"entity.name.tag.wildcard.scss\"},\"variable\":{\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#interpolation\"}]},\"variable_setting\":{\"begin\":\"(?=\\\\$[\\\\w-]+\\\\s*:)\",\"contentName\":\"meta.definition.variable.scss\",\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"match\":\"\\\\$[\\\\w-]+(?=\\\\s*:)\",\"name\":\"variable.scss\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"include\":\"#map\"},{\"include\":\"#property_values\"},{\"include\":\"#variable\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"}]}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"variable.scss\"}},\"match\":\"\\\\b([\\\\w-]+)(\\\\.)(\\\\$[\\\\w-]+)\\\\b\"},{\"match\":\"(\\\\$|--)[A-Za-z0-9_-]+\\\\b\",\"name\":\"variable.scss\"}]}},\"scopeName\":\"source.css.scss\",\"embeddedLangs\":[\"css\"]}"))
|
|
3
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"SCSS\",\"name\":\"scss\",\"patterns\":[{\"include\":\"#variable_setting\"},{\"include\":\"#at_rule_forward\"},{\"include\":\"#at_rule_use\"},{\"include\":\"#at_rule_include\"},{\"include\":\"#at_rule_import\"},{\"include\":\"#general\"},{\"include\":\"#flow_control\"},{\"include\":\"#rules\"},{\"include\":\"#property_list\"},{\"include\":\"#at_rule_mixin\"},{\"include\":\"#at_rule_media\"},{\"include\":\"#at_rule_function\"},{\"include\":\"#at_rule_charset\"},{\"include\":\"#at_rule_option\"},{\"include\":\"#at_rule_namespace\"},{\"include\":\"#at_rule_fontface\"},{\"include\":\"#at_rule_page\"},{\"include\":\"#at_rule_keyframes\"},{\"include\":\"#at_rule_at_root\"},{\"include\":\"#at_rule_supports\"},{\"match\":\";\",\"name\":\"punctuation.terminator.rule.css\"}],\"repository\":{\"at_rule_at_root\":{\"begin\":\"\\\\s*((@)(at-root))(\\\\s+|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.at-root.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.at-root.scss\",\"patterns\":[{\"include\":\"#function_attributes\"},{\"include\":\"#functions\"},{\"include\":\"#selectors\"}]},\"at_rule_charset\":{\"begin\":\"\\\\s*((@)charset\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.charset.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;|$))\",\"name\":\"meta.at-rule.charset.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},\"at_rule_content\":{\"begin\":\"\\\\s*((@)content\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.content.scss\"}},\"end\":\"\\\\s*((?=;))\",\"name\":\"meta.content.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#selectors\"},{\"include\":\"#property_values\"}]},\"at_rule_each\":{\"begin\":\"\\\\s*((@)each\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.each.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=}))\",\"name\":\"meta.at-rule.each.scss\",\"patterns\":[{\"match\":\"\\\\b(in|,)\\\\b\",\"name\":\"keyword.control.operator\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"at_rule_else\":{\"begin\":\"\\\\s*((@)else(\\\\s*(if)?))\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.else.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.else.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_extend\":{\"begin\":\"\\\\s*((@)extend\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.extend.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.extend.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#selectors\"},{\"include\":\"#property_values\"}]},\"at_rule_fontface\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)font-face\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.fontface.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.fontface.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]}]},\"at_rule_for\":{\"begin\":\"\\\\s*((@)for\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.for.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.for.scss\",\"patterns\":[{\"match\":\"(==|!=|<=|>=|<|>|from|to|through)\",\"name\":\"keyword.control.operator\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"at_rule_forward\":{\"begin\":\"\\\\s*((@)forward\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.forward.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.forward.scss\",\"patterns\":[{\"match\":\"\\\\b(as|hide|show)\\\\b\",\"name\":\"keyword.control.operator\"},{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.module.scss\"},\"2\":{\"name\":\"punctuation.definition.wildcard.scss\"}},\"match\":\"\\\\b([\\\\w-]+)(\\\\*)\"},{\"match\":\"\\\\b[\\\\w-]+\\\\b\",\"name\":\"entity.name.function.scss\"},{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#comment_line\"},{\"include\":\"#comment_block\"}]},\"at_rule_function\":{\"patterns\":[{\"begin\":\"\\\\s*((@)function\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.function.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.function.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.function.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"\\\\s*((@)function\\\\b)\\\\s*\",\"name\":\"meta.at-rule.function.scss\"}]},\"at_rule_if\":{\"begin\":\"\\\\s*((@)if\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.if.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.if.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_import\":{\"begin\":\"\\\\s*((@)import\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.import.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;)|(?=}))\",\"name\":\"meta.at-rule.import.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#functions\"},{\"include\":\"#comment_line\"}]},\"at_rule_include\":{\"patterns\":[{\"begin\":\"(?<=@include)\\\\s+(?:([\\\\w-]+)\\\\s*(\\\\.))?([\\\\w-]+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"name\":\"meta.at-rule.include.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"0\":{\"name\":\"meta.at-rule.include.scss\"},\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@include)\\\\s+(?:([\\\\w-]+)\\\\s*(\\\\.))?([\\\\w-]+)\"},{\"captures\":{\"0\":{\"name\":\"meta.at-rule.include.scss\"},\"1\":{\"name\":\"keyword.control.at-rule.include.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)include)\\\\b\"}]},\"at_rule_keyframes\":{\"begin\":\"(?<=^|\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.at-rule.keyframes.scss\"},\"1\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"(?<=})\",\"name\":\"meta.at-rule.keyframes.scss\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@keyframes)\\\\s+((?:[_A-Za-z][-\\\\w]|-[_A-Za-z])[-\\\\w]*)\"},{\"begin\":\"(?<=@keyframes)\\\\s+(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"contentName\":\"entity.name.function.scss\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.double.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"(?<=@keyframes)\\\\s+(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"contentName\":\"entity.name.function.scss\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.single.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.keyframes.begin.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.keyframes.end.scss\"}},\"patterns\":[{\"match\":\"\\\\b(?:(?:100|[1-9]\\\\d|\\\\d)%|from|to)(?=\\\\s*{)\",\"name\":\"entity.other.attribute-name.scss\"},{\"include\":\"#flow_control\"},{\"include\":\"#interpolation\"},{\"include\":\"#property_list\"},{\"include\":\"#rules\"}]}]},\"at_rule_media\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)media)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.at-rule.media.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.media.scss\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"match\":\"\\\\b(only)\\\\b\",\"name\":\"keyword.control.operator.css.scss\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.media-query.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.media-query.end.bracket.round.scss\"}},\"name\":\"meta.property-list.media-query.scss\",\"patterns\":[{\"begin\":\"(?<![-a-z])(?=[-a-z])\",\"end\":\"$|(?![-a-z])\",\"name\":\"meta.property-name.media-query.scss\",\"patterns\":[{\"include\":\"source.css#media-features\"},{\"include\":\"source.css#property-names\"}]},{\"begin\":\"(:)\\\\s*(?!(\\\\s*{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"contentName\":\"meta.property-value.media-query.scss\",\"end\":\"\\\\s*(;|(?=}|\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},{\"include\":\"#variable\"},{\"include\":\"#conditional_operators\"},{\"include\":\"source.css#media-types\"}]}]},\"at_rule_mixin\":{\"patterns\":[{\"begin\":\"(?<=@mixin)\\\\s+([\\\\w-]+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.scss\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"name\":\"meta.at-rule.mixin.scss\",\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.function.scss\"}},\"match\":\"(?<=@mixin)\\\\s+([\\\\w-]+)\",\"name\":\"meta.at-rule.mixin.scss\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.mixin.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)mixin)\\\\b\",\"name\":\"meta.at-rule.mixin.scss\"}]},\"at_rule_namespace\":{\"patterns\":[{\"begin\":\"(?<=@namespace)\\\\s+(?=url)\",\"end\":\"(?=;|$)\",\"name\":\"meta.at-rule.namespace.scss\",\"patterns\":[{\"include\":\"#property_values\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},{\"begin\":\"(?<=@namespace)\\\\s+([\\\\w-]*)\",\"captures\":{\"1\":{\"name\":\"entity.name.namespace-prefix.scss\"}},\"end\":\"(?=;|$)\",\"name\":\"meta.at-rule.namespace.scss\",\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#property_values\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.namespace.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"((@)namespace)\\\\b\",\"name\":\"meta.at-rule.namespace.scss\"}]},\"at_rule_option\":{\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.charset.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"match\":\"^\\\\s*((@)option\\\\b)\\\\s*\",\"name\":\"meta.at-rule.option.scss\"},\"at_rule_page\":{\"patterns\":[{\"begin\":\"^\\\\s*((@)page)(?=:|\\\\s)\\\\s*([-:\\\\w]*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.page.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"},\"3\":{\"name\":\"entity.name.function.scss\"}},\"end\":\"\\\\s*(?={)\",\"name\":\"meta.at-rule.page.scss\"}]},\"at_rule_return\":{\"begin\":\"\\\\s*((@)(return)\\\\b)\",\"captures\":{\"1\":{\"name\":\"keyword.control.return.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*((?=;))\",\"name\":\"meta.at-rule.return.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"at_rule_supports\":{\"begin\":\"(?<=^|\\\\s)(@)supports\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control.at-rule.supports.scss\"},\"1\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"(?={)|$\",\"name\":\"meta.at-rule.supports.scss\",\"patterns\":[{\"include\":\"#logical_operators\"},{\"include\":\"#properties\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.condition.begin.bracket.round.scss\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.condition.end.bracket.round.scss\"}]},\"at_rule_use\":{\"begin\":\"\\\\s*((@)use\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.at-rule.use.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.use.scss\",\"patterns\":[{\"match\":\"\\\\b(as|with)\\\\b\",\"name\":\"keyword.control.operator\"},{\"match\":\"\\\\b[\\\\w-]+\\\\b\",\"name\":\"variable.scss\"},{\"match\":\"\\\\*\",\"name\":\"variable.language.expanded-namespace.scss\"},{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#comment_line\"},{\"include\":\"#comment_block\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#function_attributes\"}]}]},\"at_rule_warn\":{\"begin\":\"\\\\s*((@)(warn|debug|error)\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.warn.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=;)\",\"name\":\"meta.at-rule.warn.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#string_double\"},{\"include\":\"#string_single\"}]},\"at_rule_while\":{\"begin\":\"\\\\s*((@)while\\\\b)\\\\s*\",\"captures\":{\"1\":{\"name\":\"keyword.control.while.scss\"},\"2\":{\"name\":\"punctuation.definition.keyword.scss\"}},\"end\":\"\\\\s*(?=})\",\"name\":\"meta.at-rule.while.scss\",\"patterns\":[{\"include\":\"#conditional_operators\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"},{\"include\":\"$self\"}]},\"comment_block\":{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"name\":\"comment.block.scss\"},\"comment_docblock\":{\"begin\":\"///\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"(?=$)\",\"name\":\"comment.block.documentation.scss\",\"patterns\":[{\"include\":\"source.sassdoc\"}]},\"comment_line\":{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scss\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.scss\"},\"comparison_operators\":{\"match\":\"==|!=|<=|>=|<|>\",\"name\":\"keyword.operator.comparison.scss\"},\"conditional_operators\":{\"patterns\":[{\"include\":\"#comparison_operators\"},{\"include\":\"#logical_operators\"}]},\"constant_default\":{\"match\":\"!default\",\"name\":\"keyword.other.default.scss\"},\"constant_functions\":{\"begin\":\"(?:([\\\\w-]+)(\\\\.))?([\\\\w-]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"support.function.misc.scss\"},\"4\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},\"constant_important\":{\"match\":\"!important\",\"name\":\"keyword.other.important.scss\"},\"constant_mathematical_symbols\":{\"match\":\"\\\\b(\\\\+|-|\\\\*|/)\\\\b\",\"name\":\"support.constant.mathematical-symbols.scss\"},\"constant_optional\":{\"match\":\"!optional\",\"name\":\"keyword.other.optional.scss\"},\"constant_sass_functions\":{\"begin\":\"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.misc.scss\"},\"2\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},\"flow_control\":{\"patterns\":[{\"include\":\"#at_rule_if\"},{\"include\":\"#at_rule_else\"},{\"include\":\"#at_rule_warn\"},{\"include\":\"#at_rule_for\"},{\"include\":\"#at_rule_while\"},{\"include\":\"#at_rule_each\"},{\"include\":\"#at_rule_return\"}]},\"function_attributes\":{\"patterns\":[{\"match\":\":\",\"name\":\"punctuation.separator.key-value.scss\"},{\"include\":\"#general\"},{\"include\":\"#property_values\"},{\"match\":\"[={}\\\\?;@]\",\"name\":\"invalid.illegal.scss\"}]},\"functions\":{\"patterns\":[{\"begin\":\"([\\\\w-]{1,})(\\\\()\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.misc.scss\"},\"2\":{\"name\":\"punctuation.section.function.scss\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.scss\"}},\"patterns\":[{\"include\":\"#parameters\"}]},{\"match\":\"([\\\\w-]{1,})\",\"name\":\"support.function.misc.scss\"}]},\"general\":{\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"}]},\"interpolation\":{\"begin\":\"#{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.begin.bracket.curly.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.end.bracket.curly.scss\"}},\"name\":\"variable.interpolation.scss\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"logical_operators\":{\"match\":\"\\\\b(not|or|and)\\\\b\",\"name\":\"keyword.operator.logical.scss\"},\"map\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.map.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.map.end.bracket.round.scss\"}},\"name\":\"meta.definition.variable.map.scss\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"captures\":{\"1\":{\"name\":\"support.type.map.key.scss\"},\"2\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"match\":\"\\\\b([\\\\w-]+)\\\\s*(:)\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"},{\"include\":\"#map\"},{\"include\":\"#variable\"},{\"include\":\"#property_values\"}]},\"operators\":{\"match\":\"[-+*/](?!\\\\s*[-+*/])\",\"name\":\"keyword.operator.css\"},\"parameters\":{\"patterns\":[{\"include\":\"#variable\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#function_attributes\"}]},{\"include\":\"#property_values\"},{\"include\":\"#comment_block\"},{\"match\":\"[^'\\\",) \\\\t]+\",\"name\":\"variable.parameter.url.scss\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"}]},\"parent_selector_suffix\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(?<=&)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\$|})+)(?=$|[\\\\s,.\\\\#)\\\\[:{>+~|]|/\\\\*)\",\"name\":\"entity.other.attribute-name.parent-selector-suffix.css\"},\"properties\":{\"patterns\":[{\"begin\":\"(?<![-a-z])(?=[-a-z])\",\"end\":\"$|(?![-a-z])\",\"name\":\"meta.property-name.scss\",\"patterns\":[{\"include\":\"source.css#property-names\"},{\"include\":\"#at_rule_include\"}]},{\"begin\":\"(:)\\\\s*(?!(\\\\s*{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"contentName\":\"meta.property-value.scss\",\"end\":\"\\\\s*(;|(?=}|\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},\"property_list\":{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.property-list.begin.bracket.curly.scss\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.property-list.end.bracket.curly.scss\"}},\"name\":\"meta.property-list.scss\",\"patterns\":[{\"include\":\"#flow_control\"},{\"include\":\"#rules\"},{\"include\":\"#properties\"},{\"include\":\"$self\"}]},\"property_values\":{\"patterns\":[{\"include\":\"#string_single\"},{\"include\":\"#string_double\"},{\"include\":\"#constant_functions\"},{\"include\":\"#constant_sass_functions\"},{\"include\":\"#constant_important\"},{\"include\":\"#constant_default\"},{\"include\":\"#constant_optional\"},{\"include\":\"source.css#numeric-values\"},{\"include\":\"source.css#property-keywords\"},{\"include\":\"source.css#color-keywords\"},{\"include\":\"source.css#property-names\"},{\"include\":\"#constant_mathematical_symbols\"},{\"include\":\"#operators\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.scss\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.scss\"}},\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#property_values\"}]}]},\"rules\":{\"patterns\":[{\"include\":\"#general\"},{\"include\":\"#at_rule_extend\"},{\"include\":\"#at_rule_content\"},{\"include\":\"#at_rule_include\"},{\"include\":\"#at_rule_media\"},{\"include\":\"#selectors\"}]},\"selector_attribute\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.attribute-selector.begin.bracket.square.scss\"},\"2\":{\"name\":\"entity.other.attribute-name.attribute.scss\",\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"3\":{\"name\":\"keyword.operator.scss\"},\"4\":{\"name\":\"string.unquoted.attribute-value.scss\",\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"5\":{\"name\":\"string.quoted.double.attribute-value.scss\"},\"6\":{\"name\":\"punctuation.definition.string.begin.scss\"},\"7\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"8\":{\"name\":\"punctuation.definition.string.end.scss\"},\"9\":{\"name\":\"string.quoted.single.attribute-value.scss\"},\"10\":{\"name\":\"punctuation.definition.string.begin.scss\"},\"11\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]},\"12\":{\"name\":\"punctuation.definition.string.end.scss\"},\"13\":{\"name\":\"punctuation.definition.attribute-selector.end.bracket.square.scss\"}},\"match\":\"(?xi)\\n(\\\\[)\\n\\\\s*\\n(\\n (?:\\n [-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F] # Valid identifier characters\\n | \\\\\\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\\n | \\\\#\\\\{ # Interpolation (escaped to avoid Coffeelint errors)\\n | \\\\.?\\\\$ # Possible start of interpolation variable\\n | } # Possible end of interpolation\\n )+?\\n)\\n(?:\\n \\\\s*([~|^$*]?=)\\\\s*\\n (?:\\n (\\n (?:\\n [-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F] # Valid identifier characters\\n | \\\\\\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\\n | \\\\#\\\\{ # Interpolation (escaped to avoid Coffeelint errors)\\n | \\\\.?\\\\$ # Possible start of interpolation variable\\n | } # Possible end of interpolation\\n )+\\n )\\n |\\n ((\\\")(.*?)(\\\"))\\n |\\n ((')(.*?)('))\\n )\\n)?\\n\\\\s*\\n(\\\\])\",\"name\":\"meta.attribute-selector.scss\"},\"selector_class\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.scss\"}]}},\"match\":\"(\\\\.)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+)(?=$|[\\\\s,\\\\#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*|;)\",\"name\":\"entity.other.attribute-name.class.css\"},\"selector_custom\":{\"match\":\"\\\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\\\.|\\\\s++[^:]|\\\\s*[,\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\([0-9A-Za-z]*\\\\))?)\",\"name\":\"entity.name.tag.custom.scss\"},\"selector_id\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(\\\\#)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.?\\\\$|})+)(?=$|[\\\\s,\\\\#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*)\",\"name\":\"entity.other.attribute-name.id.css\"},\"selector_placeholder\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.css\"},\"2\":{\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\\\\\([0-9a-fA-F]{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"match\":\"\\\\$|}\",\"name\":\"invalid.illegal.identifier.scss\"}]}},\"match\":\"(%)((?:[-a-zA-Z_0-9]|[^\\\\x00-\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\#\\\\{|\\\\.\\\\$|\\\\$|})+)(?=;|$|[\\\\s,\\\\#)\\\\[:{>+~|]|\\\\.[^$]|/\\\\*)\",\"name\":\"entity.other.attribute-name.placeholder.css\"},\"selector_pseudo_class\":{\"patterns\":[{\"begin\":\"((:)\\\\bnth-(?:child|last-child|of-type|last-of-type))(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.other.attribute-name.pseudo-class.css\"},\"2\":{\"name\":\"punctuation.definition.entity.css\"},\"3\":{\"name\":\"punctuation.definition.pseudo-class.begin.bracket.round.css\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.pseudo-class.end.bracket.round.css\"}},\"patterns\":[{\"include\":\"#interpolation\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.css\"},{\"match\":\"(?<=\\\\d)n\\\\b|\\\\b(n|even|odd)\\\\b\",\"name\":\"constant.other.scss\"},{\"match\":\"\\\\w+\",\"name\":\"invalid.illegal.scss\"}]},{\"include\":\"source.css#pseudo-classes\"},{\"include\":\"source.css#pseudo-elements\"},{\"include\":\"source.css#functional-pseudo-classes\"}]},\"selectors\":{\"patterns\":[{\"include\":\"source.css#tag-names\"},{\"include\":\"#selector_custom\"},{\"include\":\"#selector_class\"},{\"include\":\"#selector_id\"},{\"include\":\"#selector_pseudo_class\"},{\"include\":\"#tag_wildcard\"},{\"include\":\"#tag_parent_reference\"},{\"include\":\"source.css#pseudo-elements\"},{\"include\":\"#selector_attribute\"},{\"include\":\"#selector_placeholder\"},{\"include\":\"#parent_selector_suffix\"}]},\"string_double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.double.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},\"string_single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.scss\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.scss\"}},\"name\":\"string.quoted.single.scss\",\"patterns\":[{\"match\":\"\\\\\\\\(\\\\h{1,6}|.)\",\"name\":\"constant.character.escape.scss\"},{\"include\":\"#interpolation\"}]},\"tag_parent_reference\":{\"match\":\"&\",\"name\":\"entity.name.tag.reference.scss\"},\"tag_wildcard\":{\"match\":\"\\\\*\",\"name\":\"entity.name.tag.wildcard.scss\"},\"variable\":{\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#interpolation\"}]},\"variable_setting\":{\"begin\":\"(?=\\\\$[\\\\w-]+\\\\s*:)\",\"contentName\":\"meta.definition.variable.scss\",\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.rule.scss\"}},\"patterns\":[{\"match\":\"\\\\$[\\\\w-]+(?=\\\\s*:)\",\"name\":\"variable.scss\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.scss\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#comment_docblock\"},{\"include\":\"#comment_block\"},{\"include\":\"#comment_line\"},{\"include\":\"#map\"},{\"include\":\"#property_values\"},{\"include\":\"#variable\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.scss\"}]}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.scss\"},\"2\":{\"name\":\"punctuation.access.module.scss\"},\"3\":{\"name\":\"variable.scss\"}},\"match\":\"\\\\b([\\\\w-]+)(\\\\.)(\\\\$[\\\\w-]+)\\\\b\"},{\"match\":\"(\\\\$|\\\\-\\\\-)[A-Za-z0-9_-]+\\\\b\",\"name\":\"variable.scss\"}]}},\"scopeName\":\"source.css.scss\",\"embeddedLangs\":[\"css\"]}"))
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...css,
|
package/dist/shaderlab.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import hlsl from './hlsl.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"ShaderLab\",\"name\":\"shaderlab\",\"patterns\":[{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.shaderlab\"},{\"match\":\"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b\",\"name\":\"support.type.basic.shaderlab\"},{\"include\":\"#numbers\"},{\"match\":\"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b\",\"name\":\"storage.type.structure.shaderlab\"},{\"match\":\"\\\\b(?i: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\",\"name\":\"support.type.propertyname.shaderlab\"},{\"match\":\"\\\\b(?i:Back|Front|On|Off|[RGBA]{1,3}|AmbientAndDiffuse|Emission)\\\\b\",\"name\":\"support.constant.property-value.shaderlab\"},{\"match\":\"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b\",\"name\":\"support.constant.property-value.comparisonfunction.shaderlab\"},{\"match\":\"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b\",\"name\":\"support.constant.property-value.stenciloperation.shaderlab\"},{\"match\":\"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b\",\"name\":\"support.constant.property-value.texturecombiners.shaderlab\"},{\"match\":\"\\\\b(?i:Global|Linear|Exp2|Exp)\\\\b\",\"name\":\"support.constant.property-value.fog.shaderlab\"},{\"match\":\"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b\",\"name\":\"support.constant.property-value.bindchannels.shaderlab\"},{\"match\":\"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b\",\"name\":\"support.constant.property-value.blendoperations.shaderlab\"},{\"match\":\"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b\",\"name\":\"support.constant.property-value.blendfactors.shaderlab\"},{\"match\":\"\\\\[([a-zA-Z_]
|
|
3
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"ShaderLab\",\"name\":\"shaderlab\",\"patterns\":[{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.shaderlab\"},{\"match\":\"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b\",\"name\":\"support.type.basic.shaderlab\"},{\"include\":\"#numbers\"},{\"match\":\"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b\",\"name\":\"storage.type.structure.shaderlab\"},{\"match\":\"\\\\b(?i: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\",\"name\":\"support.type.propertyname.shaderlab\"},{\"match\":\"\\\\b(?i:Back|Front|On|Off|[RGBA]{1,3}|AmbientAndDiffuse|Emission)\\\\b\",\"name\":\"support.constant.property-value.shaderlab\"},{\"match\":\"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b\",\"name\":\"support.constant.property-value.comparisonfunction.shaderlab\"},{\"match\":\"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b\",\"name\":\"support.constant.property-value.stenciloperation.shaderlab\"},{\"match\":\"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b\",\"name\":\"support.constant.property-value.texturecombiners.shaderlab\"},{\"match\":\"\\\\b(?i:Global|Linear|Exp2|Exp)\\\\b\",\"name\":\"support.constant.property-value.fog.shaderlab\"},{\"match\":\"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b\",\"name\":\"support.constant.property-value.bindchannels.shaderlab\"},{\"match\":\"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b\",\"name\":\"support.constant.property-value.blendoperations.shaderlab\"},{\"match\":\"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b\",\"name\":\"support.constant.property-value.blendfactors.shaderlab\"},{\"match\":\"\\\\[([a-zA-Z_][a-zA-Z0-9_]*)\\\\](?!\\\\s*[a-zA-Z_][a-zA-Z0-9_]*\\\\s*\\\\(\\\")\",\"name\":\"support.variable.reference.shaderlab\"},{\"begin\":\"(\\\\[)\",\"end\":\"(\\\\])\",\"name\":\"meta.attribute.shaderlab\",\"patterns\":[{\"match\":\"\\\\G([a-zA-Z]+)\\\\b\",\"name\":\"support.type.attributename.shaderlab\"},{\"include\":\"#numbers\"}]},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\s*\\\\(\",\"name\":\"support.variable.declaration.shaderlab\"},{\"begin\":\"\\\\b(CGPROGRAM|CGINCLUDE)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDCG)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.cgblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\\b(HLSLPROGRAM|HLSLINCLUDE)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDHLSL)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.hlslblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.shaderlab\"}],\"repository\":{\"hlsl-embedded\":{\"patterns\":[{\"include\":\"source.hlsl\"},{\"match\":\"\\\\b(fixed([1-4](x[1-4])?)?)\\\\b\",\"name\":\"storage.type.basic.shaderlab\"},{\"match\":\"\\\\b(UNITY_MATRIX_MVP|UNITY_MATRIX_MV|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\",\"name\":\"support.variable.transformations.shaderlab\"},{\"match\":\"\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\b\",\"name\":\"support.variable.camera.shaderlab\"},{\"match\":\"\\\\b(_Time|_SinTime|_CosTime|unity_DeltaTime)\\\\b\",\"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\",\"name\":\"support.variable.lighting.shaderlab\"},{\"match\":\"\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\b\",\"name\":\"support.variable.fog.shaderlab\"},{\"match\":\"\\\\b(unity_LODFade)\\\\b\",\"name\":\"support.variable.various.shaderlab\"},{\"match\":\"\\\\b(SHADER_API_D3D9|SHADER_API_D3D11|SHADER_API_GLCORE|SHADER_API_OPENGL|SHADER_API_GLES|SHADER_API_GLES3|SHADER_API_METAL|SHADER_API_D3D11_9X|SHADER_API_PSSL|SHADER_API_XBOXONE|SHADER_API_PSP2|SHADER_API_WIIU|SHADER_API_MOBILE|SHADER_API_GLSL)\\\\b\",\"name\":\"support.variable.preprocessor.targetplatform.shaderlab\"},{\"match\":\"\\\\b(SHADER_TARGET)\\\\b\",\"name\":\"support.variable.preprocessor.targetmodel.shaderlab\"},{\"match\":\"\\\\b(UNITY_VERSION)\\\\b\",\"name\":\"support.variable.preprocessor.unityversion.shaderlab\"},{\"match\":\"\\\\b(UNITY_BRANCH|UNITY_FLATTEN|UNITY_NO_SCREENSPACE_SHADOWS|UNITY_NO_LINEAR_COLORSPACE|UNITY_NO_RGBM|UNITY_NO_DXT5nm|UNITY_FRAMEBUFFER_FETCH_AVAILABLE|UNITY_USE_RGBA_FOR_POINT_SHADOWS|UNITY_ATTEN_CHANNEL|UNITY_HALF_TEXEL_OFFSET|UNITY_UV_STARTS_AT_TOP|UNITY_MIGHT_NOT_HAVE_DEPTH_Texture|UNITY_NEAR_CLIP_VALUE|UNITY_VPOS_TYPE|UNITY_CAN_COMPILE_TESSELLATION|UNITY_COMPILER_HLSL|UNITY_COMPILER_HLSL2GLSL|UNITY_COMPILER_CG|UNITY_REVERSED_Z)\\\\b\",\"name\":\"support.variable.preprocessor.platformdifference.shaderlab\"},{\"match\":\"\\\\b(UNITY_PASS_FORWARDBASE|UNITY_PASS_FORWARDADD|UNITY_PASS_DEFERRED|UNITY_PASS_SHADOWCASTER|UNITY_PASS_PREPASSBASE|UNITY_PASS_PREPASSFINAL)\\\\b\",\"name\":\"support.variable.preprocessor.texture2D.shaderlab\"},{\"match\":\"\\\\b(appdata_base|appdata_tan|appdata_full|appdata_img)\\\\b\",\"name\":\"support.class.structures.shaderlab\"},{\"match\":\"\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\b\",\"name\":\"support.class.surface.shaderlab\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b([0-9]+\\\\.?[0-9]*)\\\\b\",\"name\":\"constant.numeric.shaderlab\"}]}},\"scopeName\":\"source.shaderlab\",\"embeddedLangs\":[\"hlsl\"],\"aliases\":[\"shader\"]}"))
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...hlsl,
|
package/dist/shellscript.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Shell\",\"name\":\"shellscript\",\"patterns\":[{\"include\":\"#initial_context\"}],\"repository\":{\"alias_statement\":{\"begin\":\"(?:(?:[ \\\\t]*+)(alias)(?:[ \\\\t]*+)((?:(?:((?<!\\\\w)-\\\\w+\\\\b)(?:[ \\\\t]*+))*))(?:(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(=)|(\\\\+=))|(-=))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.alias.shell\"},\"2\":{\"patterns\":[{\"match\":\"(?<!\\\\w)-\\\\w+\\\\b\",\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}]},\"3\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"},\"4\":{\"name\":\"variable.other.assignment.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"variable.other.assignment.shell\"},\"7\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"8\":{\"name\":\"punctuation.definition.array.access.shell\"},\"9\":{\"name\":\"keyword.operator.assignment.shell\"},\"10\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"11\":{\"name\":\"keyword.operator.assignment.compound.shell\"}},\"end\":\"(?:(?= |\\\\t|$)|(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.semicolon.shell\"},\"2\":{\"name\":\"punctuation.separator.statement.and.shell\"},\"3\":{\"name\":\"punctuation.separator.statement.or.shell\"},\"4\":{\"name\":\"punctuation.separator.statement.background.shell\"}},\"name\":\"meta.expression.assignment.alias.shell\",\"patterns\":[{\"include\":\"#normal_context\"}]},\"argument\":{\"begin\":\"(?:[ \\\\t]++)(?!(?:&|\\\\||\\\\(|\\\\[|#|\\\\n|$|;))\",\"beginCaptures\":{},\"end\":\"(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)\",\"endCaptures\":{},\"name\":\"meta.argument.shell\",\"patterns\":[{\"include\":\"#argument_context\"},{\"include\":\"#line_continuation\"}]},\"argument_context\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"string.unquoted.argument.shell\",\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"variable.language.special.wildcard.shell\"},{\"include\":\"#variable\"},{\"include\":\"#numeric_literal\"},{\"captures\":{\"1\":{\"name\":\"constant.language.$1.shell\"}},\"match\":\"(?<!\\\\w)(\\\\b(?:true|false)\\\\b)(?!\\\\w)\"}]}},\"match\":\"(?:[ \\\\t]*+)((?:[^ \\\\t\\\\n>&;<>()$`\\\\\\\\\\\"'<\\\\|]+)(?!>))\"},{\"include\":\"#normal_context\"}]},\"arithmetic_double\":{\"patterns\":[{\"begin\":\"\\\\(\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.double.shell\"}},\"end\":\"\\\\)(?:\\\\s*)\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.double.shell\"}},\"name\":\"meta.arithmetic.shell\",\"patterns\":[{\"include\":\"#math\"},{\"include\":\"#string\"}]}]},\"arithmetic_no_dollar\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.single.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.single.shell\"}},\"name\":\"meta.arithmetic.shell\",\"patterns\":[{\"include\":\"#math\"},{\"include\":\"#string\"}]}]},\"array_access_inline\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.array.shell\"},\"2\":{\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#string\"},{\"include\":\"#variable\"}]},\"3\":{\"name\":\"punctuation.section.array.shell\"}},\"match\":\"(?:(\\\\[)([^\\\\[\\\\]]+)(\\\\]))\"},\"array_value\":{\"begin\":\"(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(=)|(\\\\+=))|(-=))(?:[ \\\\t]*+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"9\":{\"name\":\"punctuation.definition.array.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.array.shell\"}},\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.array.shell entity.other.attribute-name.shell\"},\"2\":{\"name\":\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\"}},\"match\":\"(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(=))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.bracket.named-array.shell\"},\"2\":{\"name\":\"string.unquoted.shell entity.other.attribute-name.bracket.shell\"},\"3\":{\"name\":\"punctuation.definition.bracket.named-array.shell\"},\"4\":{\"name\":\"punctuation.definition.assignment.shell\"}},\"match\":\"(?:(\\\\[)(.+?)(\\\\])(=))\"},{\"include\":\"#normal_context\"},{\"include\":\"#simple_unquoted\"}]},\"assignment_statement\":{\"patterns\":[{\"include\":\"#array_value\"},{\"include\":\"#modified_assignment_statement\"},{\"include\":\"#normal_assignment_statement\"}]},\"basic_command_name\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.$1.shell\"},\"2\":{\"name\":\"entity.name.function.call.shell entity.name.command.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)\",\"name\":\"keyword.control.$0.shell\"},{\"match\":\"(?<!\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/))(?!\\\\w)(?!-)\",\"name\":\"support.function.builtin.shell\"},{\"include\":\"#variable\"}]}},\"match\":\"(?:(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$))(?:((?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$))|((?!\\\"|'|\\\\\\\\\\\\n?$)(?:[^!'\\\"<> \\\\t\\\\n\\\\r]+?)))(?:(?= |\\\\t)|(?:(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\))))\",\"name\":\"meta.statement.command.name.basic.shell\"},\"block_comment\":{\"begin\":\"(?:(?:\\\\s*+)(\\\\/\\\\*))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.begin.shell\"}},\"end\":\"\\\\*\\\\/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.shell\"}},\"name\":\"comment.block.shell\"},\"boolean\":{\"match\":\"\\\\b(?:true|false)\\\\b\",\"name\":\"constant.language.$0.shell\"},\"case_statement\":{\"begin\":\"(?:(\\\\bcase\\\\b)(?:[ \\\\t]*+)(.+?)(?:[ \\\\t]*+)(\\\\bin\\\\b))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.shell\"},\"2\":{\"patterns\":[{\"include\":\"#initial_context\"}]},\"3\":{\"name\":\"keyword.control.in.shell\"}},\"end\":\"\\\\besac\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.esac.shell\"}},\"name\":\"meta.case.shell\",\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.pattern.case.default.shell\"}},\"match\":\"(?:[ \\\\t]*+)(\\\\* *\\\\))\"},{\"begin\":\"(?<!\\\\))(?!(?:[ \\\\t]*+)(?:esac\\\\b|$))\",\"beginCaptures\":{},\"end\":\"(?:(?=\\\\besac\\\\b)|(\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.pattern.case.shell\"}},\"name\":\"meta.case.entry.pattern.shell\",\"patterns\":[{\"include\":\"#case_statement_context\"}]},{\"begin\":\"(?<=\\\\))\",\"beginCaptures\":{},\"end\":\"(?:(;;)|(?=\\\\besac\\\\b))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.case.shell\"}},\"name\":\"meta.case.entry.body.shell\",\"patterns\":[{\"include\":\"#typical_statements\"},{\"include\":\"#initial_context\"}]}]},\"case_statement_context\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"\\\\+\",\"name\":\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"\\\\?\",\"name\":\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"@\",\"name\":\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\"},{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"},{\"match\":\"(?<=\\\\tin| in| |\\\\t|;;)\\\\(\",\"name\":\"keyword.operator.pattern.case.shell\"},{\"begin\":\"(?<=\\\\S)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\"}},\"name\":\"meta.parenthese.shell\",\"patterns\":[{\"include\":\"#case_statement_context\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.character-class.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.character-class.shell\"}},\"name\":\"string.regexp.character-class.shell\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"}]},{\"include\":\"#string\"},{\"match\":\"[^) \\\\t\\\\n\\\\[?\\\\*\\\\|\\\\@]\",\"name\":\"string.unquoted.pattern.shell string.regexp.unquoted.shell\"}]},\"command_name_range\":{\"begin\":\"\\\\G\",\"beginCaptures\":{},\"end\":\"(?:(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)|(?=<))\",\"endCaptures\":{},\"name\":\"meta.statement.command.name.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)\",\"name\":\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\"},{\"match\":\"(?<!\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/))(?!\\\\w)(?!-)\",\"name\":\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\"},{\"include\":\"#variable\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.call.shell entity.name.command.shell\"}},\"match\":\"(?:(?<!\\\\w)(?<=\\\\G|'|\\\"|\\\\}|\\\\))([^ \\\\n\\\\t\\\\r\\\"'=;&\\\\|`){<>]+))\"},{\"begin\":\"(?:(?:\\\\G|(?<! |\\\\t|;|\\\\||&|\\\\n|\\\\{|#))(?:(\\\\$?)((?:(\\\")|(')))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\"},\"2\":{},\"3\":{\"name\":\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\"},\"4\":{\"name\":\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\"}},\"end\":\"(?<!\\\\G)(?<=(?:\\\\2))\",\"endCaptures\":{},\"patterns\":[{\"include\":\"#continuation_of_single_quoted_command_name\"},{\"include\":\"#continuation_of_double_quoted_command_name\"}]},{\"include\":\"#line_continuation\"},{\"include\":\"#simple_unquoted\"}]},\"command_statement\":{\"begin\":\"(?:(?:[ \\\\t]*+)(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\\\\\\\n?$)))\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.command.shell\",\"patterns\":[{\"include\":\"#command_name_range\"},{\"include\":\"#line_continuation\"},{\"include\":\"#option\"},{\"include\":\"#argument\"},{\"include\":\"#string\"},{\"include\":\"#heredoc\"}]},\"comment\":{\"captures\":{\"1\":{\"name\":\"comment.line.number-sign.shell meta.shebang.shell\"},\"2\":{\"name\":\"punctuation.definition.comment.shebang.shell\"},\"3\":{\"name\":\"comment.line.number-sign.shell\"},\"4\":{\"name\":\"punctuation.definition.comment.shell\"}},\"match\":\"(?:(?:^|(?:[ \\\\t]++))(?:((?:(#!)(?:.*)))|((?:(#)(?:.*)))))\"},\"comments\":{\"patterns\":[{\"include\":\"#block_comment\"},{\"include\":\"#line_comment\"}]},\"compound-command\":{\"patterns\":[{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical-expression\"},{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=\\\\s|^){(?=\\\\s|$)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell\"}},\"end\":\"(?<=^|;)\\\\s*(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell\"}},\"name\":\"meta.scope.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"continuation_of_double_quoted_command_name\":{\"begin\":\"(?:\\\\G(?<=\\\"))\",\"beginCaptures\":{},\"contentName\":\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\"}},\"patterns\":[{\"match\":\"\\\\\\\\[$\\\\n`\\\"\\\\\\\\]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},\"continuation_of_single_quoted_command_name\":{\"begin\":\"(?:\\\\G(?<='))\",\"beginCaptures\":{},\"contentName\":\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\"}}},\"custom_command_names\":{\"patterns\":[]},\"custom_commands\":{\"patterns\":[]},\"double_quote_context\":{\"patterns\":[{\"match\":\"\\\\\\\\[$`\\\"\\\\\\\\\\\\n]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},\"double_quote_escape_char\":{\"match\":\"\\\\\\\\[$`\\\"\\\\\\\\\\\\n]\",\"name\":\"constant.character.escape.shell\"},\"floating_keyword\":{\"patterns\":[{\"match\":\"(?<=^|;|&| |\\\\t)(?:then|elif|else|done|end|do|if|fi)(?= |\\\\t|;|&|$)\",\"name\":\"keyword.control.$0.shell\"}]},\"for_statement\":{\"patterns\":[{\"begin\":\"(?:(\\\\bfor\\\\b)(?:(?:[ \\\\t]*+)((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:[ \\\\t]*+)(\\\\bin\\\\b)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.shell\"},\"2\":{\"name\":\"variable.other.for.shell\"},\"3\":{\"name\":\"keyword.control.in.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.for.in.shell\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"}]},{\"begin\":\"(\\\\bfor\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.for.shell\",\"patterns\":[{\"include\":\"#arithmetic_double\"},{\"include\":\"#normal_context\"}]}]},\"function_definition\":{\"applyEndPatternLast\":1,\"begin\":\"(?:[ \\\\t]*+)(?:(?:(\\\\bfunction\\\\b)(?:[ \\\\t]*+)([^ \\\\t\\\\n\\\\r()=\\\"']+)(?:(?:(\\\\()(?:[ \\\\t]*+)(\\\\)))?))|(?:([^ \\\\t\\\\n\\\\r()=\\\"']+)(?:[ \\\\t]*+)(\\\\()(?:[ \\\\t]*+)(\\\\))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.shell\"},\"2\":{\"name\":\"entity.name.function.shell\"},\"3\":{\"name\":\"punctuation.definition.arguments.shell\"},\"4\":{\"name\":\"punctuation.definition.arguments.shell\"},\"5\":{\"name\":\"entity.name.function.shell\"},\"6\":{\"name\":\"punctuation.definition.arguments.shell\"},\"7\":{\"name\":\"punctuation.definition.arguments.shell\"}},\"end\":\"(?<=\\\\}|\\\\))\",\"endCaptures\":{},\"name\":\"meta.function.shell\",\"patterns\":[{\"match\":\"(?:\\\\G(?:\\\\t| |\\\\n))\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"name\":\"meta.function.body.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"name\":\"meta.function.body.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"include\":\"#initial_context\"}]},\"heredoc\":{\"patterns\":[{\"begin\":\"(?:((?<!<)(?:<<-))(?:[ \\\\t]*+)(\\\"|')(?:[ \\\\t]*+)([^\\\"']+?)(?=\\\\s|;|&|<|\\\"|')((?:\\\\2))(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"3\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"4\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"5\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.quoted.heredoc.indent.$3\",\"end\":\"(?:(?:^\\\\t*)(?:\\\\3)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.$0.shell\"}},\"patterns\":[]},{\"begin\":\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\t]*+)(\\\"|')(?:[ \\\\t]*+)([^\\\"']+?)(?=\\\\s|;|&|<|\\\"|')((?:\\\\2))(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"3\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"4\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"5\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.quoted.heredoc.no-indent.$3\",\"end\":\"(?:^(?:\\\\3)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[]},{\"begin\":\"(?:((?<!<)(?:<<-))(?:[ \\\\t]*+)([^\\\"' \\\\t]+)(?=\\\\s|;|&|<|\\\"|')(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"3\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.unquoted.heredoc.indent.$2\",\"end\":\"(?:(?:^\\\\t*)(?:\\\\2)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[{\"include\":\"#double_quote_escape_char\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\t]*+)([^\\\"' \\\\t]+)(?=\\\\s|;|&|<|\\\"|')(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"3\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.unquoted.heredoc.no-indent.$2\",\"end\":\"(?:^(?:\\\\2)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[{\"include\":\"#double_quote_escape_char\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]}]},\"herestring\":{\"patterns\":[{\"begin\":\"(<<<)\\\\s*(('))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.quoted.single.shell\"},\"3\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"contentName\":\"string.quoted.single.shell\",\"end\":\"(')\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.single.shell\"},\"1\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"meta.herestring.shell\"},{\"begin\":\"(<<<)\\\\s*((\\\"))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.quoted.double.shell\"},\"3\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"contentName\":\"string.quoted.double.shell\",\"end\":\"(\\\")\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.shell\"},\"1\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"meta.herestring.shell\",\"patterns\":[{\"include\":\"#double_quote_context\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.unquoted.herestring.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}},\"match\":\"(<<<)\\\\s*(([^\\\\s)\\\\\\\\]|\\\\\\\\.)+)\",\"name\":\"meta.herestring.shell\"}]},\"initial_context\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#logical_expression_single\"},{\"include\":\"#assignment_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#for_statement\"},{\"include\":\"#loop\"},{\"include\":\"#function_definition\"},{\"include\":\"#line_continuation\"},{\"include\":\"#arithmetic_double\"},{\"include\":\"#misc_ranges\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#alias_statement\"},{\"include\":\"#normal_statement\"},{\"include\":\"#string\"},{\"include\":\"#support\"}]},\"inline_comment\":{\"captures\":{\"1\":{\"name\":\"comment.block.shell punctuation.definition.comment.begin.shell\"},\"2\":{\"name\":\"comment.block.shell\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.shell punctuation.definition.comment.end.shell\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.shell\"}]}},\"match\":\"(\\\\/\\\\*)((?:(?:[^\\\\*]|(?:(?:\\\\*++)[^\\\\/]))*+)((?:(?:\\\\*++)\\\\/)))\"},\"interpolation\":{\"patterns\":[{\"include\":\"#arithmetic_dollar\"},{\"include\":\"#subshell_dollar\"},{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.evaluation.backticks.shell\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.evaluation.backticks.shell\"}},\"name\":\"string.interpolated.backtick.shell\",\"patterns\":[{\"match\":\"\\\\\\\\[`\\\\\\\\$]\",\"name\":\"constant.character.escape.shell\"},{\"begin\":\"(?<=\\\\W)(?=#)(?!#{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.shell\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.shell\"}},\"end\":\"(?=`)\",\"name\":\"comment.line.number-sign.shell\"}]},{\"include\":\"#initial_context\"}]}]},\"keyword\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\\\\s|;|&|$)\",\"name\":\"keyword.control.shell\"},{\"match\":\"(?<=^|;|&|\\\\s)(?:export|declare|typeset|local|readonly)(?=\\\\s|;|&|$)\",\"name\":\"storage.modifier.shell\"}]},\"line_comment\":{\"begin\":\"(?:\\\\s*+)(\\\\/\\\\/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.shell\"}},\"end\":\"(?<=\\\\n)(?<!\\\\\\\\\\\\n)\",\"endCaptures\":{},\"name\":\"comment.line.double-slash.shell\",\"patterns\":[{\"include\":\"#line_continuation_character\"}]},\"line_continuation\":{\"match\":\"\\\\\\\\(?=\\\\n)\",\"name\":\"constant.character.escape.line-continuation.shell\"},\"logical-expression\":{\"patterns\":[{\"include\":\"#arithmetic_no_dollar\"},{\"comment\":\"do we want a special rule for ( expr )?\",\"match\":\"=[=~]?|!=?|<|>|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.shell\"},{\"match\":\"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\\\\b\",\"name\":\"keyword.operator.logical.shell\"}]},\"logical_expression_context\":{\"patterns\":[{\"include\":\"#regex_comparison\"},{\"include\":\"#arithmetic_no_dollar\"},{\"include\":\"#logical-expression\"},{\"include\":\"#logical_expression_single\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#comment\"},{\"include\":\"#boolean\"},{\"include\":\"#redirect_number\"},{\"include\":\"#numeric_literal\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"}]},\"logical_expression_double\":{\"begin\":\"\\\\[\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical_expression_context\"}]},\"logical_expression_single\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical_expression_context\"}]},\"loop\":{\"patterns\":[{\"begin\":\"(?<=^|;|&|\\\\s)(for)\\\\s+(.+?)\\\\s+(in)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"},\"2\":{\"name\":\"variable.other.loop.shell\",\"patterns\":[{\"include\":\"#string\"}]},\"3\":{\"name\":\"keyword.control.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.for-in-loop.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)(while|until)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.while-loop.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)(select)\\\\s+((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)+)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"},\"2\":{\"name\":\"variable.other.loop.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)(done)(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.select-block.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)if(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.if.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)fi(?=\\\\s|;|&|$)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.fi.shell\"}},\"name\":\"meta.scope.if-block.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"math\":{\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"\\\\+{1,2}|-{1,2}|!|~|\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\|{1,2}|&{1,2}|\\\\?|:|,|=|[*/%+\\\\-&^|]=|<<=|>>=\",\"name\":\"keyword.operator.arithmetic.shell\"},{\"match\":\"0[xX][0-9A-Fa-f]+\",\"name\":\"constant.numeric.hex.shell\"},{\"match\":\";\",\"name\":\"punctuation.separator.semicolon.range\"},{\"match\":\"0\\\\d+\",\"name\":\"constant.numeric.octal.shell\"},{\"match\":\"\\\\d{1,2}#[0-9a-zA-Z@_]+\",\"name\":\"constant.numeric.other.shell\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.shell\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"}]},\"math_operators\":{\"patterns\":[{\"match\":\"\\\\+{1,2}|-{1,2}|!|~|\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\|{1,2}|&{1,2}|\\\\?|:|,|=|[*/%+\\\\-&^|]=|<<=|>>=\",\"name\":\"keyword.operator.arithmetic.shell\"},{\"match\":\"0[xX][0-9A-Fa-f]+\",\"name\":\"constant.numeric.hex.shell\"},{\"match\":\"0\\\\d+\",\"name\":\"constant.numeric.octal.shell\"},{\"match\":\"\\\\d{1,2}#[0-9a-zA-Z@_]+\",\"name\":\"constant.numeric.other.shell\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.shell\"}]},\"misc_ranges\":{\"patterns\":[{\"include\":\"#logical_expression_single\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#subshell_dollar\"},{\"begin\":\"(?<![^ \\\\t])({)(?!\\\\w|\\\\$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell\"}},\"name\":\"meta.scope.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"modified_assignment_statement\":{\"begin\":\"(?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.$0.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.shell meta.expression.assignment.modified.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)-\\\\w+\\\\b\",\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"},{\"include\":\"#array_value\"},{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"9\":{\"name\":\"constant.numeric.shell constant.numeric.hex.shell\"},\"10\":{\"name\":\"constant.numeric.shell constant.numeric.octal.shell\"},\"11\":{\"name\":\"constant.numeric.shell constant.numeric.other.shell\"},\"12\":{\"name\":\"constant.numeric.shell constant.numeric.decimal.shell\"},\"13\":{\"name\":\"constant.numeric.shell constant.numeric.version.shell\"},\"14\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"}},\"match\":\"(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?)(?:(?:(?:(=)|(\\\\+=))|(-=))?)(?:(?:(?<==| |\\\\t|^|\\\\{|\\\\(|\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\d+))|(\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\d+(?:\\\\.\\\\d+)))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?= |\\\\t|$|\\\\}|\\\\)|;))?))\"},{\"include\":\"#normal_context\"}]},\"modifiers\":{\"match\":\"(?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$)\",\"name\":\"storage.modifier.$0.shell\"},\"normal_assignment_statement\":{\"begin\":\"(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(=)|(\\\\+=))|(-=))\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.expression.assignment.shell\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#normal_assignment_statement\"},{\"begin\":\"(?<= |\\\\t)(?! |\\\\t|\\\\w+=)\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.command.env.shell\",\"patterns\":[{\"include\":\"#command_name_range\"},{\"include\":\"#line_continuation\"},{\"include\":\"#option\"},{\"include\":\"#argument\"},{\"include\":\"#string\"}]},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"}]},\"normal_context\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#misc_ranges\"},{\"include\":\"#boolean\"},{\"include\":\"#redirect_number\"},{\"include\":\"#numeric_literal\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"},{\"include\":\"#parenthese\"}]},\"normal_statement\":{\"begin\":\"(?:(?!^[ \\\\t]*+$)(?:(?<=^until | until |\\\\tuntil |^while | while |\\\\twhile |^elif | elif |\\\\telif |^else | else |\\\\telse |^then | then |\\\\tthen |^do | do |\\\\tdo |^if | if |\\\\tif )|(?<=(?:^|;|\\\\||&|!|\\\\(|\\\\{|\\\\`)))(?:[ \\\\t]*+)(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$))\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.shell\",\"patterns\":[{\"include\":\"#typical_statements\"}]},\"normal_statement_seperator\":{\"captures\":{\"1\":{\"name\":\"punctuation.terminator.statement.semicolon.shell\"},\"2\":{\"name\":\"punctuation.separator.statement.and.shell\"},\"3\":{\"name\":\"punctuation.separator.statement.or.shell\"},\"4\":{\"name\":\"punctuation.separator.statement.background.shell\"}},\"match\":\"(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))\"},\"numeric_literal\":{\"captures\":{\"1\":{\"name\":\"constant.numeric.shell constant.numeric.hex.shell\"},\"2\":{\"name\":\"constant.numeric.shell constant.numeric.octal.shell\"},\"3\":{\"name\":\"constant.numeric.shell constant.numeric.other.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.decimal.shell\"},\"5\":{\"name\":\"constant.numeric.shell constant.numeric.version.shell\"},\"6\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"}},\"match\":\"(?<==| |\\\\t|^|\\\\{|\\\\(|\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\d+))|(\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\d+(?:\\\\.\\\\d+)))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?= |\\\\t|$|\\\\}|\\\\)|;)\"},\"option\":{\"begin\":\"(?:(?:[ \\\\t]++)(-)((?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))))\",\"beginCaptures\":{\"1\":{\"name\":\"string.unquoted.argument.shell constant.other.option.dash.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}},\"contentName\":\"string.unquoted.argument constant.other.option\",\"end\":\"(?:(?=[ \\\\t])|(?:(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)))\",\"endCaptures\":{},\"patterns\":[{\"include\":\"#option_context\"}]},\"option_context\":{\"patterns\":[{\"include\":\"#misc_ranges\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"}]},\"parenthese\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parenthese.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parenthese.shell\"}},\"name\":\"meta.parenthese.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"pathname\":{\"patterns\":[{\"match\":\"(?<=\\\\s|:|=|^)~\",\"name\":\"keyword.operator.tilde.shell\"},{\"match\":\"\\\\*|\\\\?\",\"name\":\"keyword.operator.glob.shell\"},{\"begin\":\"([?*+@!])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.extglob.shell\"},\"2\":{\"name\":\"punctuation.definition.extglob.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.extglob.shell\"}},\"name\":\"meta.structure.extglob.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"pipeline\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(time)(?=\\\\s|;|&|$)\",\"name\":\"keyword.other.shell\"},{\"match\":\"[|!]\",\"name\":\"keyword.operator.pipe.shell\"}]},\"redirect_fix\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.redirect.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell\"}},\"match\":\"(?:(>>?)(?:[ \\\\t]*+)([^ \\\\t\\\\n>&;<>()$`\\\\\\\\\\\"'<\\\\|]+))\"},\"redirect_number\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.redirect.stdout.shell\"},\"2\":{\"name\":\"keyword.operator.redirect.stderr.shell\"},\"3\":{\"name\":\"keyword.operator.redirect.$3.shell\"}},\"match\":\"(?<=[ \\\\t])(?:(?:(1)|(2)|(\\\\d+))(?=>))\"},\"redirection\":{\"patterns\":[{\"begin\":\"[><]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.interpolated.process-substitution.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"match\":\"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|>|<)|\\\\d*<&|\\\\d*<>)(?![<>])\",\"name\":\"keyword.operator.redirect.shell\"}]},\"regex_comparison\":{\"match\":\"=~\",\"name\":\"keyword.operator.logical.regex.shell\"},\"regexp\":{\"patterns\":[{\"match\":\"(?:.+)\"}]},\"simple_options\":{\"captures\":{\"0\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"string.unquoted.argument.shell constant.other.option.dash.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}},\"match\":\"(?:[ \\\\t]++)(-)(\\\\w+)\"}]}},\"match\":\"(?:(?:[ \\\\t]++)-(?:\\\\w+))*\"},\"simple_unquoted\":{\"match\":\"[^ \\\\t\\\\n>&;<>()$`\\\\\\\\\\\"'<\\\\|]\",\"name\":\"string.unquoted.shell\"},\"special_expansion\":{\"match\":\"!|:[-=?]?|\\\\*|@|##|#|%%|%|\\\\/\",\"name\":\"keyword.operator.expansion.shell\"},\"start_of_command\":{\"match\":\"(?:(?:[ \\\\t]*+)(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\\\\\\\n?$)))\"},\"string\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.single.shell\"},{\"begin\":\"\\\\$?\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.double.shell\",\"patterns\":[{\"match\":\"\\\\\\\\[$\\\\n`\\\"\\\\\\\\]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"\\\\$'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.single.dollar.shell\",\"patterns\":[{\"match\":\"\\\\\\\\(?:a|b|e|f|n|r|t|v|\\\\\\\\|')\",\"name\":\"constant.character.escape.ansi-c.shell\"},{\"match\":\"\\\\\\\\\\\\d{3}\\\"\",\"name\":\"constant.character.escape.octal.shell\"},{\"match\":\"\\\\\\\\x[0-9a-fA-F]{2}\\\"\",\"name\":\"constant.character.escape.hex.shell\"},{\"match\":\"\\\\\\\\c.\\\"\",\"name\":\"constant.character.escape.control-char.shell\"}]}]},\"subshell_dollar\":{\"patterns\":[{\"begin\":\"(?:\\\\$\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.subshell.single.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.subshell.single.shell\"}},\"name\":\"meta.scope.subshell\",\"patterns\":[{\"include\":\"#parenthese\"},{\"include\":\"#initial_context\"}]}]},\"support\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(?::|\\\\.)(?=\\\\s|;|&|$)\",\"name\":\"support.function.builtin.shell\"}]},\"typical_statements\":{\"patterns\":[{\"include\":\"#assignment_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#for_statement\"},{\"include\":\"#while_statement\"},{\"include\":\"#function_definition\"},{\"include\":\"#command_statement\"},{\"include\":\"#line_continuation\"},{\"include\":\"#arithmetic_double\"},{\"include\":\"#normal_context\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\"},\"2\":{\"name\":\"variable.parameter.positional.all.shell\"}},\"match\":\"(?:(\\\\$)(\\\\@(?!\\\\w)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.shell\"},\"2\":{\"name\":\"variable.parameter.positional.shell\"}},\"match\":\"(?:(\\\\$)(\\\\d(?!\\\\w)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.language.special.shell\"},\"2\":{\"name\":\"variable.language.special.shell\"}},\"match\":\"(?:(\\\\$)([-*#?$!0_](?!\\\\w)))\"},{\"begin\":\"(?:(\\\\$)(\\\\{)(?:[ \\\\t]*+)(?=\\\\d))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.shell\"},\"2\":{\"name\":\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"}},\"contentName\":\"meta.parameter-expansion\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"}},\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#array_access_inline\"},{\"match\":\"\\\\d+\",\"name\":\"variable.parameter.positional.shell\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"},{\"include\":\"#variable\"},{\"include\":\"#string\"}]},{\"begin\":\"(?:(\\\\$)(\\\\{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell\"},\"2\":{\"name\":\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\"}},\"contentName\":\"meta.parameter-expansion\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\"}},\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#array_access_inline\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"},{\"include\":\"#variable\"},{\"include\":\"#string\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.other.normal.shell\"},\"2\":{\"name\":\"variable.other.normal.shell\"}},\"match\":\"(?:(\\\\$)((?:\\\\w+)(?!\\\\w)))\"}]},\"while_statement\":{\"patterns\":[{\"begin\":\"(\\\\bwhile\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.while.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.while.shell\",\"patterns\":[{\"include\":\"#line_continuation\"},{\"include\":\"#math_operators\"},{\"include\":\"#option\"},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"},{\"include\":\"#string\"}]}]}},\"scopeName\":\"source.shell\",\"aliases\":[\"bash\",\"sh\",\"shell\",\"zsh\"]}"))
|
|
1
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Shell\",\"name\":\"shellscript\",\"patterns\":[{\"include\":\"#initial_context\"}],\"repository\":{\"alias_statement\":{\"begin\":\"(?:(?:[ \\\\t]*+)(alias)(?:[ \\\\t]*+)((?:(?:((?<!\\\\w)-\\\\w+\\\\b)(?:[ \\\\t]*+))*))(?:(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.alias.shell\"},\"2\":{\"patterns\":[{\"match\":\"(?<!\\\\w)-\\\\w+\\\\b\",\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}]},\"3\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"},\"4\":{\"name\":\"variable.other.assignment.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"variable.other.assignment.shell\"},\"7\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"8\":{\"name\":\"punctuation.definition.array.access.shell\"},\"9\":{\"name\":\"keyword.operator.assignment.shell\"},\"10\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"11\":{\"name\":\"keyword.operator.assignment.compound.shell\"}},\"end\":\"(?:(?= |\\\\t|$)|(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&)))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.semicolon.shell\"},\"2\":{\"name\":\"punctuation.separator.statement.and.shell\"},\"3\":{\"name\":\"punctuation.separator.statement.or.shell\"},\"4\":{\"name\":\"punctuation.separator.statement.background.shell\"}},\"name\":\"meta.expression.assignment.alias.shell\",\"patterns\":[{\"include\":\"#normal_context\"}]},\"argument\":{\"begin\":\"(?:[ \\\\t]++)(?!(?:&|\\\\||\\\\(|\\\\[|#|\\\\n|$|;))\",\"beginCaptures\":{},\"end\":\"(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)\",\"endCaptures\":{},\"name\":\"meta.argument.shell\",\"patterns\":[{\"include\":\"#argument_context\"},{\"include\":\"#line_continuation\"}]},\"argument_context\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"string.unquoted.argument.shell\",\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"variable.language.special.wildcard.shell\"},{\"include\":\"#variable\"},{\"include\":\"#numeric_literal\"},{\"captures\":{\"1\":{\"name\":\"constant.language.$1.shell\"}},\"match\":\"(?<!\\\\w)(\\\\b(?:true|false)\\\\b)(?!\\\\w)\"}]}},\"match\":\"(?:[ \\\\t]*+)((?:[^ \\t\\n>&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"'<\\\\|]+)(?!>))\"},{\"include\":\"#normal_context\"}]},\"arithmetic_double\":{\"patterns\":[{\"begin\":\"\\\\(\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.double.shell\"}},\"end\":\"\\\\)(?:\\\\s*)\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.double.shell\"}},\"name\":\"meta.arithmetic.shell\",\"patterns\":[{\"include\":\"#math\"},{\"include\":\"#string\"}]}]},\"arithmetic_no_dollar\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.single.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arithmetic.single.shell\"}},\"name\":\"meta.arithmetic.shell\",\"patterns\":[{\"include\":\"#math\"},{\"include\":\"#string\"}]}]},\"array_access_inline\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.array.shell\"},\"2\":{\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#string\"},{\"include\":\"#variable\"}]},\"3\":{\"name\":\"punctuation.section.array.shell\"}},\"match\":\"(?:(\\\\[)([^\\\\[\\\\]]+)(\\\\]))\"},\"array_value\":{\"begin\":\"(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))(?:[ \\\\t]*+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"9\":{\"name\":\"punctuation.definition.array.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.array.shell\"}},\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.array.shell entity.other.attribute-name.shell\"},\"2\":{\"name\":\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\"}},\"match\":\"(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(\\\\=))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.bracket.named-array.shell\"},\"2\":{\"name\":\"string.unquoted.shell entity.other.attribute-name.bracket.shell\"},\"3\":{\"name\":\"punctuation.definition.bracket.named-array.shell\"},\"4\":{\"name\":\"punctuation.definition.assignment.shell\"}},\"match\":\"(?:(\\\\[)(.+?)(\\\\])(\\\\=))\"},{\"include\":\"#normal_context\"},{\"include\":\"#simple_unquoted\"}]},\"assignment_statement\":{\"patterns\":[{\"include\":\"#array_value\"},{\"include\":\"#modified_assignment_statement\"},{\"include\":\"#normal_assignment_statement\"}]},\"basic_command_name\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.$1.shell\"},\"2\":{\"name\":\"entity.name.function.call.shell entity.name.command.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)\",\"name\":\"keyword.control.$0.shell\"},{\"match\":\"(?<!\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/))(?!\\\\w)(?!-)\",\"name\":\"support.function.builtin.shell\"},{\"include\":\"#variable\"}]}},\"match\":\"(?:(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$))(?:((?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$))|((?!\\\"|'|\\\\\\\\\\\\n?$)(?:[^!'\\\"<> \\\\t\\\\n\\\\r]+?)))(?:(?= |\\\\t)|(?:(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\))))\",\"name\":\"meta.statement.command.name.basic.shell\"},\"block_comment\":{\"begin\":\"(?:(?:\\\\s*+)(\\\\/\\\\*))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.begin.shell\"}},\"end\":\"\\\\*\\\\/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.shell\"}},\"name\":\"comment.block.shell\"},\"boolean\":{\"match\":\"\\\\b(?:true|false)\\\\b\",\"name\":\"constant.language.$0.shell\"},\"case_statement\":{\"begin\":\"(?:(\\\\bcase\\\\b)(?:[ \\\\t]*+)(.+?)(?:[ \\\\t]*+)(\\\\bin\\\\b))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.shell\"},\"2\":{\"patterns\":[{\"include\":\"#initial_context\"}]},\"3\":{\"name\":\"keyword.control.in.shell\"}},\"end\":\"\\\\besac\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.esac.shell\"}},\"name\":\"meta.case.shell\",\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.pattern.case.default.shell\"}},\"match\":\"(?:[ \\\\t]*+)(\\\\* *\\\\))\"},{\"begin\":\"(?<!\\\\))(?!(?:[ \\\\t]*+)(?:esac\\\\b|$))\",\"beginCaptures\":{},\"end\":\"(?:(?=\\\\besac\\\\b)|(\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.pattern.case.shell\"}},\"name\":\"meta.case.entry.pattern.shell\",\"patterns\":[{\"include\":\"#case_statement_context\"}]},{\"begin\":\"(?<=\\\\))\",\"beginCaptures\":{},\"end\":\"(?:(;;)|(?=\\\\besac\\\\b))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.case.shell\"}},\"name\":\"meta.case.entry.body.shell\",\"patterns\":[{\"include\":\"#typical_statements\"},{\"include\":\"#initial_context\"}]}]},\"case_statement_context\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"\\\\+\",\"name\":\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"\\\\?\",\"name\":\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\"},{\"match\":\"@\",\"name\":\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\"},{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"},{\"match\":\"(?<=\\\\tin| in| |\\\\t|;;)\\\\(\",\"name\":\"keyword.operator.pattern.case.shell\"},{\"begin\":\"(?<=\\\\S)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\"}},\"name\":\"meta.parenthese.shell\",\"patterns\":[{\"include\":\"#case_statement_context\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.character-class.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.character-class.shell\"}},\"name\":\"string.regexp.character-class.shell\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"}]},{\"include\":\"#string\"},{\"match\":\"[^) \\\\t\\\\n\\\\[\\\\?\\\\*\\\\|\\\\@]\",\"name\":\"string.unquoted.pattern.shell string.regexp.unquoted.shell\"}]},\"command_name_range\":{\"begin\":\"\\\\G\",\"beginCaptures\":{},\"end\":\"(?:(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)|(?=<))\",\"endCaptures\":{},\"name\":\"meta.statement.command.name.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)\",\"name\":\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\"},{\"match\":\"(?<!\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/))(?!\\\\w)(?!-)\",\"name\":\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\"},{\"include\":\"#variable\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.call.shell entity.name.command.shell\"}},\"match\":\"(?:(?<!\\\\w)(?<=\\\\G|'|\\\"|\\\\}|\\\\))([^ \\\\n\\\\t\\\\r\\\"'=;&\\\\|`\\\\)\\\\{<>]+))\"},{\"begin\":\"(?:(?:\\\\G|(?<! |\\\\t|;|\\\\||&|\\\\n|\\\\{|#))(?:(\\\\$?)((?:(\\\")|(')))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\"},\"2\":{},\"3\":{\"name\":\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\"},\"4\":{\"name\":\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\"}},\"end\":\"(?<!\\\\G)(?<=(?:\\\\2))\",\"endCaptures\":{},\"patterns\":[{\"include\":\"#continuation_of_single_quoted_command_name\"},{\"include\":\"#continuation_of_double_quoted_command_name\"}]},{\"include\":\"#line_continuation\"},{\"include\":\"#simple_unquoted\"}]},\"command_statement\":{\"begin\":\"(?:(?:[ \\\\t]*+)(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\\\\\\\n?$)))\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.command.shell\",\"patterns\":[{\"include\":\"#command_name_range\"},{\"include\":\"#line_continuation\"},{\"include\":\"#option\"},{\"include\":\"#argument\"},{\"include\":\"#string\"},{\"include\":\"#heredoc\"}]},\"comment\":{\"captures\":{\"1\":{\"name\":\"comment.line.number-sign.shell meta.shebang.shell\"},\"2\":{\"name\":\"punctuation.definition.comment.shebang.shell\"},\"3\":{\"name\":\"comment.line.number-sign.shell\"},\"4\":{\"name\":\"punctuation.definition.comment.shell\"}},\"match\":\"(?:(?:^|(?:[ \\\\t]++))(?:((?:(#!)(?:.*)))|((?:(#)(?:.*)))))\"},\"comments\":{\"patterns\":[{\"include\":\"#block_comment\"},{\"include\":\"#line_comment\"}]},\"compound-command\":{\"patterns\":[{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical-expression\"},{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=\\\\s|^){(?=\\\\s|$)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell\"}},\"end\":\"(?<=^|;)\\\\s*(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell\"}},\"name\":\"meta.scope.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"continuation_of_double_quoted_command_name\":{\"begin\":\"(?:\\\\G(?<=\\\"))\",\"beginCaptures\":{},\"contentName\":\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\"}},\"patterns\":[{\"match\":\"\\\\\\\\[\\\\$\\\\n`\\\"\\\\\\\\]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},\"continuation_of_single_quoted_command_name\":{\"begin\":\"(?:\\\\G(?<='))\",\"beginCaptures\":{},\"contentName\":\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\"}}},\"custom_command_names\":{\"patterns\":[]},\"custom_commands\":{\"patterns\":[]},\"double_quote_context\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\\$`\\\"\\\\\\\\\\\\n]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},\"double_quote_escape_char\":{\"match\":\"\\\\\\\\[\\\\$`\\\"\\\\\\\\\\\\n]\",\"name\":\"constant.character.escape.shell\"},\"floating_keyword\":{\"patterns\":[{\"match\":\"(?<=^|;|&| |\\\\t)(?:then|elif|else|done|end|do|if|fi)(?= |\\\\t|;|&|$)\",\"name\":\"keyword.control.$0.shell\"}]},\"for_statement\":{\"patterns\":[{\"begin\":\"(?:(\\\\bfor\\\\b)(?:(?:[ \\\\t]*+)((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:[ \\\\t]*+)(\\\\bin\\\\b)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.shell\"},\"2\":{\"name\":\"variable.other.for.shell\"},\"3\":{\"name\":\"keyword.control.in.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.for.in.shell\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"}]},{\"begin\":\"(\\\\bfor\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.for.shell\",\"patterns\":[{\"include\":\"#arithmetic_double\"},{\"include\":\"#normal_context\"}]}]},\"function_definition\":{\"applyEndPatternLast\":1,\"begin\":\"(?:[ \\\\t]*+)(?:(?:(\\\\bfunction\\\\b)(?:[ \\\\t]*+)([^ \\\\t\\\\n\\\\r\\\\(\\\\)=\\\"']+)(?:(?:(\\\\()(?:[ \\\\t]*+)(\\\\)))?))|(?:([^ \\\\t\\\\n\\\\r\\\\(\\\\)=\\\"']+)(?:[ \\\\t]*+)(\\\\()(?:[ \\\\t]*+)(\\\\))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.shell\"},\"2\":{\"name\":\"entity.name.function.shell\"},\"3\":{\"name\":\"punctuation.definition.arguments.shell\"},\"4\":{\"name\":\"punctuation.definition.arguments.shell\"},\"5\":{\"name\":\"entity.name.function.shell\"},\"6\":{\"name\":\"punctuation.definition.arguments.shell\"},\"7\":{\"name\":\"punctuation.definition.arguments.shell\"}},\"end\":\"(?<=\\\\}|\\\\))\",\"endCaptures\":{},\"name\":\"meta.function.shell\",\"patterns\":[{\"match\":\"(?:\\\\G(?:\\\\t| |\\\\n))\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"name\":\"meta.function.body.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell punctuation.section.function.definition.shell\"}},\"name\":\"meta.function.body.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"include\":\"#initial_context\"}]},\"heredoc\":{\"patterns\":[{\"begin\":\"(?:((?<!<)(?:<<-))(?:[ \\\\t]*+)(\\\"|')(?:[ \\\\t]*+)([^\\\"']+?)(?=\\\\s|;|&|<|\\\"|')((?:\\\\2))(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"3\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"4\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"5\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.quoted.heredoc.indent.$3\",\"end\":\"(?:(?:^\\\\t*)(?:\\\\3)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.$0.shell\"}},\"patterns\":[]},{\"begin\":\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\t]*+)(\\\"|')(?:[ \\\\t]*+)([^\\\"']+?)(?=\\\\s|;|&|<|\\\"|')((?:\\\\2))(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"3\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"4\":{\"name\":\"punctuation.definition.string.heredoc.quote.shell\"},\"5\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.quoted.heredoc.no-indent.$3\",\"end\":\"(?:^(?:\\\\3)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[]},{\"begin\":\"(?:((?<!<)(?:<<-))(?:[ \\\\t]*+)([^\\\"' \\\\t]+)(?=\\\\s|;|&|<|\\\"|')(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"3\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.unquoted.heredoc.indent.$2\",\"end\":\"(?:(?:^\\\\t*)(?:\\\\2)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[{\"include\":\"#double_quote_escape_char\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\t]*+)([^\\\"' \\\\t]+)(?=\\\\s|;|&|<|\\\"|')(.*))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.shell\"},\"2\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"},\"3\":{\"patterns\":[{\"include\":\"#redirect_fix\"},{\"include\":\"#typical_statements\"}]}},\"contentName\":\"string.unquoted.heredoc.no-indent.$2\",\"end\":\"(?:^(?:\\\\2)(?=\\\\s|;|&|$))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.heredoc.delimiter.shell\"}},\"patterns\":[{\"include\":\"#double_quote_escape_char\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]}]},\"herestring\":{\"patterns\":[{\"begin\":\"(<<<)\\\\s*(('))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.quoted.single.shell\"},\"3\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"contentName\":\"string.quoted.single.shell\",\"end\":\"(')\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.single.shell\"},\"1\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"meta.herestring.shell\"},{\"begin\":\"(<<<)\\\\s*((\\\"))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.quoted.double.shell\"},\"3\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"contentName\":\"string.quoted.double.shell\",\"end\":\"(\\\")\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.shell\"},\"1\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"meta.herestring.shell\",\"patterns\":[{\"include\":\"#double_quote_context\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.herestring.shell\"},\"2\":{\"name\":\"string.unquoted.herestring.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}},\"match\":\"(<<<)\\\\s*(([^\\\\s)\\\\\\\\]|\\\\\\\\.)+)\",\"name\":\"meta.herestring.shell\"}]},\"initial_context\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#logical_expression_single\"},{\"include\":\"#assignment_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#for_statement\"},{\"include\":\"#loop\"},{\"include\":\"#function_definition\"},{\"include\":\"#line_continuation\"},{\"include\":\"#arithmetic_double\"},{\"include\":\"#misc_ranges\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#alias_statement\"},{\"include\":\"#normal_statement\"},{\"include\":\"#string\"},{\"include\":\"#support\"}]},\"inline_comment\":{\"captures\":{\"1\":{\"name\":\"comment.block.shell punctuation.definition.comment.begin.shell\"},\"2\":{\"name\":\"comment.block.shell\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.shell punctuation.definition.comment.end.shell\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.shell\"}]}},\"match\":\"(\\\\/\\\\*)((?:(?:[^\\\\*]|(?:(?:\\\\*++)[^\\\\/]))*+)((?:(?:\\\\*++)\\\\/)))\"},\"interpolation\":{\"patterns\":[{\"include\":\"#arithmetic_dollar\"},{\"include\":\"#subshell_dollar\"},{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.evaluation.backticks.shell\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.evaluation.backticks.shell\"}},\"name\":\"string.interpolated.backtick.shell\",\"patterns\":[{\"match\":\"\\\\\\\\[`\\\\\\\\$]\",\"name\":\"constant.character.escape.shell\"},{\"begin\":\"(?<=\\\\W)(?=#)(?!#{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.shell\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.shell\"}},\"end\":\"(?=`)\",\"name\":\"comment.line.number-sign.shell\"}]},{\"include\":\"#initial_context\"}]}]},\"keyword\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\\\\s|;|&|$)\",\"name\":\"keyword.control.shell\"},{\"match\":\"(?<=^|;|&|\\\\s)(?:export|declare|typeset|local|readonly)(?=\\\\s|;|&|$)\",\"name\":\"storage.modifier.shell\"}]},\"line_comment\":{\"begin\":\"(?:\\\\s*+)(\\\\/\\\\/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.shell\"}},\"end\":\"(?<=\\\\n)(?<!\\\\\\\\\\\\n)\",\"endCaptures\":{},\"name\":\"comment.line.double-slash.shell\",\"patterns\":[{\"include\":\"#line_continuation_character\"}]},\"line_continuation\":{\"match\":\"\\\\\\\\(?=\\\\n)\",\"name\":\"constant.character.escape.line-continuation.shell\"},\"logical-expression\":{\"patterns\":[{\"include\":\"#arithmetic_no_dollar\"},{\"comment\":\"do we want a special rule for ( expr )?\",\"match\":\"=[=~]?|!=?|<|>|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.shell\"},{\"match\":\"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\\\\b\",\"name\":\"keyword.operator.logical.shell\"}]},\"logical_expression_context\":{\"patterns\":[{\"include\":\"#regex_comparison\"},{\"include\":\"#arithmetic_no_dollar\"},{\"include\":\"#logical-expression\"},{\"include\":\"#logical_expression_single\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#comment\"},{\"include\":\"#boolean\"},{\"include\":\"#redirect_number\"},{\"include\":\"#numeric_literal\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"}]},\"logical_expression_double\":{\"begin\":\"\\\\[\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical_expression_context\"}]},\"logical_expression_single\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.logical-expression.shell\"}},\"name\":\"meta.scope.logical-expression.shell\",\"patterns\":[{\"include\":\"#logical_expression_context\"}]},\"loop\":{\"patterns\":[{\"begin\":\"(?<=^|;|&|\\\\s)(for)\\\\s+(.+?)\\\\s+(in)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"},\"2\":{\"name\":\"variable.other.loop.shell\",\"patterns\":[{\"include\":\"#string\"}]},\"3\":{\"name\":\"keyword.control.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.for-in-loop.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)(while|until)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.while-loop.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)(select)\\\\s+((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)+)(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"},\"2\":{\"name\":\"variable.other.loop.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)(done)(?=\\\\s|;|&|$|\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.shell\"}},\"name\":\"meta.scope.select-block.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"begin\":\"(?<=^|;|&|\\\\s)if(?=\\\\s|;|&|$)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.if.shell\"}},\"end\":\"(?<=^|;|&|\\\\s)fi(?=\\\\s|;|&|$)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.fi.shell\"}},\"name\":\"meta.scope.if-block.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"math\":{\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"\\\\+{1,2}|-{1,2}|!|~|\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\|{1,2}|&{1,2}|\\\\?|\\\\:|,|=|[*/%+\\\\-&^|]=|<<=|>>=\",\"name\":\"keyword.operator.arithmetic.shell\"},{\"match\":\"0[xX][0-9A-Fa-f]+\",\"name\":\"constant.numeric.hex.shell\"},{\"match\":\";\",\"name\":\"punctuation.separator.semicolon.range\"},{\"match\":\"0\\\\d+\",\"name\":\"constant.numeric.octal.shell\"},{\"match\":\"\\\\d{1,2}#[0-9a-zA-Z@_]+\",\"name\":\"constant.numeric.other.shell\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.shell\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"}]},\"math_operators\":{\"patterns\":[{\"match\":\"\\\\+{1,2}|-{1,2}|!|~|\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\|{1,2}|&{1,2}|\\\\?|\\\\:|,|=|[*/%+\\\\-&^|]=|<<=|>>=\",\"name\":\"keyword.operator.arithmetic.shell\"},{\"match\":\"0[xX][0-9A-Fa-f]+\",\"name\":\"constant.numeric.hex.shell\"},{\"match\":\"0\\\\d+\",\"name\":\"constant.numeric.octal.shell\"},{\"match\":\"\\\\d{1,2}#[0-9a-zA-Z@_]+\",\"name\":\"constant.numeric.other.shell\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.shell\"}]},\"misc_ranges\":{\"patterns\":[{\"include\":\"#logical_expression_single\"},{\"include\":\"#logical_expression_double\"},{\"include\":\"#subshell_dollar\"},{\"begin\":\"(?<![^ \\\\t])({)(?!\\\\w|\\\\$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.shell\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.shell\"}},\"name\":\"meta.scope.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"modified_assignment_statement\":{\"begin\":\"(?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.$0.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.shell meta.expression.assignment.modified.shell\",\"patterns\":[{\"match\":\"(?<!\\\\w)-\\\\w+\\\\b\",\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"},{\"include\":\"#array_value\"},{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"9\":{\"name\":\"constant.numeric.shell constant.numeric.hex.shell\"},\"10\":{\"name\":\"constant.numeric.shell constant.numeric.octal.shell\"},\"11\":{\"name\":\"constant.numeric.shell constant.numeric.other.shell\"},\"12\":{\"name\":\"constant.numeric.shell constant.numeric.decimal.shell\"},\"13\":{\"name\":\"constant.numeric.shell constant.numeric.version.shell\"},\"14\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"}},\"match\":\"(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?)(?:(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))?)(?:(?:(?<==| |\\\\t|^|\\\\{|\\\\(|\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\d+))|(\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\d+(?:\\\\.\\\\d+)))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?= |\\\\t|$|\\\\}|\\\\)|;))?))\"},{\"include\":\"#normal_context\"}]},\"modifiers\":{\"match\":\"(?<=^|;|&|[ \\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\t]|;|&|$)\",\"name\":\"storage.modifier.$0.shell\"},\"normal_assignment_statement\":{\"begin\":\"(?:[ \\\\t]*+)(?:((?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))(?:(?:(\\\\[)((?:(?:(?:(?:\\\\$?)(?:(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w))|@)|\\\\*)|(-?\\\\d+)))(\\\\]))?))(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.shell\"},\"2\":{\"name\":\"punctuation.definition.array.access.shell\"},\"3\":{\"name\":\"variable.other.assignment.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"},\"5\":{\"name\":\"punctuation.definition.array.access.shell\"},\"6\":{\"name\":\"keyword.operator.assignment.shell\"},\"7\":{\"name\":\"keyword.operator.assignment.compound.shell\"},\"8\":{\"name\":\"keyword.operator.assignment.compound.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.expression.assignment.shell\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#normal_assignment_statement\"},{\"begin\":\"(?<= |\\\\t)(?! |\\\\t|\\\\w+=)\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.command.env.shell\",\"patterns\":[{\"include\":\"#command_name_range\"},{\"include\":\"#line_continuation\"},{\"include\":\"#option\"},{\"include\":\"#argument\"},{\"include\":\"#string\"}]},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"}]},\"normal_context\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pipeline\"},{\"include\":\"#normal_statement_seperator\"},{\"include\":\"#misc_ranges\"},{\"include\":\"#boolean\"},{\"include\":\"#redirect_number\"},{\"include\":\"#numeric_literal\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"},{\"include\":\"#parenthese\"}]},\"normal_statement\":{\"begin\":\"(?:(?!^[ \\\\t]*+$)(?:(?<=^until | until |\\\\tuntil |^while | while |\\\\twhile |^elif | elif |\\\\telif |^else | else |\\\\telse |^then | then |\\\\tthen |^do | do |\\\\tdo |^if | if |\\\\tif )|(?<=(?:^|;|\\\\||&|!|\\\\(|\\\\{|\\\\`)))(?:[ \\\\t]*+)(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$))\",\"beginCaptures\":{},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.statement.shell\",\"patterns\":[{\"include\":\"#typical_statements\"}]},\"normal_statement_seperator\":{\"captures\":{\"1\":{\"name\":\"punctuation.terminator.statement.semicolon.shell\"},\"2\":{\"name\":\"punctuation.separator.statement.and.shell\"},\"3\":{\"name\":\"punctuation.separator.statement.or.shell\"},\"4\":{\"name\":\"punctuation.separator.statement.background.shell\"}},\"match\":\"(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))\"},\"numeric_literal\":{\"captures\":{\"1\":{\"name\":\"constant.numeric.shell constant.numeric.hex.shell\"},\"2\":{\"name\":\"constant.numeric.shell constant.numeric.octal.shell\"},\"3\":{\"name\":\"constant.numeric.shell constant.numeric.other.shell\"},\"4\":{\"name\":\"constant.numeric.shell constant.numeric.decimal.shell\"},\"5\":{\"name\":\"constant.numeric.shell constant.numeric.version.shell\"},\"6\":{\"name\":\"constant.numeric.shell constant.numeric.integer.shell\"}},\"match\":\"(?<==| |\\\\t|^|\\\\{|\\\\(|\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\d+))|(\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\d+(?:\\\\.\\\\d+)))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?= |\\\\t|$|\\\\}|\\\\)|;)\"},\"option\":{\"begin\":\"(?:(?:[ \\\\t]++)(-)((?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))))\",\"beginCaptures\":{\"1\":{\"name\":\"string.unquoted.argument.shell constant.other.option.dash.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}},\"contentName\":\"string.unquoted.argument constant.other.option\",\"end\":\"(?:(?=[ \\\\t])|(?:(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)))\",\"endCaptures\":{},\"patterns\":[{\"include\":\"#option_context\"}]},\"option_context\":{\"patterns\":[{\"include\":\"#misc_ranges\"},{\"include\":\"#string\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"},{\"include\":\"#heredoc\"},{\"include\":\"#herestring\"},{\"include\":\"#redirection\"},{\"include\":\"#pathname\"},{\"include\":\"#floating_keyword\"},{\"include\":\"#support\"}]},\"parenthese\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parenthese.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parenthese.shell\"}},\"name\":\"meta.parenthese.group.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"pathname\":{\"patterns\":[{\"match\":\"(?<=\\\\s|:|=|^)~\",\"name\":\"keyword.operator.tilde.shell\"},{\"match\":\"\\\\*|\\\\?\",\"name\":\"keyword.operator.glob.shell\"},{\"begin\":\"([?*+@!])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.extglob.shell\"},\"2\":{\"name\":\"punctuation.definition.extglob.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.extglob.shell\"}},\"name\":\"meta.structure.extglob.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]}]},\"pipeline\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(time)(?=\\\\s|;|&|$)\",\"name\":\"keyword.other.shell\"},{\"match\":\"[|!]\",\"name\":\"keyword.operator.pipe.shell\"}]},\"redirect_fix\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.redirect.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell\"}},\"match\":\"(?:(>>?)(?:[ \\\\t]*+)([^ \\t\\n>&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"'<\\\\|]+))\"},\"redirect_number\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.redirect.stdout.shell\"},\"2\":{\"name\":\"keyword.operator.redirect.stderr.shell\"},\"3\":{\"name\":\"keyword.operator.redirect.$3.shell\"}},\"match\":\"(?<=[ \\\\t])(?:(?:(1)|(2)|(\\\\d+))(?=>))\"},\"redirection\":{\"patterns\":[{\"begin\":\"[><]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.interpolated.process-substitution.shell\",\"patterns\":[{\"include\":\"#initial_context\"}]},{\"match\":\"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|>|<)|\\\\d*<&|\\\\d*<>)(?![<>])\",\"name\":\"keyword.operator.redirect.shell\"}]},\"regex_comparison\":{\"match\":\"\\\\=~\",\"name\":\"keyword.operator.logical.regex.shell\"},\"regexp\":{\"patterns\":[{\"match\":\"(?:.+)\"}]},\"simple_options\":{\"captures\":{\"0\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"string.unquoted.argument.shell constant.other.option.dash.shell\"},\"2\":{\"name\":\"string.unquoted.argument.shell constant.other.option.shell\"}},\"match\":\"(?:[ \\\\t]++)(\\\\-)(\\\\w+)\"}]}},\"match\":\"(?:(?:[ \\\\t]++)\\\\-(?:\\\\w+))*\"},\"simple_unquoted\":{\"match\":\"[^ \\\\t\\\\n>&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"'<\\\\|]\",\"name\":\"string.unquoted.shell\"},\"special_expansion\":{\"match\":\"!|:[-=?]?|\\\\*|@|##|#|%%|%|\\\\/\",\"name\":\"keyword.operator.expansion.shell\"},\"start_of_command\":{\"match\":\"(?:(?:[ \\\\t]*+)(?:(?!(?:!|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\\\\\\\n?$)))\"},\"string\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.shell\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.single.shell\"},{\"begin\":\"\\\\$?\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.double.shell\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\$\\\\n`\\\"\\\\\\\\]\",\"name\":\"constant.character.escape.shell\"},{\"include\":\"#variable\"},{\"include\":\"#interpolation\"}]},{\"begin\":\"\\\\$'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.shell\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.shell\"}},\"name\":\"string.quoted.single.dollar.shell\",\"patterns\":[{\"match\":\"\\\\\\\\(?:a|b|e|f|n|r|t|v|\\\\\\\\|')\",\"name\":\"constant.character.escape.ansi-c.shell\"},{\"match\":\"\\\\\\\\[0-9]{3}\\\"\",\"name\":\"constant.character.escape.octal.shell\"},{\"match\":\"\\\\\\\\x[0-9a-fA-F]{2}\\\"\",\"name\":\"constant.character.escape.hex.shell\"},{\"match\":\"\\\\\\\\c.\\\"\",\"name\":\"constant.character.escape.control-char.shell\"}]}]},\"subshell_dollar\":{\"patterns\":[{\"begin\":\"(?:\\\\$\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.subshell.single.shell\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.subshell.single.shell\"}},\"name\":\"meta.scope.subshell\",\"patterns\":[{\"include\":\"#parenthese\"},{\"include\":\"#initial_context\"}]}]},\"support\":{\"patterns\":[{\"match\":\"(?<=^|;|&|\\\\s)(?::|\\\\.)(?=\\\\s|;|&|$)\",\"name\":\"support.function.builtin.shell\"}]},\"typical_statements\":{\"patterns\":[{\"include\":\"#assignment_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"#for_statement\"},{\"include\":\"#while_statement\"},{\"include\":\"#function_definition\"},{\"include\":\"#command_statement\"},{\"include\":\"#line_continuation\"},{\"include\":\"#arithmetic_double\"},{\"include\":\"#normal_context\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\"},\"2\":{\"name\":\"variable.parameter.positional.all.shell\"}},\"match\":\"(?:(\\\\$)(\\\\@(?!\\\\w)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.shell\"},\"2\":{\"name\":\"variable.parameter.positional.shell\"}},\"match\":\"(?:(\\\\$)([0-9](?!\\\\w)))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.language.special.shell\"},\"2\":{\"name\":\"variable.language.special.shell\"}},\"match\":\"(?:(\\\\$)([-*#?$!0_](?!\\\\w)))\"},{\"begin\":\"(?:(\\\\$)(\\\\{)(?:[ \\\\t]*+)(?=\\\\d))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.parameter.positional.shell\"},\"2\":{\"name\":\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"}},\"contentName\":\"meta.parameter-expansion\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"}},\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#array_access_inline\"},{\"match\":\"[0-9]+\",\"name\":\"variable.parameter.positional.shell\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"},{\"include\":\"#variable\"},{\"include\":\"#string\"}]},{\"begin\":\"(?:(\\\\$)(\\\\{))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell\"},\"2\":{\"name\":\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\"}},\"contentName\":\"meta.parameter-expansion\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\"}},\"patterns\":[{\"include\":\"#special_expansion\"},{\"include\":\"#array_access_inline\"},{\"match\":\"(?<!\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\w)\",\"name\":\"variable.other.normal.shell\"},{\"include\":\"#variable\"},{\"include\":\"#string\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.shell variable.other.normal.shell\"},\"2\":{\"name\":\"variable.other.normal.shell\"}},\"match\":\"(?:(\\\\$)((?:\\\\w+)(?!\\\\w)))\"}]},\"while_statement\":{\"patterns\":[{\"begin\":\"(\\\\bwhile\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.while.shell\"}},\"end\":\"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\"endCaptures\":{},\"name\":\"meta.while.shell\",\"patterns\":[{\"include\":\"#line_continuation\"},{\"include\":\"#math_operators\"},{\"include\":\"#option\"},{\"include\":\"#simple_unquoted\"},{\"include\":\"#normal_context\"},{\"include\":\"#string\"}]}]}},\"scopeName\":\"source.shell\",\"aliases\":[\"bash\",\"sh\",\"shell\",\"zsh\"]}"))
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|