@shikijs/langs 3.1.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abap.mjs +1 -1
- package/dist/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-html.mjs +1 -1
- package/dist/angular-inline-style.mjs +1 -1
- package/dist/angular-inline-template.mjs +1 -1
- package/dist/angular-template-blocks.mjs +1 -1
- package/dist/angular-template.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/apache.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/beancount.mjs +1 -1
- package/dist/berry.mjs +1 -1
- package/dist/bibtex.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/bsl.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/cairo.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/clojure.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/csharp.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/csv.mjs +1 -1
- package/dist/cue.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dart.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/desktop.mjs +1 -1
- package/dist/diff.mjs +1 -1
- package/dist/dotenv.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/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/erb.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-fixed-form.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/gherkin.mjs +1 -1
- package/dist/git-commit.mjs +1 -1
- package/dist/git-rebase.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/graphql.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hcl.mjs +1 -1
- package/dist/hjson.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html-derivative.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/http.mjs +1 -1
- package/dist/hxml.mjs +1 -1
- package/dist/hy.mjs +1 -1
- package/dist/imba.mjs +1 -4
- package/dist/index.mjs +2 -0
- package/dist/ini.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja-html.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jison.mjs +1 -1
- package/dist/json.mjs +1 -1
- package/dist/json5.mjs +1 -1
- package/dist/jsonc.mjs +1 -1
- package/dist/jsonl.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/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/llvm.d.mts +3 -0
- package/dist/llvm.mjs +5 -0
- 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-vue.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/move.mjs +1 -1
- package/dist/narrat.mjs +1 -1
- package/dist/nextflow.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/po.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/powerquery.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prisma.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/proto.mjs +1 -1
- package/dist/pug.mjs +1 -1
- package/dist/puppet.mjs +1 -1
- package/dist/purescript.mjs +1 -1
- package/dist/python.mjs +1 -1
- package/dist/qml.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/razor.mjs +1 -1
- package/dist/reg.mjs +1 -1
- package/dist/regexp.mjs +1 -1
- package/dist/rel.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/sass.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/sdbl.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/shellsession.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/soy.mjs +1 -1
- package/dist/sparql.mjs +1 -1
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/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/tasl.mjs +1 -1
- package/dist/tcl.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/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-sfc-style-variable-injection.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wenyan.mjs +1 -1
- package/dist/wgsl.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wit.d.mts +3 -0
- package/dist/wit.mjs +5 -0
- package/dist/wolfram.mjs +1 -1
- package/dist/xml.mjs +1 -1
- package/dist/xsl.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/dist/zig.mjs +1 -1
- package/package.json +5 -3
package/dist/sdbl.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"1C (Query)\",\"fileTypes\":[\"sdbl\",\"query\"],\"firstLineMatch\":\"(?i)Выбрать|Select(\\\\s+Разрешенные|\\\\s+Allowed)?(\\\\s+Различные|\\\\s+Distinct)?(\\\\s+Первые|\\\\s+Top)?.*\",\"name\":\"sdbl\",\"patterns\":[{\"match\":\"(^\\\\s*//.*$)\",\"name\":\"comment.line.double-slash.sdbl\"},{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.sdbl\"},{\"begin\":\"
|
|
1
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"1C (Query)\",\"fileTypes\":[\"sdbl\",\"query\"],\"firstLineMatch\":\"(?i)Выбрать|Select(\\\\s+Разрешенные|\\\\s+Allowed)?(\\\\s+Различные|\\\\s+Distinct)?(\\\\s+Первые|\\\\s+Top)?.*\",\"name\":\"sdbl\",\"patterns\":[{\"match\":\"(^\\\\s*//.*$)\",\"name\":\"comment.line.double-slash.sdbl\"},{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.sdbl\"},{\"begin\":\"\\\"\",\"end\":\"\\\"(?!\\\")\",\"name\":\"string.quoted.double.sdbl\",\"patterns\":[{\"match\":\"\\\"\\\"\",\"name\":\"constant.character.escape.sdbl\"},{\"match\":\"(^\\\\s*//.*$)\",\"name\":\"comment.line.double-slash.sdbl\"}]},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\\\wа-яё.]|$)\",\"name\":\"constant.language.sdbl\"},{\"match\":\"(?<=[^\\\\wа-яё.]|^)(\\\\d+\\\\.?\\\\d*)(?=[^\\\\wа-яё.]|$)\",\"name\":\"constant.numeric.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^\\\\wа-яё.]|$)\",\"name\":\"keyword.control.conditional.sdbl\"},{\"match\":\"(?i)(?<!КАК\\\\s|AS\\\\s)(?<=[^\\\\wа-яё.]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\\\\s+ИЕРАРХИИ|IN\\\\s+HIERARCHY|В|In|Между|Between|Есть(\\\\s+НЕ)?\\\\s+NULL|Is(\\\\s+NOT)?\\\\s+NULL|Ссылка|Refs|Подобно|Like)(?=[^\\\\wа-яё.]|$)\",\"name\":\"keyword.operator.logical.sdbl\"},{\"match\":\"<=|>=|[=<>]\",\"name\":\"keyword.operator.comparison.sdbl\"},{\"match\":\"([+\\\\-*/%])\",\"name\":\"keyword.operator.arithmetic.sdbl\"},{\"match\":\"([,;])\",\"name\":\"keyword.operator.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\\\s+(Внешнее\\\\s+|Outer\\\\s+)?Соединение|Join)|((Внутреннее|Inner)\\\\s+Соединение|Join)|Где|Where|(Сгруппировать\\\\s+По(\\\\s+Группирующим\\\\s+Наборам)?)|(Group\\\\s+By(\\\\s+Grouping\\\\s+Set)?)|Имеющие|Having|Объединить(\\\\s+Все)?|Union(\\\\s+All)?|(Упорядочить\\\\s+По)|(Order\\\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\\\s+Общие)?|By(\\\\s+Overall)?|(Только\\\\s+)?Иерархия|(Only\\\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\\\s+Изменения|(For\\\\s+Update(\\\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^\\\\wа-яё.]|$)\",\"name\":\"keyword.control.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\\\()\",\"name\":\"support.function.sdbl\"},{\"match\":\"(?i)(?<=[^\\\\wа-яё.])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^\\\\wа-яё.]|$)\",\"name\":\"support.type.sdbl\"},{\"match\":\"(&[\\\\wа-яё]+)\",\"name\":\"variable.parameter.sdbl\"}],\"scopeName\":\"source.sdbl\",\"aliases\":[\"1c-query\"]}"))
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
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_][a-zA-Z0-9_]*)
|
|
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(CG(?:PROGRAM|INCLUDE))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDCG)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.cgblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\\b(HLSL(?:PROGRAM|INCLUDE))\\\\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|D3D11|GLCORE|OPENGL|GLES|GLES3|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|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|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\\\\b\",\"name\":\"support.variable.preprocessor.platformdifference.shaderlab\"},{\"match\":\"\\\\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\\\\b\",\"name\":\"support.variable.preprocessor.texture2D.shaderlab\"},{\"match\":\"\\\\b(appdata_(?:base|tan|full|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\"},{\"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\"]}"))
|
|
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\"},{\"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]\\\\h+\",\"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]\\\\h+\",\"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]\\\\h+)|(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]\\\\h+)|(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\":\"\\\\\\\\[abefnrtv\\\\\\\\']\",\"name\":\"constant.character.escape.ansi-c.shell\"},{\"match\":\"\\\\\\\\[0-9]{3}\\\"\",\"name\":\"constant.character.escape.octal.shell\"},{\"match\":\"\\\\\\\\x\\\\h{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
|
package/dist/shellsession.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import shellscript from './shellscript.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Shell Session\",\"fileTypes\":[\"sh-session\"],\"name\":\"shellsession\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.prompt-prefix.shell-session\"},\"2\":{\"name\":\"punctuation.separator.prompt.shell-session\"},\"3\":{\"name\":\"source.shell\",\"patterns\":[{\"include\":\"source.shell\"}]}},\"match\":\"^(?:((?:\\\\(\\\\S+\\\\)\\\\s*)?(?:sh\\\\S*?|\\\\w+\\\\S+[@:]\\\\S+(?:\\\\s+\\\\S+)?|\\\\[\\\\S+?[@:]
|
|
3
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Shell Session\",\"fileTypes\":[\"sh-session\"],\"name\":\"shellsession\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.prompt-prefix.shell-session\"},\"2\":{\"name\":\"punctuation.separator.prompt.shell-session\"},\"3\":{\"name\":\"source.shell\",\"patterns\":[{\"include\":\"source.shell\"}]}},\"match\":\"^(?:((?:\\\\(\\\\S+\\\\)\\\\s*)?(?:sh\\\\S*?|\\\\w+\\\\S+[@:]\\\\S+(?:\\\\s+\\\\S+)?|\\\\[\\\\S+?[@:]\\\\N+?].*?))\\\\s*)?([>$#%❯➜\\\\p{Greek}])\\\\s+(.*)$\"},{\"match\":\"^.+$\",\"name\":\"meta.output.shell-session\"}],\"scopeName\":\"text.shell-session\",\"embeddedLangs\":[\"shellscript\"],\"aliases\":[\"console\"]}"))
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...shellscript,
|
package/dist/smalltalk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Smalltalk\",\"fileTypes\":[\"st\"],\"foldingStartMarker\":\"\\\\[\",\"foldingStopMarker\":\"
|
|
1
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Smalltalk\",\"fileTypes\":[\"st\"],\"foldingStartMarker\":\"\\\\[\",\"foldingStopMarker\":\"^(?:\\\\s*]|\\\\s])\",\"name\":\"smalltalk\",\"patterns\":[{\"match\":\"\\\\$.\",\"name\":\"constant.character.smalltalk\"},{\"match\":\"\\\\b(class)\\\\b\",\"name\":\"storage.type.$1.smalltalk\"},{\"match\":\"\\\\b(extend|super|self)\\\\b\",\"name\":\"storage.modifier.$1.smalltalk\"},{\"match\":\"\\\\b(yourself|new|Smalltalk)\\\\b\",\"name\":\"keyword.control.$1.smalltalk\"},{\"match\":\":=\",\"name\":\"keyword.operator.assignment.smalltalk\"},{\"match\":\"/^:\\\\w*\\\\s*\\\\|/\",\"name\":\"constant.other.block.smalltalk\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.instance-variables.begin.smalltalk\"},\"2\":{\"patterns\":[{\"match\":\"\\\\w+\",\"name\":\"support.type.variable.declaration.smalltalk\"}]},\"3\":{\"name\":\"punctuation.definition.instance-variables.end.smalltalk\"}},\"match\":\"(\\\\|)(\\\\s*\\\\w[\\\\w ]*)(\\\\|)\"},{\"captures\":{\"1\":{\"patterns\":[{\"match\":\":\\\\w+\",\"name\":\"entity.name.function.block.smalltalk\"}]}},\"match\":\"\\\\[((\\\\s+|:\\\\w+)*)\\\\|\"},{\"include\":\"#numeric\"},{\"match\":\"<(?![<=])|>(?![<=>])|<=|>=|=|==|~=|~~|>>|\\\\^\",\"name\":\"keyword.operator.comparison.smalltalk\"},{\"match\":\"([*+\\\\-/\\\\\\\\])\",\"name\":\"keyword.operator.arithmetic.smalltalk\"},{\"match\":\"(?<=[ \\\\t])!+|\\\\bnot\\\\b|&|\\\\band\\\\b|\\\\||\\\\bor\\\\b\",\"name\":\"keyword.operator.logical.smalltalk\"},{\"match\":\"(?<!\\\\.)\\\\b(ensure|resume|retry|signal)\\\\b(?![?!])\",\"name\":\"keyword.control.smalltalk\"},{\"match\":\"ifCurtailed:|ifTrue:|ifFalse:|whileFalse:|whileTrue:\",\"name\":\"keyword.control.conditionals.smalltalk\"},{\"captures\":{\"1\":{\"name\":\"entity.other.inherited-class.smalltalk\"},\"3\":{\"name\":\"keyword.control.smalltalk\"},\"4\":{\"name\":\"entity.name.type.class.smalltalk\"}},\"match\":\"(\\\\w+)(\\\\s+(subclass:))\\\\s*(\\\\w*)\",\"name\":\"meta.class.smalltalk\"},{\"begin\":\"\\\"\",\"beginCaptures\":[{\"name\":\"punctuation.definition.comment.begin.smalltalk\"}],\"end\":\"\\\"\",\"endCaptures\":[{\"name\":\"punctuation.definition.comment.end.smalltalk\"}],\"name\":\"comment.block.smalltalk\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.smalltalk\"},{\"match\":\"\\\\b(nil)\\\\b\",\"name\":\"constant.language.nil.smalltalk\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.smalltalk\"}},\"match\":\"(?>[a-zA-Z_]\\\\w*[?!]?)(:)(?!:)\",\"name\":\"constant.other.messages.smalltalk\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.smalltalk\"}},\"match\":\"(#)[a-zA-Z_][a-zA-Z0-9_:]*\",\"name\":\"constant.other.symbol.smalltalk\"},{\"begin\":\"#\\\\[\",\"beginCaptures\":[{\"name\":\"punctuation.definition.constant.begin.smalltalk\"}],\"end\":\"]\",\"endCaptures\":[{\"name\":\"punctuation.definition.constant.end.smalltalk\"}],\"name\":\"meta.array.byte.smalltalk\",\"patterns\":[{\"match\":\"[0-9]+(r[a-zA-Z0-9]+)?\",\"name\":\"constant.numeric.integer.smalltalk\"},{\"match\":\"[^\\\\s\\\\]]+\",\"name\":\"invalid.illegal.character-not-allowed-here.smalltalk\"}]},{\"begin\":\"#\\\\(\",\"beginCaptures\":[{\"name\":\"punctuation.definition.constant.begin.smalltalk\"}],\"end\":\"\\\\)\",\"endCaptures\":[{\"name\":\"punctuation.definition.constant.end.smalltalk\"}],\"name\":\"constant.other.array.smalltalk\"},{\"begin\":\"'\",\"beginCaptures\":[{\"name\":\"punctuation.definition.string.begin.smalltalk\"}],\"end\":\"'\",\"endCaptures\":[{\"name\":\"punctuation.definition.string.end.smalltalk\"}],\"name\":\"string.quoted.single.smalltalk\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"variable.other.constant.smalltalk\"}],\"repository\":{\"numeric\":{\"patterns\":[{\"match\":\"(?<!\\\\w)[0-9]+\\\\.[0-9]+s[0-9]*\",\"name\":\"constant.numeric.float.scaled.smalltalk\"},{\"match\":\"(?<!\\\\w)[0-9]+\\\\.[0-9]+([edq]-?[0-9]+)?\",\"name\":\"constant.numeric.float.smalltalk\"},{\"match\":\"(?<!\\\\w)-?[0-9]+r[a-zA-Z0-9]+\",\"name\":\"constant.numeric.integer.radix.smalltalk\"},{\"match\":\"(?<!\\\\w)-?[0-9]+([edq]-?[0-9]+)?\",\"name\":\"constant.numeric.integer.smalltalk\"}]}},\"scopeName\":\"source.smalltalk\"}"))
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/solidity.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Solidity\",\"fileTypes\":[\"sol\"],\"name\":\"solidity\",\"patterns\":[{\"include\":\"#natspec\"},{\"include\":\"#declaration-userType\"},{\"include\":\"#comment\"},{\"include\":\"#operator\"},{\"include\":\"#global\"},{\"include\":\"#control\"},{\"include\":\"#constant\"},{\"include\":\"#primitive\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#declaration\"},{\"include\":\"#function-call\"},{\"include\":\"#assembly\"},{\"include\":\"#punctuation\"}],\"repository\":{\"assembly\":{\"patterns\":[{\"match\":\"\\\\b(assembly)\\\\b\",\"name\":\"keyword.control.assembly\"},{\"match\":\"\\\\b(let)\\\\b\",\"name\":\"storage.type.assembly\"}]},\"comment\":{\"patterns\":[{\"include\":\"#comment-line\"},{\"include\":\"#comment-block\"}]},\"comment-block\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\",\"patterns\":[{\"include\":\"#comment-todo\"}]},\"comment-line\":{\"begin\":\"(?<!tp:)//\",\"end\":\"$\",\"name\":\"comment.line\",\"patterns\":[{\"include\":\"#comment-todo\"}]},\"comment-todo\":{\"match\":\"(?i)\\\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|\\\\w+-disable|\\\\w+-suppress)\\\\b(?-i)\",\"name\":\"keyword.comment.todo\"},\"constant\":{\"patterns\":[{\"include\":\"#constant-boolean\"},{\"include\":\"#constant-time\"},{\"include\":\"#constant-currency\"}]},\"constant-boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean\"},\"constant-currency\":{\"match\":\"\\\\b(ether|wei|gwei|finney|szabo)\\\\b\",\"name\":\"constant.language.currency\"},\"constant-time\":{\"match\":\"\\\\b(seconds|minutes|hours|days|weeks|years)\\\\b\",\"name\":\"constant.language.time\"},\"control\":{\"patterns\":[{\"include\":\"#control-flow\"},{\"include\":\"#control-using\"},{\"include\":\"#control-import\"},{\"include\":\"#control-pragma\"},{\"include\":\"#control-underscore\"},{\"include\":\"#control-unchecked\"},{\"include\":\"#control-other\"}]},\"control-flow\":{\"patterns\":[{\"match\":\"\\\\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\\\\b\",\"name\":\"keyword.control.flow\"},{\"begin\":\"\\\\b(returns)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.return\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"}]}]},\"control-import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import\"}},\"end\":\"(?=\\\\;)\",\"patterns\":[{\"begin\":\"((?=\\\\{))\",\"end\":\"((?=\\\\}))\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.interface\"}]},{\"match\":\"\\\\b(from)\\\\b\",\"name\":\"keyword.control.import.from\"},{\"include\":\"#string\"},{\"include\":\"#punctuation\"}]},{\"match\":\"\\\\b(import)\\\\b\",\"name\":\"keyword.control.import\"}]},\"control-other\":{\"match\":\"\\\\b(new|delete|emit)\\\\b\",\"name\":\"keyword.control\"},\"control-pragma\":{\"captures\":{\"1\":{\"name\":\"keyword.control.pragma\"},\"2\":{\"name\":\"entity.name.tag.pragma\"},\"3\":{\"name\":\"constant.other.pragma\"}},\"match\":\"\\\\b(pragma)(?:\\\\s+([A-Za-z_]\\\\w+)\\\\s+([^\\\\s]+))?\\\\b\"},\"control-unchecked\":{\"match\":\"\\\\b(unchecked)\\\\b\",\"name\":\"keyword.control.unchecked\"},\"control-underscore\":{\"match\":\"\\\\b(_)\\\\b\",\"name\":\"constant.other.underscore\"},\"control-using\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.using\"},\"2\":{\"name\":\"entity.name.type.library\"},\"3\":{\"name\":\"keyword.control.for\"},\"4\":{\"name\":\"entity.name.type\"}},\"match\":\"\\\\b(using)\\\\b\\\\s+\\\\b([A-Za-z\\\\d_]+)\\\\b\\\\s+\\\\b(for)\\\\b\\\\s+\\\\b([A-Za-z\\\\d_]+)\"},{\"match\":\"\\\\b(using)\\\\b\",\"name\":\"keyword.control.using\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#declaration-contract\"},{\"include\":\"#declaration-userType\"},{\"include\":\"#declaration-interface\"},{\"include\":\"#declaration-library\"},{\"include\":\"#declaration-function\"},{\"include\":\"#declaration-modifier\"},{\"include\":\"#declaration-constructor\"},{\"include\":\"#declaration-event\"},{\"include\":\"#declaration-storage\"},{\"include\":\"#declaration-error\"}]},\"declaration-constructor\":{\"patterns\":[{\"begin\":\"\\\\b(constructor)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.constructor\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"begin\":\"\\\\G\\\\s*(?=\\\\()\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#type-modifier-access\"},{\"include\":\"#function-call\"}]}]},{\"captures\":{\"1\":{\"name\":\"storage.type.constructor\"}},\"match\":\"\\\\b(constructor)\\\\b\"}]},\"declaration-contract\":{\"patterns\":[{\"begin\":\"\\\\b(contract)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.contract\"},\"2\":{\"name\":\"entity.name.type.contract\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.contract.extend\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.contract\"},\"2\":{\"name\":\"entity.name.type.contract\"}},\"match\":\"\\\\b(contract)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-enum\":{\"patterns\":[{\"begin\":\"\\\\b(enum)\\\\s+(\\\\w+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum\"},\"2\":{\"name\":\"entity.name.type.enum\"}},\"end\":\"(?=\\\\})\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"variable.other.enummember\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.enum\"},\"3\":{\"name\":\"entity.name.type.enum\"}},\"match\":\"\\\\b(enum)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-error\":{\"captures\":{\"1\":{\"name\":\"storage.type.error\"},\"3\":{\"name\":\"entity.name.type.error\"}},\"match\":\"\\\\b(error)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"declaration-event\":{\"patterns\":[{\"begin\":\"\\\\b(event)\\\\b(?:\\\\s+(\\\\w+)\\\\b)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.event\"},\"2\":{\"name\":\"entity.name.type.event\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"captures\":{\"1\":{\"name\":\"storage.type.modifier.indexed\"},\"2\":{\"name\":\"variable.parameter.event\"}},\"match\":\"\\\\b(?:(indexed)\\\\s)?(\\\\w+)(?:,\\\\s*|)\"},{\"include\":\"#punctuation\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.event\"},\"3\":{\"name\":\"entity.name.type.event\"}},\"match\":\"\\\\b(event)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-function\":{\"patterns\":[{\"begin\":\"\\\\b(function)\\\\s+(\\\\w+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function\"},\"2\":{\"name\":\"entity.name.function\"}},\"end\":\"(?=\\\\{|;)\",\"patterns\":[{\"include\":\"#natspec\"},{\"include\":\"#global\"},{\"include\":\"#declaration-function-parameters\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#control-flow\"},{\"include\":\"#function-call\"},{\"include\":\"#modifier-call\"},{\"include\":\"#punctuation\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.function\"},\"2\":{\"name\":\"entity.name.function\"}},\"match\":\"\\\\b(function)\\\\s+([A-Za-z_]\\\\w*)\\\\b\"}]},\"declaration-function-parameters\":{\"begin\":\"\\\\G\\\\s*(?=\\\\()\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-extended-scope\"},{\"captures\":{\"1\":{\"name\":\"storage.type.struct\"}},\"match\":\"\\\\b([A-Z]\\\\w*)\\\\b\"},{\"include\":\"#variable\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]},\"declaration-interface\":{\"patterns\":[{\"begin\":\"\\\\b(interface)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.interface\"},\"2\":{\"name\":\"entity.name.type.interface\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.interface.extend\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.interface\"},\"2\":{\"name\":\"entity.name.type.interface\"}},\"match\":\"\\\\b(interface)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-library\":{\"captures\":{\"1\":{\"name\":\"storage.type.library\"},\"3\":{\"name\":\"entity.name.type.library\"}},\"match\":\"\\\\b(library)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"declaration-modifier\":{\"patterns\":[{\"begin\":\"\\\\b(modifier)\\\\b\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.modifier\"},\"2\":{\"name\":\"entity.name.function.modifier\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"},{\"begin\":\"(?<=\\\\))\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#function-call\"},{\"include\":\"#modifier-call\"},{\"include\":\"#control-flow\"}]}]},{\"captures\":{\"1\":{\"name\":\"storage.type.modifier\"},\"3\":{\"name\":\"entity.name.function\"}},\"match\":\"\\\\b(modifier)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-storage\":{\"patterns\":[{\"include\":\"#declaration-storage-mapping\"},{\"include\":\"#declaration-struct\"},{\"include\":\"#declaration-enum\"},{\"include\":\"#declaration-storage-field\"}]},\"declaration-storage-field\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#control\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extend-scope\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-constant\"},{\"include\":\"#primitive\"},{\"include\":\"#constant\"},{\"include\":\"#operator\"},{\"include\":\"#punctuation\"}]},\"declaration-storage-mapping\":{\"patterns\":[{\"begin\":\"\\\\b(mapping)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.mapping\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-storage-mapping\"},{\"include\":\"#type-primitive\"},{\"include\":\"#punctuation\"},{\"include\":\"#operator\"}]},{\"match\":\"\\\\b(mapping)\\\\b\",\"name\":\"storage.type.mapping\"}]},\"declaration-struct\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.struct\"},\"3\":{\"name\":\"entity.name.type.struct\"}},\"match\":\"\\\\b(struct)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\w+)?\\\\b\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.struct\"},\"2\":{\"name\":\"entity.name.type.struct\"}},\"end\":\"(?=\\\\})\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"include\":\"#variable\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]}]},\"declaration-userType\":{\"captures\":{\"1\":{\"name\":\"storage.type.userType\"},\"2\":{\"name\":\"entity.name.type.userType\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"match\":\"\\\\b(type)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\"},\"function-call\":{\"captures\":{\"1\":{\"name\":\"entity.name.function\"},\"2\":{\"name\":\"punctuation.parameters.begin\"}},\"match\":\"\\\\b([A-Za-z_]\\\\w*)\\\\s*(\\\\()\"},\"global\":{\"patterns\":[{\"include\":\"#global-variables\"},{\"include\":\"#global-functions\"}]},\"global-functions\":{\"patterns\":[{\"match\":\"\\\\b(require|assert|revert)\\\\b\",\"name\":\"keyword.control.exceptions\"},{\"match\":\"\\\\b(selfdestruct|suicide)\\\\b\",\"name\":\"keyword.control.contract\"},{\"match\":\"\\\\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\\\b\",\"name\":\"support.function.math\"},{\"match\":\"\\\\b(unicode)\\\\b\",\"name\":\"support.function.string\"},{\"match\":\"\\\\b(blockhash|gasleft)\\\\b\",\"name\":\"variable.language.transaction\"},{\"match\":\"\\\\b(type)\\\\b\",\"name\":\"variable.language.type\"}]},\"global-variables\":{\"patterns\":[{\"match\":\"\\\\b(this)\\\\b\",\"name\":\"variable.language.this\"},{\"match\":\"\\\\b(super)\\\\b\",\"name\":\"variable.language.super\"},{\"match\":\"\\\\b(abi)\\\\b\",\"name\":\"variable.language.builtin.abi\"},{\"match\":\"\\\\b(msg\\\\.sender|msg|block|tx|now)\\\\b\",\"name\":\"variable.language.transaction\"},{\"match\":\"\\\\b(tx\\\\.origin|tx\\\\.gasprice|msg\\\\.data|msg\\\\.sig|msg\\\\.value)\\\\b\",\"name\":\"variable.language.transaction\"}]},\"modifier-call\":{\"patterns\":[{\"include\":\"#function-call\"},{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.function.modifier\"}]},\"natspec\":{\"patterns\":[{\"begin\":\"/\\\\*\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.documentation\",\"patterns\":[{\"include\":\"#natspec-tags\"}]},{\"begin\":\"///\",\"end\":\"$\",\"name\":\"comment.block.documentation\",\"patterns\":[{\"include\":\"#natspec-tags\"}]}]},\"natspec-tag-author\":{\"match\":\"(@author)\\\\b\",\"name\":\"storage.type.author.natspec\"},\"natspec-tag-custom\":{\"match\":\"(@custom:\\\\w*)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-dev\":{\"match\":\"(@dev)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-inheritdoc\":{\"match\":\"(@inheritdoc)\\\\b\",\"name\":\"storage.type.author.natspec\"},\"natspec-tag-notice\":{\"match\":\"(@notice)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-param\":{\"captures\":{\"1\":{\"name\":\"storage.type.param.natspec\"},\"3\":{\"name\":\"variable.other.natspec\"}},\"match\":\"(@param)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"natspec-tag-return\":{\"captures\":{\"1\":{\"name\":\"storage.type.return.natspec\"},\"3\":{\"name\":\"variable.other.natspec\"}},\"match\":\"(@return)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"natspec-tag-title\":{\"match\":\"(@title)\\\\b\",\"name\":\"storage.type.title.natspec\"},\"natspec-tags\":{\"patterns\":[{\"include\":\"#comment-todo\"},{\"include\":\"#natspec-tag-title\"},{\"include\":\"#natspec-tag-author\"},{\"include\":\"#natspec-tag-notice\"},{\"include\":\"#natspec-tag-dev\"},{\"include\":\"#natspec-tag-param\"},{\"include\":\"#natspec-tag-return\"},{\"include\":\"#natspec-tag-custom\"},{\"include\":\"#natspec-tag-inheritdoc\"}]},\"number\":{\"patterns\":[{\"include\":\"#number-decimal\"},{\"include\":\"#number-hex\"},{\"include\":\"#number-scientific\"}]},\"number-decimal\":{\"match\":\"\\\\b([0-9_]+(\\\\.[0-9_]+)?)\\\\b\",\"name\":\"constant.numeric.decimal\"},\"number-hex\":{\"match\":\"\\\\b(0[xX][a-fA-F0-9]+)\\\\b\",\"name\":\"constant.numeric.hexadecimal\"},\"number-scientific\":{\"match\":\"\\\\b(?:0\\\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\\\.\\\\d{1,2})?)(?:e[+-]?[0-9_]+)?\",\"name\":\"constant.numeric.scientific\"},\"operator\":{\"patterns\":[{\"include\":\"#operator-logic\"},{\"include\":\"#operator-mapping\"},{\"include\":\"#operator-arithmetic\"},{\"include\":\"#operator-binary\"},{\"include\":\"#operator-assignment\"}]},\"operator-arithmetic\":{\"match\":\"(\\\\+|\\\\-|\\\\/|\\\\*)\",\"name\":\"keyword.operator.arithmetic\"},\"operator-assignment\":{\"match\":\"(\\\\:?=)\",\"name\":\"keyword.operator.assignment\"},\"operator-binary\":{\"match\":\"(\\\\^|\\\\&|\\\\||<<|>>)\",\"name\":\"keyword.operator.binary\"},\"operator-logic\":{\"match\":\"(==|\\\\!=|<(?!<)|<=|>(?!>)|>=|\\\\&\\\\&|\\\\|\\\\||\\\\:(?!=)|\\\\?|\\\\!)\",\"name\":\"keyword.operator.logic\"},\"operator-mapping\":{\"match\":\"(=>)\",\"name\":\"keyword.operator.mapping\"},\"primitive\":{\"patterns\":[{\"include\":\"#number-decimal\"},{\"include\":\"#number-hex\"},{\"include\":\"#number-scientific\"},{\"include\":\"#string\"}]},\"punctuation\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.terminator.statement\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor\"},{\"match\":\",\",\"name\":\"punctuation.separator\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.brace.curly.begin\"},{\"match\":\"\\\\}\",\"name\":\"punctuation.brace.curly.end\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.brace.square.begin\"},{\"match\":\"\\\\]\",\"name\":\"punctuation.brace.square.end\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.parameters.begin\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.parameters.end\"}]},\"string\":{\"patterns\":[{\"match\":\"\\\\\\\"(?:\\\\\\\\\\\"|[^\\\\\\\"])*\\\\\\\"\",\"name\":\"string.quoted.double\"},{\"match\":\"\\\\'(?:\\\\\\\\'|[^\\\\'])*\\\\'\",\"name\":\"string.quoted.single\"}]},\"type-modifier-access\":{\"match\":\"\\\\b(internal|external|private|public)\\\\b\",\"name\":\"storage.type.modifier.access\"},\"type-modifier-constant\":{\"match\":\"\\\\b(constant)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-extended-scope\":{\"match\":\"\\\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\\\b\",\"name\":\"storage.type.modifier.extendedscope\"},\"type-modifier-immutable\":{\"match\":\"\\\\b(immutable)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-payable\":{\"match\":\"\\\\b(nonpayable|payable)\\\\b\",\"name\":\"storage.type.modifier.payable\"},\"type-primitive\":{\"patterns\":[{\"begin\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b(?:\\\\[\\\\])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive\"}},\"end\":\"(\\\\))\",\"patterns\":[{\"include\":\"#primitive\"},{\"include\":\"#punctuation\"},{\"include\":\"#global\"},{\"include\":\"#variable\"}]},{\"match\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b\",\"name\":\"support.type.primitive\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.function\"}},\"match\":\"\\\\b(\\\\_\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"support.variable.property\"}},\"match\":\"(?:\\\\.)(\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.other\"}},\"match\":\"\\\\b(\\\\w+)\\\\b\"}]}},\"scopeName\":\"source.solidity\"}"))
|
|
1
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Solidity\",\"fileTypes\":[\"sol\"],\"name\":\"solidity\",\"patterns\":[{\"include\":\"#natspec\"},{\"include\":\"#declaration-userType\"},{\"include\":\"#comment\"},{\"include\":\"#operator\"},{\"include\":\"#global\"},{\"include\":\"#control\"},{\"include\":\"#constant\"},{\"include\":\"#primitive\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#declaration\"},{\"include\":\"#function-call\"},{\"include\":\"#assembly\"},{\"include\":\"#punctuation\"}],\"repository\":{\"assembly\":{\"patterns\":[{\"match\":\"\\\\b(assembly)\\\\b\",\"name\":\"keyword.control.assembly\"},{\"match\":\"\\\\b(let)\\\\b\",\"name\":\"storage.type.assembly\"}]},\"comment\":{\"patterns\":[{\"include\":\"#comment-line\"},{\"include\":\"#comment-block\"}]},\"comment-block\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\",\"patterns\":[{\"include\":\"#comment-todo\"}]},\"comment-line\":{\"begin\":\"(?<!tp:)//\",\"end\":\"$\",\"name\":\"comment.line\",\"patterns\":[{\"include\":\"#comment-todo\"}]},\"comment-todo\":{\"match\":\"(?i)\\\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|\\\\w+-disable|\\\\w+-suppress)\\\\b(?-i)\",\"name\":\"keyword.comment.todo\"},\"constant\":{\"patterns\":[{\"include\":\"#constant-boolean\"},{\"include\":\"#constant-time\"},{\"include\":\"#constant-currency\"}]},\"constant-boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean\"},\"constant-currency\":{\"match\":\"\\\\b(ether|wei|gwei|finney|szabo)\\\\b\",\"name\":\"constant.language.currency\"},\"constant-time\":{\"match\":\"\\\\b(seconds|minutes|hours|days|weeks|years)\\\\b\",\"name\":\"constant.language.time\"},\"control\":{\"patterns\":[{\"include\":\"#control-flow\"},{\"include\":\"#control-using\"},{\"include\":\"#control-import\"},{\"include\":\"#control-pragma\"},{\"include\":\"#control-underscore\"},{\"include\":\"#control-unchecked\"},{\"include\":\"#control-other\"}]},\"control-flow\":{\"patterns\":[{\"match\":\"\\\\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\\\\b\",\"name\":\"keyword.control.flow\"},{\"begin\":\"\\\\b(returns)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.return\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"}]}]},\"control-import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import\"}},\"end\":\"(?=;)\",\"patterns\":[{\"begin\":\"((?=\\\\{))\",\"end\":\"((?=}))\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.interface\"}]},{\"match\":\"\\\\b(from)\\\\b\",\"name\":\"keyword.control.import.from\"},{\"include\":\"#string\"},{\"include\":\"#punctuation\"}]},{\"match\":\"\\\\b(import)\\\\b\",\"name\":\"keyword.control.import\"}]},\"control-other\":{\"match\":\"\\\\b(new|delete|emit)\\\\b\",\"name\":\"keyword.control\"},\"control-pragma\":{\"captures\":{\"1\":{\"name\":\"keyword.control.pragma\"},\"2\":{\"name\":\"entity.name.tag.pragma\"},\"3\":{\"name\":\"constant.other.pragma\"}},\"match\":\"\\\\b(pragma)(?:\\\\s+([A-Za-z_]\\\\w+)\\\\s+(\\\\S+))?\\\\b\"},\"control-unchecked\":{\"match\":\"\\\\b(unchecked)\\\\b\",\"name\":\"keyword.control.unchecked\"},\"control-underscore\":{\"match\":\"\\\\b(_)\\\\b\",\"name\":\"constant.other.underscore\"},\"control-using\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.using\"},\"2\":{\"name\":\"entity.name.type.library\"},\"3\":{\"name\":\"keyword.control.for\"},\"4\":{\"name\":\"entity.name.type\"}},\"match\":\"\\\\b(using)\\\\b\\\\s+\\\\b([A-Za-z\\\\d_]+)\\\\b\\\\s+\\\\b(for)\\\\b\\\\s+\\\\b([A-Za-z\\\\d_]+)\"},{\"match\":\"\\\\b(using)\\\\b\",\"name\":\"keyword.control.using\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#declaration-contract\"},{\"include\":\"#declaration-userType\"},{\"include\":\"#declaration-interface\"},{\"include\":\"#declaration-library\"},{\"include\":\"#declaration-function\"},{\"include\":\"#declaration-modifier\"},{\"include\":\"#declaration-constructor\"},{\"include\":\"#declaration-event\"},{\"include\":\"#declaration-storage\"},{\"include\":\"#declaration-error\"}]},\"declaration-constructor\":{\"patterns\":[{\"begin\":\"\\\\b(constructor)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.constructor\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"begin\":\"\\\\G\\\\s*(?=\\\\()\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#type-modifier-access\"},{\"include\":\"#function-call\"}]}]},{\"captures\":{\"1\":{\"name\":\"storage.type.constructor\"}},\"match\":\"\\\\b(constructor)\\\\b\"}]},\"declaration-contract\":{\"patterns\":[{\"begin\":\"\\\\b(contract)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.contract\"},\"2\":{\"name\":\"entity.name.type.contract\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.contract.extend\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.contract\"},\"2\":{\"name\":\"entity.name.type.contract\"}},\"match\":\"\\\\b(contract)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-enum\":{\"patterns\":[{\"begin\":\"\\\\b(enum)\\\\s+(\\\\w+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum\"},\"2\":{\"name\":\"entity.name.type.enum\"}},\"end\":\"(?=})\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"variable.other.enummember\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.enum\"},\"3\":{\"name\":\"entity.name.type.enum\"}},\"match\":\"\\\\b(enum)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-error\":{\"captures\":{\"1\":{\"name\":\"storage.type.error\"},\"3\":{\"name\":\"entity.name.type.error\"}},\"match\":\"\\\\b(error)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"declaration-event\":{\"patterns\":[{\"begin\":\"\\\\b(event)\\\\b(?:\\\\s+(\\\\w+)\\\\b)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.event\"},\"2\":{\"name\":\"entity.name.type.event\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"captures\":{\"1\":{\"name\":\"storage.type.modifier.indexed\"},\"2\":{\"name\":\"variable.parameter.event\"}},\"match\":\"\\\\b(?:(indexed)\\\\s)?(\\\\w+)(?:,\\\\s*|)\"},{\"include\":\"#punctuation\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.event\"},\"3\":{\"name\":\"entity.name.type.event\"}},\"match\":\"\\\\b(event)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-function\":{\"patterns\":[{\"begin\":\"\\\\b(function)\\\\s+(\\\\w+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function\"},\"2\":{\"name\":\"entity.name.function\"}},\"end\":\"(?=[{;])\",\"patterns\":[{\"include\":\"#natspec\"},{\"include\":\"#global\"},{\"include\":\"#declaration-function-parameters\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#control-flow\"},{\"include\":\"#function-call\"},{\"include\":\"#modifier-call\"},{\"include\":\"#punctuation\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.function\"},\"2\":{\"name\":\"entity.name.function\"}},\"match\":\"\\\\b(function)\\\\s+([A-Za-z_]\\\\w*)\\\\b\"}]},\"declaration-function-parameters\":{\"begin\":\"\\\\G\\\\s*(?=\\\\()\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-extended-scope\"},{\"captures\":{\"1\":{\"name\":\"storage.type.struct\"}},\"match\":\"\\\\b([A-Z]\\\\w*)\\\\b\"},{\"include\":\"#variable\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]},\"declaration-interface\":{\"patterns\":[{\"begin\":\"\\\\b(interface)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.interface\"},\"2\":{\"name\":\"entity.name.type.interface\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.type.interface.extend\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.interface\"},\"2\":{\"name\":\"entity.name.type.interface\"}},\"match\":\"\\\\b(interface)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-library\":{\"captures\":{\"1\":{\"name\":\"storage.type.library\"},\"3\":{\"name\":\"entity.name.type.library\"}},\"match\":\"\\\\b(library)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"declaration-modifier\":{\"patterns\":[{\"begin\":\"\\\\b(modifier)\\\\b\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.modifier\"},\"2\":{\"name\":\"entity.name.function.modifier\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"},{\"begin\":\"(?<=\\\\))\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#declaration-function-parameters\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#function-call\"},{\"include\":\"#modifier-call\"},{\"include\":\"#control-flow\"}]}]},{\"captures\":{\"1\":{\"name\":\"storage.type.modifier\"},\"3\":{\"name\":\"entity.name.function\"}},\"match\":\"\\\\b(modifier)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"}]},\"declaration-storage\":{\"patterns\":[{\"include\":\"#declaration-storage-mapping\"},{\"include\":\"#declaration-struct\"},{\"include\":\"#declaration-enum\"},{\"include\":\"#declaration-storage-field\"}]},\"declaration-storage-field\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#control\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-access\"},{\"include\":\"#type-modifier-immutable\"},{\"include\":\"#type-modifier-extend-scope\"},{\"include\":\"#type-modifier-payable\"},{\"include\":\"#type-modifier-constant\"},{\"include\":\"#primitive\"},{\"include\":\"#constant\"},{\"include\":\"#operator\"},{\"include\":\"#punctuation\"}]},\"declaration-storage-mapping\":{\"patterns\":[{\"begin\":\"\\\\b(mapping)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.mapping\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declaration-storage-mapping\"},{\"include\":\"#type-primitive\"},{\"include\":\"#punctuation\"},{\"include\":\"#operator\"}]},{\"match\":\"\\\\b(mapping)\\\\b\",\"name\":\"storage.type.mapping\"}]},\"declaration-struct\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.struct\"},\"3\":{\"name\":\"entity.name.type.struct\"}},\"match\":\"\\\\b(struct)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\w+)?\\\\b\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.struct\"},\"2\":{\"name\":\"entity.name.type.struct\"}},\"end\":\"(?=})\",\"patterns\":[{\"include\":\"#type-primitive\"},{\"include\":\"#variable\"},{\"include\":\"#punctuation\"},{\"include\":\"#comment\"}]}]},\"declaration-userType\":{\"captures\":{\"1\":{\"name\":\"storage.type.userType\"},\"2\":{\"name\":\"entity.name.type.userType\"},\"3\":{\"name\":\"storage.modifier.is\"}},\"match\":\"\\\\b(type)\\\\b\\\\s+(\\\\w+)\\\\b\\\\s+\\\\b(is)\\\\b\"},\"function-call\":{\"captures\":{\"1\":{\"name\":\"entity.name.function\"},\"2\":{\"name\":\"punctuation.parameters.begin\"}},\"match\":\"\\\\b([A-Za-z_]\\\\w*)\\\\s*(\\\\()\"},\"global\":{\"patterns\":[{\"include\":\"#global-variables\"},{\"include\":\"#global-functions\"}]},\"global-functions\":{\"patterns\":[{\"match\":\"\\\\b(require|assert|revert)\\\\b\",\"name\":\"keyword.control.exceptions\"},{\"match\":\"\\\\b(s(?:elfdestruct|uicide))\\\\b\",\"name\":\"keyword.control.contract\"},{\"match\":\"\\\\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\\\b\",\"name\":\"support.function.math\"},{\"match\":\"\\\\b(unicode)\\\\b\",\"name\":\"support.function.string\"},{\"match\":\"\\\\b(blockhash|gasleft)\\\\b\",\"name\":\"variable.language.transaction\"},{\"match\":\"\\\\b(type)\\\\b\",\"name\":\"variable.language.type\"}]},\"global-variables\":{\"patterns\":[{\"match\":\"\\\\b(this)\\\\b\",\"name\":\"variable.language.this\"},{\"match\":\"\\\\b(super)\\\\b\",\"name\":\"variable.language.super\"},{\"match\":\"\\\\b(abi)\\\\b\",\"name\":\"variable.language.builtin.abi\"},{\"match\":\"\\\\b(msg\\\\.sender|msg|block|tx|now)\\\\b\",\"name\":\"variable.language.transaction\"},{\"match\":\"\\\\b(tx\\\\.origin|tx\\\\.gasprice|msg\\\\.data|msg\\\\.sig|msg\\\\.value)\\\\b\",\"name\":\"variable.language.transaction\"}]},\"modifier-call\":{\"patterns\":[{\"include\":\"#function-call\"},{\"match\":\"\\\\b(\\\\w+)\\\\b\",\"name\":\"entity.name.function.modifier\"}]},\"natspec\":{\"patterns\":[{\"begin\":\"/\\\\*\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.documentation\",\"patterns\":[{\"include\":\"#natspec-tags\"}]},{\"begin\":\"///\",\"end\":\"$\",\"name\":\"comment.block.documentation\",\"patterns\":[{\"include\":\"#natspec-tags\"}]}]},\"natspec-tag-author\":{\"match\":\"(@author)\\\\b\",\"name\":\"storage.type.author.natspec\"},\"natspec-tag-custom\":{\"match\":\"(@custom:\\\\w*)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-dev\":{\"match\":\"(@dev)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-inheritdoc\":{\"match\":\"(@inheritdoc)\\\\b\",\"name\":\"storage.type.author.natspec\"},\"natspec-tag-notice\":{\"match\":\"(@notice)\\\\b\",\"name\":\"storage.type.dev.natspec\"},\"natspec-tag-param\":{\"captures\":{\"1\":{\"name\":\"storage.type.param.natspec\"},\"3\":{\"name\":\"variable.other.natspec\"}},\"match\":\"(@param)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"natspec-tag-return\":{\"captures\":{\"1\":{\"name\":\"storage.type.return.natspec\"},\"3\":{\"name\":\"variable.other.natspec\"}},\"match\":\"(@return)(\\\\s+([A-Za-z_]\\\\w*))?\\\\b\"},\"natspec-tag-title\":{\"match\":\"(@title)\\\\b\",\"name\":\"storage.type.title.natspec\"},\"natspec-tags\":{\"patterns\":[{\"include\":\"#comment-todo\"},{\"include\":\"#natspec-tag-title\"},{\"include\":\"#natspec-tag-author\"},{\"include\":\"#natspec-tag-notice\"},{\"include\":\"#natspec-tag-dev\"},{\"include\":\"#natspec-tag-param\"},{\"include\":\"#natspec-tag-return\"},{\"include\":\"#natspec-tag-custom\"},{\"include\":\"#natspec-tag-inheritdoc\"}]},\"number\":{\"patterns\":[{\"include\":\"#number-decimal\"},{\"include\":\"#number-hex\"},{\"include\":\"#number-scientific\"}]},\"number-decimal\":{\"match\":\"\\\\b([0-9_]+(\\\\.[0-9_]+)?)\\\\b\",\"name\":\"constant.numeric.decimal\"},\"number-hex\":{\"match\":\"\\\\b(0[xX]\\\\h+)\\\\b\",\"name\":\"constant.numeric.hexadecimal\"},\"number-scientific\":{\"match\":\"\\\\b(?:0\\\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\\\.\\\\d{1,2})?)(?:e[+\\\\-]?[0-9_]+)?\",\"name\":\"constant.numeric.scientific\"},\"operator\":{\"patterns\":[{\"include\":\"#operator-logic\"},{\"include\":\"#operator-mapping\"},{\"include\":\"#operator-arithmetic\"},{\"include\":\"#operator-binary\"},{\"include\":\"#operator-assignment\"}]},\"operator-arithmetic\":{\"match\":\"([+\\\\-/*])\",\"name\":\"keyword.operator.arithmetic\"},\"operator-assignment\":{\"match\":\"(:?=)\",\"name\":\"keyword.operator.assignment\"},\"operator-binary\":{\"match\":\"([\\\\^\\\\&|]|<<|>>)\",\"name\":\"keyword.operator.binary\"},\"operator-logic\":{\"match\":\"(==|!=|<(?!<)|<=|>(?!>)|>=|&&|\\\\|\\\\||:(?!=)|[?!])\",\"name\":\"keyword.operator.logic\"},\"operator-mapping\":{\"match\":\"(=>)\",\"name\":\"keyword.operator.mapping\"},\"primitive\":{\"patterns\":[{\"include\":\"#number-decimal\"},{\"include\":\"#number-hex\"},{\"include\":\"#number-scientific\"},{\"include\":\"#string\"}]},\"punctuation\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.terminator.statement\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor\"},{\"match\":\",\",\"name\":\"punctuation.separator\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.brace.curly.begin\"},{\"match\":\"}\",\"name\":\"punctuation.brace.curly.end\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.brace.square.begin\"},{\"match\":\"]\",\"name\":\"punctuation.brace.square.end\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.parameters.begin\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.parameters.end\"}]},\"string\":{\"patterns\":[{\"match\":\"\\\"(?:\\\\\\\\\\\"|[^\\\"])*\\\"\",\"name\":\"string.quoted.double\"},{\"match\":\"'(?:\\\\\\\\'|[^'])*'\",\"name\":\"string.quoted.single\"}]},\"type-modifier-access\":{\"match\":\"\\\\b(internal|external|private|public)\\\\b\",\"name\":\"storage.type.modifier.access\"},\"type-modifier-constant\":{\"match\":\"\\\\b(constant)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-extended-scope\":{\"match\":\"\\\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\\\b\",\"name\":\"storage.type.modifier.extendedscope\"},\"type-modifier-immutable\":{\"match\":\"\\\\b(immutable)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-payable\":{\"match\":\"\\\\b(nonpayable|payable)\\\\b\",\"name\":\"storage.type.modifier.payable\"},\"type-primitive\":{\"patterns\":[{\"begin\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b\\\\[](\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive\"}},\"end\":\"(\\\\))\",\"patterns\":[{\"include\":\"#primitive\"},{\"include\":\"#punctuation\"},{\"include\":\"#global\"},{\"include\":\"#variable\"}]},{\"match\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b\",\"name\":\"support.type.primitive\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.function\"}},\"match\":\"\\\\b(_\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"support.variable.property\"}},\"match\":\"\\\\.(\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.other\"}},\"match\":\"\\\\b(\\\\w+)\\\\b\"}]}},\"scopeName\":\"source.solidity\"}"))
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|