@xyd-js/components 0.1.0-xyd.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/coder.ts +1 -0
- package/content.ts +3 -0
- package/dist/CTABanner-CWX9isVG.js +1 -0
- package/dist/CodeSample-C5YaEpAi.js +1 -0
- package/dist/HomeView-CnAj-VYl.js +1 -0
- package/dist/UnderlineNav-C8onw9Na.js +1 -0
- package/dist/_rollupPluginBabelHelpers-DfQAiTCw.js +1 -0
- package/dist/abap-kIO_7z1o.js +1 -0
- package/dist/actionscript-3-DiaraCXE.js +1 -0
- package/dist/ada-aNFKX2pl.js +1 -0
- package/dist/angular-html-y0qIEhS2.js +1 -0
- package/dist/angular-ts-Bn_6f37o.js +1 -0
- package/dist/apache-Cx7e0H64.js +1 -0
- package/dist/apex-CdSCJjuL.js +1 -0
- package/dist/apl-BDzWBUim.js +1 -0
- package/dist/applescript-CJFkzk5i.js +1 -0
- package/dist/ara-BC9R9M5c.js +1 -0
- package/dist/asciidoc-lqQQs4M0.js +1 -0
- package/dist/asm-QQeI-gwp.js +1 -0
- package/dist/astro-BPstp8LF.js +1 -0
- package/dist/awk-Cxb7Sqvk.js +1 -0
- package/dist/ballerina-G8TyVc6O.js +1 -0
- package/dist/bat-UDEmXz-g.js +1 -0
- package/dist/beancount-BWg86rhE.js +1 -0
- package/dist/berry-5E5uGOYg.js +1 -0
- package/dist/bibtex-CZn_FFnb.js +1 -0
- package/dist/bicep-D_G0XT5J.js +1 -0
- package/dist/blade-7dxmctkK.js +1 -0
- package/dist/brand.d.ts +30 -0
- package/dist/brand.js +1 -0
- package/dist/c-CrEz-oYf.js +1 -0
- package/dist/cadence-BulSIR1A.js +1 -0
- package/dist/clarity-m2OigCMT.js +1 -0
- package/dist/clojure-Bpes2rhL.js +1 -0
- package/dist/cmake-C4Tr1SQC.js +1 -0
- package/dist/cobol-Dp8xGW1S.js +1 -0
- package/dist/codeowners-Bs3mpoau.js +1 -0
- package/dist/codeql-CvQzaisq.js +1 -0
- package/dist/coder.d.ts +19 -0
- package/dist/coder.js +1 -0
- package/dist/coffee-DOjtyJj_.js +1 -0
- package/dist/common-lisp-DGVR8DFi.js +1 -0
- package/dist/content.d.ts +225 -0
- package/dist/content.js +1 -0
- package/dist/cpp-BUT7C4Bo.js +1 -0
- package/dist/crystal-BJh9OJ1_.js +1 -0
- package/dist/csharp-BhZuAD8H.js +1 -0
- package/dist/css-8_G4_UCW.js +1 -0
- package/dist/csv-DLRyYdMG.js +1 -0
- package/dist/cue-DAgMCCsT.js +1 -0
- package/dist/cypher-CtSiSKRh.js +1 -0
- package/dist/d-feZJOTtr.js +1 -0
- package/dist/dark-plus-Dcn2h2HL.js +1 -0
- package/dist/dart-CNOu4aud.js +1 -0
- package/dist/dax-Dkp1Uj6t.js +1 -0
- package/dist/desktop-CAGQzotA.js +1 -0
- package/dist/diff-D6yk3_ZG.js +1 -0
- package/dist/docker-BdTrQq0b.js +1 -0
- package/dist/dotenv-BeHGAMs7.js +1 -0
- package/dist/dracula-BUaMrXr0.js +1 -0
- package/dist/dracula-soft-CBx6n76m.js +1 -0
- package/dist/dream-maker-BU0sZZmb.js +1 -0
- package/dist/edge-D2Tk5tmg.js +1 -0
- package/dist/elixir-B-l3Nz-G.js +1 -0
- package/dist/elm-Bqm7aRpV.js +1 -0
- package/dist/emacs-lisp-BSvpfolf.js +1 -0
- package/dist/erb-CwBHxfFV.js +1 -0
- package/dist/erlang-B0PtHWg2.js +1 -0
- package/dist/fennel-CdN4E9Xo.js +1 -0
- package/dist/fish-XrbYjeRx.js +1 -0
- package/dist/fluent-zYsEgElv.js +1 -0
- package/dist/fortran-fixed-form-CPwX6okW.js +1 -0
- package/dist/fortran-free-form-B6Kk9658.js +1 -0
- package/dist/fsharp-CbMfVCMr.js +1 -0
- package/dist/gdresource-CdRUpBQO.js +1 -0
- package/dist/gdscript-CYXv_Ac9.js +1 -0
- package/dist/gdshader-CtiaGYI5.js +1 -0
- package/dist/genie-C-gOIth7.js +1 -0
- package/dist/gherkin-uGsOfG-k.js +1 -0
- package/dist/git-commit-CWQvkRNX.js +1 -0
- package/dist/git-rebase-BZ0YVJ-O.js +1 -0
- package/dist/github-dark-DCm4kydX.js +1 -0
- package/dist/github-dark-dimmed-CsRUrOJA.js +1 -0
- package/dist/github-from-css-CTRi6tFC.js +1 -0
- package/dist/github-light-B2ofRYMU.js +1 -0
- package/dist/gleam-C9ZZ3Vp2.js +1 -0
- package/dist/glimmer-js-Cuwfndkm.js +1 -0
- package/dist/glimmer-ts-D8nR8_k2.js +1 -0
- package/dist/glsl-qc_rLvzz.js +1 -0
- package/dist/gnuplot-BgHAcd--.js +1 -0
- package/dist/go-Dm8VBUM2.js +1 -0
- package/dist/graphql-CRmnB6D5.js +1 -0
- package/dist/groovy-DJcw8dX4.js +1 -0
- package/dist/hack-DYOVz52F.js +1 -0
- package/dist/haml-j8Vx_P4q.js +1 -0
- package/dist/handlebars-Qz3hgrPG.js +1 -0
- package/dist/haskell-DE3vVmXn.js +1 -0
- package/dist/haxe-DpuNPTTj.js +1 -0
- package/dist/hcl-BvV3VZ9s.js +1 -0
- package/dist/hjson-CsTZvU0B.js +1 -0
- package/dist/hlsl-BLZumTGu.js +1 -0
- package/dist/html-BJsWDmIe.js +1 -0
- package/dist/html-derivative-zDWJvwg5.js +1 -0
- package/dist/http-BiMppEBd.js +1 -0
- package/dist/hxml-DG2jWwyK.js +1 -0
- package/dist/hy-C9zVJlJf.js +1 -0
- package/dist/imba-DGD1mm8E.js +1 -0
- package/dist/index-TKJ66_wI.js +1 -0
- package/dist/index.css +135 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/ini-CU7wgrgh.js +1 -0
- package/dist/java-DyOZhX5L.js +1 -0
- package/dist/javascript-C0AWZ4eK.js +1 -0
- package/dist/jinja-Lc82IfGI.js +1 -0
- package/dist/jison-DT7Oqeqm.js +1 -0
- package/dist/json-Zoq3rK60.js +1 -0
- package/dist/json5-BOFh3mt2.js +1 -0
- package/dist/jsonc-CPutX9W5.js +1 -0
- package/dist/jsonl-xWfKSBhV.js +1 -0
- package/dist/jsonnet-UcnvaLwK.js +1 -0
- package/dist/jssm-BRT8_Uqd.js +1 -0
- package/dist/jsx-B4WNxrCK.js +1 -0
- package/dist/julia-i7_3XSV_.js +1 -0
- package/dist/kotlin-B_s0KNy5.js +1 -0
- package/dist/kusto-CDr4m-xT.js +1 -0
- package/dist/latex-BNB6MZrj.js +1 -0
- package/dist/layouts.d.ts +19 -0
- package/dist/layouts.js +1 -0
- package/dist/lean-2dBp1asm.js +1 -0
- package/dist/less-CfPPFFsV.js +1 -0
- package/dist/light-plus-glPHycm5.js +1 -0
- package/dist/liquid-Bj1DN66U.js +1 -0
- package/dist/log-CKSz9t_o.js +1 -0
- package/dist/logo-D3UPVeLP.js +1 -0
- package/dist/lua-C1EFGxtA.js +1 -0
- package/dist/luau-Dvb2LLsw.js +1 -0
- package/dist/make-TqphZF-7.js +1 -0
- package/dist/markdown-yX62Igf3.js +1 -0
- package/dist/marko-LH6NoP97.js +1 -0
- package/dist/material-darker-D6whucX3.js +1 -0
- package/dist/material-default-DYqS7fqa.js +1 -0
- package/dist/material-from-css-DlWo_ZDV.js +1 -0
- package/dist/material-lighter-CYQaMsGh.js +1 -0
- package/dist/material-ocean-Dl_zLA-F.js +1 -0
- package/dist/material-palenight-Cd4X9kqy.js +1 -0
- package/dist/matlab-Dy9K5GW8.js +1 -0
- package/dist/mdc-DhAfBnnn.js +1 -0
- package/dist/mdx-tnT2uTqR.js +1 -0
- package/dist/mermaid-aEaCok9S.js +1 -0
- package/dist/min-dark-CpapYCVz.js +1 -0
- package/dist/min-light-plRN0zW-.js +1 -0
- package/dist/mojo-BanaVmFY.js +1 -0
- package/dist/monokai-Cs2_BG4b.js +1 -0
- package/dist/move-B_kaWhAV.js +1 -0
- package/dist/narrat-6tChrAmV.js +1 -0
- package/dist/nextflow-BYB6CU6V.js +1 -0
- package/dist/nginx-Clr7XfzW.js +1 -0
- package/dist/nim-gLesixmv.js +1 -0
- package/dist/nix-DCgUXh-o.js +1 -0
- package/dist/nord-BHSE8FbR.js +1 -0
- package/dist/nushell-DDKGkuZY.js +1 -0
- package/dist/objective-c-BsQdhSk0.js +1 -0
- package/dist/objective-cpp-B-VZlBXW.js +1 -0
- package/dist/ocaml-B19L2xxl.js +1 -0
- package/dist/one-dark-pro-AWPQgJbJ.js +1 -0
- package/dist/pages.d.ts +30 -0
- package/dist/pages.js +1 -0
- package/dist/pascal-B0kVBVTU.js +1 -0
- package/dist/perl-Bs2cXIO6.js +1 -0
- package/dist/php-BgaH_AHK.js +1 -0
- package/dist/plsql-CPY7hT9n.js +1 -0
- package/dist/po-BszTsnLZ.js +1 -0
- package/dist/poimandres-CZF4JUv5.js +1 -0
- package/dist/postcss-DQ0frX96.js +1 -0
- package/dist/powerquery-BitONm6p.js +1 -0
- package/dist/powershell-B_lVHVgu.js +1 -0
- package/dist/prisma-CqkE3olT.js +1 -0
- package/dist/prolog-Bpuon3aK.js +1 -0
- package/dist/proto-C349dup0.js +1 -0
- package/dist/pug-Bbf3g_hT.js +1 -0
- package/dist/puppet-qDtDc0so.js +1 -0
- package/dist/purescript-C03CHyrT.js +1 -0
- package/dist/python-D5e4BtVB.js +1 -0
- package/dist/qml-LVCeHqxw.js +1 -0
- package/dist/qmldir-BEg8Q-XX.js +1 -0
- package/dist/qss-vq-U9k0N.js +1 -0
- package/dist/r-DnCIdoUu.js +1 -0
- package/dist/racket-BQt8mf2o.js +1 -0
- package/dist/raku-ChTHpuBS.js +1 -0
- package/dist/razor-CjFZSXD2.js +1 -0
- package/dist/reg-12gGsscy.js +1 -0
- package/dist/regexp-zLCCZKTi.js +1 -0
- package/dist/rel-aZ4oe34Q.js +1 -0
- package/dist/riscv-BA9R8KI2.js +1 -0
- package/dist/rose-pine-8QECO0Ox.js +1 -0
- package/dist/rose-pine-dawn-DT77ObZh.js +1 -0
- package/dist/rose-pine-moon-D3-I8ETF.js +1 -0
- package/dist/rst-DFKlxnrd.js +1 -0
- package/dist/ruby-BypI_hk5.js +1 -0
- package/dist/rust-tE6tRkqD.js +1 -0
- package/dist/sas-D1sMUJql.js +1 -0
- package/dist/sass-DBEOLVv3.js +1 -0
- package/dist/scala-DUzir4os.js +1 -0
- package/dist/scheme-dsSqVZz3.js +1 -0
- package/dist/scss-B0kJw1gM.js +1 -0
- package/dist/shaderlab-Cd8Cbryn.js +1 -0
- package/dist/shellscript-BL-Ihj2z.js +1 -0
- package/dist/shellsession-C5KJPcFG.js +1 -0
- package/dist/slack-dark-JbsLGggd.js +1 -0
- package/dist/slack-ochin-hTeCADjA.js +1 -0
- package/dist/smalltalk-DQ23HuGh.js +1 -0
- package/dist/solarized-dark-D2bQRcX7.js +1 -0
- package/dist/solarized-light-6xrOKoxI.js +1 -0
- package/dist/solidity-DUCwohjn.js +1 -0
- package/dist/soy-Cy4pRjbu.js +1 -0
- package/dist/sparql-D7gNTkUq.js +1 -0
- package/dist/splunk-Dvl5Xm98.js +1 -0
- package/dist/sql-BfoT44Al.js +1 -0
- package/dist/ssh-config-C-ZFySPN.js +1 -0
- package/dist/stata-Dpw9jvge.js +1 -0
- package/dist/stylus-mJ9_5M6n.js +1 -0
- package/dist/svelte-DD5dtnEi.js +1 -0
- package/dist/swift-DDernUpH.js +1 -0
- package/dist/system-verilog-DeXSd9Py.js +1 -0
- package/dist/systemd-NetTuLPL.js +1 -0
- package/dist/tasl-BCm9L3tI.js +1 -0
- package/dist/tcl-DmWVgxCm.js +1 -0
- package/dist/templ-B7wt_K-d.js +1 -0
- package/dist/terraform-DYIIsq8p.js +1 -0
- package/dist/tex-DFj0qpOD.js +1 -0
- package/dist/toml-CFu3vY0Q.js +1 -0
- package/dist/ts-tags-BvMEeGTJ.js +1 -0
- package/dist/tslib.es6-C3PNVQlC.js +1 -0
- package/dist/tsv-DnenRF8k.js +1 -0
- package/dist/tsx-DooqfEr1.js +1 -0
- package/dist/turtle-DKlxyehf.js +1 -0
- package/dist/twig-DpQc8FUF.js +1 -0
- package/dist/txt-C4tHEtDr.js +1 -0
- package/dist/typescript-DtE5sB_4.js +1 -0
- package/dist/typespec-B69vp3jc.js +1 -0
- package/dist/typst-BzEngGMo.js +1 -0
- package/dist/v-Dy6tTX8K.js +1 -0
- package/dist/vala-DQnmDtkE.js +1 -0
- package/dist/vb-CqTjXY4K.js +1 -0
- package/dist/verilog-D6Zfe00a.js +1 -0
- package/dist/vhdl-Dxu0BOr9.js +1 -0
- package/dist/views.d.ts +17 -0
- package/dist/views.js +1 -0
- package/dist/viml-eXtfIM-m.js +1 -0
- package/dist/vue-D3vey6Cu.js +1 -0
- package/dist/vue-html-DyaqvCGV.js +1 -0
- package/dist/vyper-C6AULW8C.js +1 -0
- package/dist/wasm-Cl39COlm.js +1 -0
- package/dist/wenyan-DJGdsiXE.js +1 -0
- package/dist/wgsl-CDhIPMwJ.js +1 -0
- package/dist/wikitext-D05PpJ8X.js +1 -0
- package/dist/wolfram-JgWnd2g7.js +1 -0
- package/dist/writer.d.ts +157 -0
- package/dist/writer.js +1 -0
- package/dist/xml-Cc1Sy-d4.js +1 -0
- package/dist/xsl-CEYTrbD0.js +1 -0
- package/dist/yaml-NvTdC05o.js +1 -0
- package/dist/zenscript-De0mU_BW.js +1 -0
- package/dist/zig-D9TJVGyp.js +1 -0
- package/index.ts +1 -0
- package/layouts.ts +1 -0
- package/package.json +58 -0
- package/postcss.config.cjs +5 -0
- package/rollup.config.js +149 -0
- package/src/brand/Button/Button.tsx +48 -0
- package/src/brand/Button/index.ts +7 -0
- package/src/brand/CTABanner/CTABanner.tsx +127 -0
- package/src/brand/CTABanner/index.ts +8 -0
- package/src/brand/Footer/Footer.tsx +36 -0
- package/src/brand/Footer/index.ts +3 -0
- package/src/brand/index.ts +5 -0
- package/src/coder/CodeCopy/CodeCopy.style.tsx +21 -0
- package/src/coder/CodeCopy/CodeCopy.tsx +32 -0
- package/src/coder/CodeCopy/index.ts +7 -0
- package/src/coder/CodeSample/CodeSample.styles.tsx +137 -0
- package/src/coder/CodeSample/CodeSample.tsx +150 -0
- package/src/coder/CodeSample/default-theme.ts +266 -0
- package/src/coder/CodeSample/index.ts +12 -0
- package/src/coder/CodeSample/withLocalStored.tsx +50 -0
- package/src/coder/README.md +1 -0
- package/src/coder/index.ts +3 -0
- package/src/content/Anchor/Anchor.tsx +63 -0
- package/src/content/Anchor/index.tsx +3 -0
- package/src/content/Content/Content.tsx +20 -0
- package/src/content/Content/index.tsx +3 -0
- package/src/content/Content.tsx +137 -0
- package/src/content/Subtitle/Subtitle.tsx +21 -0
- package/src/content/Subtitle/index.tsx +3 -0
- package/src/content/index.ts +3 -0
- package/src/layouts/Layout.styles.tsx +151 -0
- package/src/layouts/Layout.tsx +121 -0
- package/src/layouts/index.ts +7 -0
- package/src/pages/HomePage/HomePage.tsx +93 -0
- package/src/pages/HomePage/index.ts +5 -0
- package/src/pages/HomePage/types.ts +41 -0
- package/src/pages/index.ts +1 -0
- package/src/views/HomeView/HomeView.tsx +74 -0
- package/src/views/HomeView/index.ts +3 -0
- package/src/views/index.ts +1 -0
- package/src/writer/Badge/Badge.styles.tsx +29 -0
- package/src/writer/Badge/Badge.tsx +28 -0
- package/src/writer/Badge/index.ts +7 -0
- package/src/writer/Blockquote/Blockquote.styles.tsx +10 -0
- package/src/writer/Blockquote/Blockquote.tsx +13 -0
- package/src/writer/Blockquote/index.ts +7 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +28 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.tsx +46 -0
- package/src/writer/Breadcrumbs/index.ts +7 -0
- package/src/writer/Callout/Callout.styles.tsx +50 -0
- package/src/writer/Callout/Callout.tsx +37 -0
- package/src/writer/Callout/index.tsx +3 -0
- package/src/writer/Code/Code.styles.tsx +17 -0
- package/src/writer/Code/Code.tsx +13 -0
- package/src/writer/Code/index.ts +3 -0
- package/src/writer/Details/Details.styles.tsx +76 -0
- package/src/writer/Details/Details.tsx +122 -0
- package/src/writer/Details/index.ts +3 -0
- package/src/writer/GuideCard/GuideCard.styles.tsx +115 -0
- package/src/writer/GuideCard/GuideCard.tsx +81 -0
- package/src/writer/GuideCard/index.ts +1 -0
- package/src/writer/Heading/Heading.styles.tsx +73 -0
- package/src/writer/Heading/Heading.tsx +53 -0
- package/src/writer/Heading/index.ts +7 -0
- package/src/writer/Hr/Hr.styles.tsx +7 -0
- package/src/writer/Hr/Hr.tsx +13 -0
- package/src/writer/Hr/index.ts +3 -0
- package/src/writer/Icon/index.tsx +112 -0
- package/src/writer/NavLinks/NavLinks.styles.ts +32 -0
- package/src/writer/NavLinks/NavLinks.tsx +48 -0
- package/src/writer/NavLinks/index.ts +7 -0
- package/src/writer/Pre/Pre.styles.tsx +13 -0
- package/src/writer/Pre/Pre.tsx +13 -0
- package/src/writer/Pre/index.ts +3 -0
- package/src/writer/README.md +1 -0
- package/src/writer/Steps/Steps.styles.tsx +36 -0
- package/src/writer/Steps/Steps.tsx +24 -0
- package/src/writer/Steps/index.ts +5 -0
- package/src/writer/Table/Table.styles.tsx +39 -0
- package/src/writer/Table/Table.tsx +45 -0
- package/src/writer/Table/index.ts +10 -0
- package/src/writer/Tabs/Tabs.styles.tsx +77 -0
- package/src/writer/Tabs/Tabs.tsx +104 -0
- package/src/writer/Tabs/index.ts +7 -0
- package/src/writer/UnderlineNav/UnderlineNav.styles.tsx +45 -0
- package/src/writer/UnderlineNav/UnderlineNav.tsx +38 -0
- package/src/writer/UnderlineNav/index.ts +1 -0
- package/src/writer/index.ts +32 -0
- package/tsconfig.json +41 -0
- package/writer.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Mojo",n="mojo",t=[{include:"#statement"},{include:"#expression"}],a={"annotated-parameter":{begin:"(?x)\n\\b\n([[:alpha:]_]\\w*) \\s* (:)\n",beginCaptures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.annotation.python"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"},{match:"=(?!=)",name:"keyword.operator.assignment.python"}]},"assignment-operator":{match:"(?x)\n<<= | >>= | //= | \\*\\*=\n| \\+= | -= | /= | @=\n| \\*= | %= | ~= | \\^= | &= | \\|=\n| =(?!=)\n",name:"keyword.operator.assignment.python"},backticks:{begin:"\\`",end:"(?:\\`|(?<!\\\\)(\\n))",name:"string.quoted.single.python"},"builtin-callables":{patterns:[{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#builtin-exceptions"},{include:"#builtin-functions"},{include:"#builtin-types"}]},"builtin-exceptions":{match:"(?x) (?<!\\.) \\b(\n(\nArithmetic | Assertion | Attribute | Buffer | BlockingIO\n| BrokenPipe | ChildProcess\n| (Connection (Aborted | Refused | Reset)?)\n| EOF | Environment | FileExists | FileNotFound\n| FloatingPoint | IO | Import | Indentation | Index | Interrupted\n| IsADirectory | NotADirectory | Permission | ProcessLookup\n| Timeout\n| Key | Lookup | Memory | Name | NotImplemented | OS | Overflow\n| Reference | Runtime | Recursion | Syntax | System\n| Tab | Type | UnboundLocal | Unicode(Encode|Decode|Translate)?\n| Value | Windows | ZeroDivision | ModuleNotFound\n) Error\n|\n((Pending)?Deprecation | Runtime | Syntax | User | Future | Import\n| Unicode | Bytes | Resource\n)? Warning\n|\nSystemExit | Stop(Async)?Iteration\n| KeyboardInterrupt\n| GeneratorExit | (Base)?Exception\n)\\b\n",name:"support.type.exception.python"},"builtin-functions":{patterns:[{match:"(?x)\n(?<!\\.) \\b(\n__import__ | abs | aiter | all | any | anext | ascii | bin\n| breakpoint | callable | chr | compile | copyright | credits\n| delattr | dir | divmod | enumerate | eval | exec | exit\n| filter | format | getattr | globals | hasattr | hash | help\n| hex | id | input | isinstance | issubclass | iter | len\n| license | locals | map | max | memoryview | min | next\n| oct | open | ord | pow | print | quit | range | reload | repr\n| reversed | round | setattr | sorted | sum | vars | zip\n)\\b\n",name:"support.function.builtin.python"},{match:"(?x)\n(?<!\\.) \\b(\nfile | reduce | intern | raw_input | unicode | cmp | basestring\n| execfile | long | xrange\n)\\b\n",name:"variable.legacy.builtin.python"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{match:"(?x)\n(?<!\\.) \\b(\n__mlir_attr | __mlir_op | __mlir_type | bool | bytearray | bytes | classmethod | complex | dict\n| float | frozenset | int | list | object | property\n| set | slice | staticmethod | str | tuple | type\n\n(?# Although 'super' is not a type, it's related to types,\nand is special enough to be highlighted differently from\nother built-ins)\n| super\n)\\b\n",name:"support.type.python"},"call-wrapper-inheritance":{begin:"(?x)\n\\b(?=\n([[:alpha:]_]\\w*) \\s* (\\()\n)\n",comment:"same as a function call, but in inheritance context",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#inheritance-name"},{include:"#function-arguments"}]},"class-declaration":{patterns:[{begin:"(?x)\n\\s*(class|struct|trait)\\s+\n(?=\n[[:alpha:]_]\\w* \\s* (:|\\()\n)\n",beginCaptures:{1:{name:"storage.type.class.python"}},end:"(:)",endCaptures:{1:{name:"punctuation.section.class.begin.python"}},name:"meta.class.python",patterns:[{include:"#class-name"},{include:"#class-inheritance"}]}]},"class-inheritance":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.inheritance.begin.python"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.inheritance.end.python"}},name:"meta.class.inheritance.python",patterns:[{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.arguments.python"},{match:",",name:"punctuation.separator.inheritance.python"},{match:"=(?!=)",name:"keyword.operator.assignment.python"},{match:"\\bmetaclass\\b",name:"support.type.metaclass.python"},{include:"#illegal-names"},{include:"#class-kwarg"},{include:"#call-wrapper-inheritance"},{include:"#expression-base"},{include:"#member-access-class"},{include:"#inheritance-identifier"}]},"class-kwarg":{captures:{1:{name:"entity.other.inherited-class.python variable.parameter.class.python"},2:{name:"keyword.operator.assignment.python"}},match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\s*(=)(?!=)\n"},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n",name:"entity.name.type.class.python"}]},codetags:{captures:{1:{name:"keyword.codetag.notation.python"}},match:"(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)"},comments:{patterns:[{begin:"(?x)\n(?:\n\\# \\s* (type:)\n\\s*+ (?# we want `\\s*+` which is possessive quantifier since\nwe do not actually want to backtrack when matching\nwhitespace here)\n(?! $ | \\#)\n)\n",beginCaptures:{0:{name:"meta.typehint.comment.python"},1:{name:"comment.typehint.directive.notation.python"}},contentName:"meta.typehint.comment.python",end:"(?:$|(?=\\#))",name:"comment.line.number-sign.python",patterns:[{match:"(?x)\n\\G ignore\n(?= \\s* (?: $ | \\#))\n",name:"comment.typehint.ignore.notation.python"},{match:"(?x)\n(?<!\\.)\\b(\nbool | bytes | float | int | object | str\n| List | Dict | Iterable | Sequence | Set\n| FrozenSet | Callable | Union | Tuple\n| Any | None\n)\\b\n",name:"comment.typehint.type.notation.python"},{match:"([\\[\\]\\(\\),\\.\\=\\*]|(->))",name:"comment.typehint.punctuation.notation.python"},{match:"([[:alpha:]_]\\w*)",name:"comment.typehint.variable.notation.python"}]},{include:"#comments-base"}]},"comments-base":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:"($)",name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-double-three":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:'($|(?="""))',name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-single-three":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:"($|(?='''))",name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"curly-braces":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.dict.begin.python"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.dict.end.python"}},patterns:[{match:":",name:"punctuation.separator.dict.python"},{include:"#expression"}]},decorator:{begin:"(?x)\n^\\s*\n((@)) \\s* (?=[[:alpha:]_]\\w*)\n",beginCaptures:{1:{name:"entity.name.function.decorator.python"},2:{name:"punctuation.definition.decorator.python"}},end:"(?x)\n( \\) )\n\n(?: (.*?) (?=\\s*(?:\\#|$)) )\n| (?=\\n|\\#)\n",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"},2:{name:"invalid.illegal.decorator.python"}},name:"meta.function.decorator.python",patterns:[{include:"#decorator-name"},{include:"#function-arguments"}]},"decorator-name":{patterns:[{include:"#builtin-callables"},{include:"#illegal-object-name"},{captures:{2:{name:"punctuation.separator.period.python"}},match:"(?x)\n([[:alpha:]_]\\w*) | (\\.)\n",name:"entity.name.function.decorator.python"},{include:"#line-continuation"},{captures:{1:{name:"invalid.illegal.decorator.python"}},match:"(?x)\n\\s* ([^([:alpha:]\\s_\\.#\\\\] .*?) (?=\\#|$)\n",name:"invalid.illegal.decorator.python"}]},"double-one-regexp-character-set":{patterns:[{match:"(?x)\n\\[ \\^? \\] (?! .*?\\])\n"},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:'(\\]|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-one-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-one-regexp-character-set"},{include:"#double-one-regexp-comments"},{include:"#regexp-flags"},{include:"#double-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-one-regexp-lookahead"},{include:"#double-one-regexp-lookahead-negative"},{include:"#double-one-regexp-lookbehind"},{include:"#double-one-regexp-lookbehind-negative"},{include:"#double-one-regexp-conditional"},{include:"#double-one-regexp-parentheses-non-capturing"},{include:"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{begin:"(?x)\n(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{patterns:[{match:"(?x)\n\\[ \\^? \\] (?! .*?\\])\n"},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:'(\\]|(?="""))',endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-three-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-three-regexp-character-set"},{include:"#double-three-regexp-comments"},{include:"#regexp-flags"},{include:"#double-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-three-regexp-lookahead"},{include:"#double-three-regexp-lookahead-negative"},{include:"#double-three-regexp-lookbehind"},{include:"#double-three-regexp-lookbehind-negative"},{include:"#double-three-regexp-conditional"},{include:"#double-three-regexp-parentheses-non-capturing"},{include:"#double-three-regexp-parentheses"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-named-group":{begin:"(?x)\n(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},ellipsis:{match:"\\.\\.\\.",name:"constant.other.ellipsis.python"},"escape-sequence":{match:"(?x)\n\\\\ (\nx[0-9A-Fa-f]{2}\n| [0-7]{1,3}\n| [\\\\\"'abfnrtv]\n)\n",name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:"(?x)\n\\\\ (\nu[0-9A-Fa-f]{4}\n| U[0-9A-Fa-f]{8}\n| N\\{[\\w\\s]+?\\}\n)\n",name:"constant.character.escape.python"}]},expression:{comment:"All valid Python expressions",patterns:[{include:"#expression-base"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:"(?x) \\b ([[:alpha:]_]\\w*) \\b"}]},"expression-bare":{comment:"valid Python expressions w/o comments and line continuation",patterns:[{include:"#backticks"},{include:"#literal"},{include:"#regexp"},{include:"#string"},{include:"#lambda"},{include:"#generator"},{include:"#illegal-operator"},{include:"#operator"},{include:"#curly-braces"},{include:"#item-access"},{include:"#list"},{include:"#odd-function-call"},{include:"#round-braces"},{include:"#function-call"},{include:"#builtin-functions"},{include:"#builtin-types"},{include:"#builtin-exceptions"},{include:"#magic-names"},{include:"#special-names"},{include:"#illegal-names"},{include:"#special-variables"},{include:"#ellipsis"},{include:"#punctuation"},{include:"#line-continuation"}]},"expression-base":{comment:"valid Python expressions with comments and line continuation",patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{comment:"All valid Python expressions, except comments and line continuation",patterns:[{include:"#expression-bare"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:"(?x) \\b ([[:alpha:]_]\\w*) \\b"}]},"fregexp-base-expression":{patterns:[{include:"#fregexp-quantifier"},{include:"#fstring-formatting-braces"},{match:"\\{.*?\\}"},{include:"#regexp-base-common"}]},"fregexp-quantifier":{match:"(?x)\n\\{\\{(\n\\d+ | \\d+,(\\d+)? | ,\\d+\n)\\}\\}\n",name:"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{begin:"(\\b[fF])([bBuU])?('''|\"\"\")",beginCaptures:{1:{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},2:{name:"invalid.illegal.prefix.python"},3:{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{begin:"(\\b[fF])([bBuU])?((['\"]))",beginCaptures:{1:{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},2:{name:"invalid.illegal.prefix.python"},3:{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-formatting":{patterns:[{include:"#fstring-formatting-braces"},{include:"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{patterns:[{captures:{1:{name:"constant.character.format.placeholder.other.python"},2:{name:"invalid.illegal.brace.python"},3:{name:"constant.character.format.placeholder.other.python"}},comment:"empty braces are illegal",match:"({)(\\s*?)(})"},{match:"({{|}})",name:"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{match:"(}(?!}))",name:"invalid.illegal.brace.python"},"fstring-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#fstring-formatting"}]},"fstring-illegal-multi-brace":{patterns:[{include:"#impossible"}]},"fstring-illegal-single-brace":{begin:"(\\{)(?=[^\\n}]*$\\n?)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},comment:"it is illegal to have a multiline brace inside a single-line string",end:"(\\})|(?=\\n)",endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-multi-brace":{begin:"(\\{)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:"(?x)\n(\\})\n",endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-multi"},{include:"#f-expression"}]},"fstring-multi-core":{match:"(?x)\n(.+?)\n(\n(?# .* and .*? in multi-line match need special handling of\nnewlines otherwise SublimeText and Atom will match slightly\ndifferently.\n\nThe guard for newlines has to be separate from the\nlookahead because of special $ matching rule.)\n($\\n?)\n|\n(?=[\\\\\\}\\{]|'''|\"\"\")\n)\n(?# due to how multiline regexps are matched we need a special case\nfor matching a newline character)\n| \\n\n",name:"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{begin:"(\\b[bBuU])([fF])('''|\"\"\")",beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python string.quoted.multi.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{begin:"(\\b[bBuU])([fF])((['\"]))",beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python string.quoted.single.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#fstring-formatting"}]},"fstring-raw-multi-core":{match:"(?x)\n(.+?)\n(\n(?# .* and .*? in multi-line match need special handling of\nnewlines otherwise SublimeText and Atom will match slightly\ndifferently.\n\nThe guard for newlines has to be separate from the\nlookahead because of special $ matching rule.)\n($\\n?)\n|\n(?=[\\\\\\}\\{]|'''|\"\"\")\n)\n(?# due to how multiline regexps are matched we need a special case\nfor matching a newline character)\n| \\n\n",name:"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{begin:"(\\b(?:[rR][fF]|[fF][rR]))('''|\"\"\")",beginCaptures:{1:{name:"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{begin:"(\\b(?:[rR][fF]|[fF][rR]))((['\"]))",beginCaptures:{1:{name:"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-raw-single-core"}]},"fstring-raw-single-core":{match:"(?x)\n(.+?)\n(\n(?# .* and .*? in multi-line match need special handling of\nnewlines otherwise SublimeText and Atom will match slightly\ndifferently.\n\nThe guard for newlines has to be separate from the\nlookahead because of special $ matching rule.)\n($\\n?)\n|\n(?=[\\\\\\}\\{]|(['\"])|((?<!\\\\)\\n))\n)\n(?# due to how multiline regexps are matched we need a special case\nfor matching a newline character)\n| \\n\n",name:"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{begin:"(\\{)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:"(?x)\n(\\})|(?=\\n)\n",endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-single-core":{match:"(?x)\n(.+?)\n(\n(?# .* and .*? in multi-line match need special handling of\nnewlines otherwise SublimeText and Atom will match slightly\ndifferently.\n\nThe guard for newlines has to be separate from the\nlookahead because of special $ matching rule.)\n($\\n?)\n|\n(?=[\\\\\\}\\{]|(['\"])|((?<!\\\\)\\n))\n)\n(?# due to how multiline regexps are matched we need a special case\nfor matching a newline character)\n| \\n\n",name:"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{patterns:[{match:"(=(![rsa])?)(?=})",name:"storage.type.format.python"},{match:"(=?![rsa])(?=})",name:"storage.type.format.python"},{captures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},match:"(?x)\n( (?: =?) (?: ![rsa])? )\n( : \\w? [<>=^]? [-+ ]? \\#?\n\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n"},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:"((?:=?)(?:![rsa])?)(:)(?=.*?{)",beginCaptures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},end:"(?=})",patterns:[{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{match:"([bcdeEfFgGnosxX%])(?=})",name:"storage.type.format.python"},{match:"(\\.\\d+)",name:"storage.type.format.python"},{match:"(,)",name:"storage.type.format.python"},{match:"(\\d+)",name:"storage.type.format.python"},{match:"(\\#)",name:"storage.type.format.python"},{match:"([-+ ])",name:"storage.type.format.python"},{match:"([<>=^])",name:"storage.type.format.python"},{match:"(\\w)",name:"storage.type.format.python"}]},"fstring-terminator-single":{patterns:[{match:"(=(![rsa])?)(?=})",name:"storage.type.format.python"},{match:"(=?![rsa])(?=})",name:"storage.type.format.python"},{captures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},match:"(?x)\n( (?: =?) (?: ![rsa])? )\n( : \\w? [<>=^]? [-+ ]? \\#?\n\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n"},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:"((?:=?)(?:![rsa])?)(:)(?=.*?{)",beginCaptures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},end:"(?=})|(?=\\n)",patterns:[{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{match:"([bcdeEfFgGnosxX%])(?=})",name:"storage.type.format.python"},{match:"(\\.\\d+)",name:"storage.type.format.python"},{match:"(,)",name:"storage.type.format.python"},{match:"(\\d+)",name:"storage.type.format.python"},{match:"(\\#)",name:"storage.type.format.python"},{match:"([-+ ])",name:"storage.type.format.python"},{match:"([<>=^])",name:"storage.type.format.python"},{match:"(\\w)",name:"storage.type.format.python"}]},"function-arguments":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.function-call.arguments.python",end:"(?=\\))(?!\\)\\s*\\()",patterns:[{match:"(,)",name:"punctuation.separator.arguments.python"},{captures:{1:{name:"keyword.operator.unpacking.arguments.python"}},match:"(?x)\n(?:(?<=[,(])|^) \\s* (\\*{1,2})\n"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{captures:{1:{name:"variable.parameter.function-call.python"},2:{name:"keyword.operator.assignment.python"}},match:"\\b([[:alpha:]_]\\w*)\\s*(=)(?!=)"},{match:"=(?!=)",name:"keyword.operator.assignment.python"},{include:"#expression"},{captures:{1:{name:"punctuation.definition.arguments.end.python"},2:{name:"punctuation.definition.arguments.begin.python"}},match:"\\s*(\\))\\s*(\\()"}]},"function-call":{begin:"(?x)\n\\b(?=\n([[:alpha:]_]\\w*) \\s* (\\()\n)\n",comment:'Regular function call of the type "name(args)"',end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#special-variables"},{include:"#function-name"},{include:"#function-arguments"}]},"function-declaration":{begin:"(?x)\n\\s*\n(?:\\b(async) \\s+)? \\b(def|fn)\\s+\n(?=\n[[:alpha:]_][[:word:]]* \\s* [\\(\\[]\n)\n",beginCaptures:{1:{name:"storage.type.function.async.python"},2:{name:"storage.type.function.python"}},end:"(:|(?=[#'\"\\n]))",endCaptures:{1:{name:"punctuation.section.function.begin.python"}},name:"meta.function.python",patterns:[{include:"#function-modifier"},{include:"#function-def-name"},{include:"#parameters"},{include:"#meta_parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n",name:"entity.name.function.python"}]},"function-modifier":{match:"(raises|capturing)",name:"storage.modifier"},"function-name":{patterns:[{include:"#builtin-possible-callables"},{comment:"Some color schemas support meta.function-call.generic scope",match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n",name:"meta.function-call.generic.python"}]},generator:{begin:"\\bfor\\b",beginCaptures:{0:{name:"keyword.control.flow.python"}},comment:'Match "for ... in" construct used in generators and for loops to\ncorrectly identify the "in" as a control flow keyword.\n',end:"\\bin\\b",endCaptures:{0:{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-names":{captures:{1:{name:"keyword.control.flow.python"},2:{name:"storage.type.function.python"},3:{name:"keyword.control.import.python"}},match:"(?x)\n\\b(?:\n(\nand | assert | async | await | break | class | struct | trait | continue | del | elif | else | except | finally | for | from | global\n| if | in | is | (?<=\\.)lambda | lambda(?=\\s*[\\.=])\n| nonlocal | not | or | pass | raise | return | try | while | with\n| yield\n) | (def | fn | capturing | raises) | (\nas | import\n)\n)\\b\n"},"illegal-object-name":{comment:'It\'s illegal to name class or function "True"',match:"\\b(True|False|None)\\b",name:"keyword.illegal.name.python"},"illegal-operator":{patterns:[{match:"&&|\\|\\||--|\\+\\+",name:"invalid.illegal.operator.python"},{match:"[?$]",name:"invalid.illegal.operator.python"},{comment:"We don't want `!` to flash when we're typing `!=`",match:"!\\b",name:"invalid.illegal.operator.python"}]},import:{comment:"Import statements used to correctly mark `from`, `import`, and `as`\n",patterns:[{begin:"\\b(?<!\\.)(from)\\b(?=.+import)",beginCaptures:{1:{name:"keyword.control.import.python"}},end:"$|(?=import)",patterns:[{match:"\\.+",name:"punctuation.separator.period.python"},{include:"#expression"}]},{begin:"\\b(?<!\\.)(import)\\b",beginCaptures:{1:{name:"keyword.control.import.python"}},end:"$",patterns:[{match:"\\b(?<!\\.)as\\b",name:"keyword.control.import.python"},{include:"#expression"}]}]},impossible:{comment:"This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",match:"$.^"},"inheritance-identifier":{captures:{1:{name:"entity.other.inherited-class.python"}},match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n"},"inheritance-name":{patterns:[{include:"#lambda-incomplete"},{include:"#builtin-possible-callables"},{include:"#inheritance-identifier"}]},"item-access":{patterns:[{begin:"(?x)\n\\b(?=\n[[:alpha:]_]\\w* \\s* \\[\n)\n",end:"(\\])",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.item-access.python",patterns:[{include:"#item-name"},{include:"#item-index"},{include:"#expression"}]}]},"item-index":{begin:"(\\[)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.item-access.arguments.python",end:"(?=\\])",patterns:[{match:":",name:"punctuation.separator.slice.python"},{include:"#expression"}]},"item-name":{patterns:[{include:"#special-variables"},{include:"#builtin-functions"},{include:"#special-names"},{match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n",name:"meta.indexed-name.python"}]},lambda:{patterns:[{captures:{1:{name:"keyword.control.flow.python"}},match:"((?<=\\.)lambda|lambda(?=\\s*[\\.=]))"},{captures:{1:{name:"storage.type.function.lambda.python"}},match:"\\b(lambda)\\s*?(?=[,\\n]|$)"},{begin:"(?x)\n\\b (lambda) \\b\n",beginCaptures:{1:{name:"storage.type.function.lambda.python"}},contentName:"meta.function.lambda.parameters.python",end:"(:)|(\\n)",endCaptures:{1:{name:"punctuation.section.function.lambda.begin.python"}},name:"meta.lambda-function.python",patterns:[{match:"\\b(owned|borrowed|inout)\\b",name:"storage.modifier"},{match:"/",name:"keyword.operator.positional.parameter.python"},{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-nested-incomplete"},{include:"#illegal-names"},{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.parameters.python"}},match:"([[:alpha:]_]\\w*)\\s*(?:(,)|(?=:|$))"},{include:"#comments"},{include:"#backticks"},{include:"#lambda-parameter-with-default"},{include:"#line-continuation"},{include:"#illegal-operator"}]}]},"lambda-incomplete":{match:"\\blambda(?=\\s*[,)])",name:"storage.type.function.lambda.python"},"lambda-nested-incomplete":{match:"\\blambda(?=\\s*[:,)])",name:"storage.type.function.lambda.python"},"lambda-parameter-with-default":{begin:"(?x)\n\\b\n([[:alpha:]_]\\w*) \\s* (=)\n",beginCaptures:{1:{name:"variable.parameter.function.language.python"},2:{name:"keyword.operator.python"}},end:"(,)|(?=:|$)",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"line-continuation":{patterns:[{captures:{1:{name:"punctuation.separator.continuation.line.python"},2:{name:"invalid.illegal.line.continuation.python"}},match:"(\\\\)\\s*(\\S.*$\\n?)"},{begin:"(\\\\)\\s*$\\n?",beginCaptures:{1:{name:"punctuation.separator.continuation.line.python"}},end:"(?x)\n(?=^\\s*$)\n|\n(?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n|\n(\\G $) (?# '\\G' is necessary for ST)\n)\n",patterns:[{include:"#regexp"},{include:"#string"}]}]},list:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.list.begin.python"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.list.end.python"}},patterns:[{include:"#expression"}]},literal:{patterns:[{match:"\\b(True|False|None|NotImplemented|Ellipsis)\\b",name:"constant.language.python"},{include:"#number"}]},"loose-default":{begin:"(=)",beginCaptures:{1:{name:"keyword.operator.python"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"magic-function-names":{captures:{1:{name:"support.function.magic.python"}},comment:"these methods have magic interpretation by python and are generally called\nindirectly through syntactic constructs\n",match:"(?x)\n\\b(\n__(?:\nabs | add | aenter | aexit | aiter | and | anext\n| await | bool | call | ceil | class_getitem\n| cmp | coerce | complex | contains | copy\n| deepcopy | del | delattr | delete | delitem\n| delslice | dir | div | divmod | enter | eq\n| exit | float | floor | floordiv | format | ge\n| get | getattr | getattribute | getinitargs\n| getitem | getnewargs | getslice | getstate | gt\n| hash | hex | iadd | iand | idiv | ifloordiv |\n| ilshift | imod | imul | index | init\n| instancecheck | int | invert | ior | ipow\n| irshift | isub | iter | itruediv | ixor | le\n| len | long | lshift | lt | missing | mod | mul\n| ne | neg | new | next | nonzero | oct | or | pos\n| pow | radd | rand | rdiv | rdivmod | reduce\n| reduce_ex | repr | reversed | rfloordiv |\n| rlshift | rmod | rmul | ror | round | rpow\n| rrshift | rshift | rsub | rtruediv | rxor | set\n| setattr | setitem | set_name | setslice\n| setstate | sizeof | str | sub | subclasscheck\n| truediv | trunc | unicode | xor | matmul\n| rmatmul | imatmul | init_subclass | set_name\n| fspath | bytes | prepare | length_hint\n)__\n)\\b\n"},"magic-names":{patterns:[{include:"#magic-function-names"},{include:"#magic-variable-names"}]},"magic-variable-names":{captures:{1:{name:"support.variable.magic.python"}},comment:"magic variables which a class/module may have.",match:"(?x)\n\\b(\n__(?:\nall | annotations | bases | builtins | class\n| struct\n| trait\n| closure | code | debug | defaults | dict | doc | file | func\n| globals | kwdefaults | match_args | members | metaclass | methods\n| module | mro | mro_entries | name | qualname | post_init | self\n| signature | slots | subclasses | version | weakref | wrapped\n| classcell | spec | path | package | future | traceback\n)__\n)\\b\n"},"member-access":{begin:"(\\.)\\s*(?!\\.)",beginCaptures:{1:{name:"punctuation.separator.period.python"}},end:"(?x)\n\n\n(?<=\\S)(?=\\W) |\n\n\n(^|(?<=\\s))(?=[^\\\\\\w\\s]) |\n$\n",name:"meta.member.access.python",patterns:[{include:"#function-call"},{include:"#member-access-base"},{include:"#member-access-attribute"}]},"member-access-attribute":{comment:"Highlight attribute access in otherwise non-specialized cases.",match:"(?x)\n\\b ([[:alpha:]_]\\w*) \\b\n",name:"meta.attribute.python"},"member-access-base":{patterns:[{include:"#magic-names"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#special-names"},{include:"#line-continuation"},{include:"#item-access"}]},"member-access-class":{begin:"(\\.)\\s*(?!\\.)",beginCaptures:{1:{name:"punctuation.separator.period.python"}},end:"(?<=\\S)(?=\\W)|$",name:"meta.member.access.python",patterns:[{include:"#call-wrapper-inheritance"},{include:"#member-access-base"},{include:"#inheritance-identifier"}]},meta_parameters:{begin:"(\\[)",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.python"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{begin:"(?x)\n\\b\n([[:alpha:]_]\\w*) \\s* (:)\n",beginCaptures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.annotation.python"}},end:"(,)|(?=\\])",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},{include:"#comments"}]},number:{name:"constant.numeric.python",patterns:[{include:"#number-float"},{include:"#number-dec"},{include:"#number-hex"},{include:"#number-oct"},{include:"#number-bin"},{include:"#number-long"},{match:"\\b[0-9]+\\w+",name:"invalid.illegal.name.python"}]},"number-bin":{captures:{1:{name:"storage.type.number.python"}},match:"(?x)\n(?<![\\w\\.])\n(0[bB]) (_?[01])+\n\\b\n",name:"constant.numeric.bin.python"},"number-dec":{captures:{1:{name:"storage.type.imaginary.number.python"},2:{name:"invalid.illegal.dec.python"}},match:"(?x)\n(?<![\\w\\.])(?:\n[1-9](?: _?[0-9] )*\n|\n0+\n|\n[0-9](?: _?[0-9] )* ([jJ])\n|\n0 ([0-9]+)(?![eE\\.])\n)\\b\n",name:"constant.numeric.dec.python"},"number-float":{captures:{1:{name:"storage.type.imaginary.number.python"}},match:"(?x)\n(?<! \\w)(?:\n(?:\n\\.[0-9](?: _?[0-9] )*\n|\n[0-9](?: _?[0-9] )* \\. [0-9](?: _?[0-9] )*\n|\n[0-9](?: _?[0-9] )* \\.\n) (?: [eE][+-]?[0-9](?: _?[0-9] )* )?\n|\n[0-9](?: _?[0-9] )* (?: [eE][+-]?[0-9](?: _?[0-9] )* )\n)([jJ])?\\b\n",name:"constant.numeric.float.python"},"number-hex":{captures:{1:{name:"storage.type.number.python"}},match:"(?x)\n(?<![\\w\\.])\n(0[xX]) (_?[0-9a-fA-F])+\n\\b\n",name:"constant.numeric.hex.python"},"number-long":{captures:{2:{name:"storage.type.number.python"}},comment:"this is to support python2 syntax for long ints",match:"(?x)\n(?<![\\w\\.])\n([1-9][0-9]* | 0) ([lL])\n\\b\n",name:"constant.numeric.bin.python"},"number-oct":{captures:{1:{name:"storage.type.number.python"}},match:"(?x)\n(?<![\\w\\.])\n(0[oO]) (_?[0-7])+\n\\b\n",name:"constant.numeric.oct.python"},"odd-function-call":{begin:"(?x)\n(?<= \\] | \\) ) \\s*\n(?=\\()\n",comment:'A bit obscured function call where there may have been an\narbitrary number of other operations to get the function.\nE.g. "arr[idx](args)"\n',end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},patterns:[{include:"#function-arguments"}]},operator:{captures:{1:{name:"keyword.operator.logical.python"},2:{name:"keyword.control.flow.python"},3:{name:"keyword.operator.bitwise.python"},4:{name:"keyword.operator.arithmetic.python"},5:{name:"keyword.operator.comparison.python"},6:{name:"keyword.operator.assignment.python"}},match:"(?x)\n\\b(?<!\\.)\n(?:\n(and | or | not | in | is) (?# 1)\n|\n(for | if | else | await | (?:yield(?:\\s+from)?)) (?# 2)\n)\n(?!\\s*:)\\b\n\n| (<< | >> | & | \\| | \\^ | ~) (?# 3)\n\n| (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n| (!= | == | >= | <= | < | >) (?# 5)\n\n| (:=) (?# 6)\n"},"parameter-special":{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"variable.parameter.function.language.special.self.python"},3:{name:"variable.parameter.function.language.special.cls.python"},4:{name:"punctuation.separator.parameters.python"}},match:"(?x)\n\\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n"},parameters:{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.python"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{match:"\\b(owned|borrowed|inout)\\b",name:"storage.modifier"},{match:"/",name:"keyword.operator.positional.parameter.python"},{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#parameter-special"},{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.parameters.python"}},match:"(?x)\n([[:alpha:]_]\\w*)\n\\s* (?: (,) | (?=[)#\\n=]))\n"},{include:"#comments"},{include:"#loose-default"},{include:"#annotated-parameter"}]},punctuation:{patterns:[{match:":",name:"punctuation.separator.colon.python"},{match:",",name:"punctuation.separator.element.python"}]},regexp:{patterns:[{include:"#regexp-single-three-line"},{include:"#regexp-double-three-line"},{include:"#regexp-single-one-line"},{include:"#regexp-double-one-line"}]},"regexp-backreference":{captures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},2:{name:"entity.name.tag.named.backreference.regexp"},3:{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},match:"(?x)\n(\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))\n",name:"meta.backreference.named.regexp"},"regexp-backreference-number":{captures:{1:{name:"entity.name.tag.backreference.regexp"}},match:"(\\\\[1-9]\\d?)",name:"meta.backreference.regexp"},"regexp-base-common":{patterns:[{match:"\\.",name:"support.other.match.any.regexp"},{match:"\\^",name:"support.other.match.begin.regexp"},{match:"\\$",name:"support.other.match.end.regexp"},{match:"[+*?]\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.disjunction.regexp"},{include:"#regexp-escape-sequence"}]},"regexp-base-expression":{patterns:[{include:"#regexp-quantifier"},{include:"#regexp-base-common"}]},"regexp-charecter-set-escapes":{patterns:[{match:"\\\\[abfnrtv\\\\]",name:"constant.character.escape.regexp"},{include:"#regexp-escape-special"},{match:"\\\\([0-7]{1,3})",name:"constant.character.escape.regexp"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-escape-catchall"}]},"regexp-double-one-line":{begin:'\\b(([uU]r)|([bB]r)|(r[bB]?))(")',beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:'(")|(?<!\\\\)(\\n)',endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#double-one-regexp-expression"}]},"regexp-double-three-line":{begin:'\\b(([uU]r)|([bB]r)|(r[bB]?))(""")',beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:'(""")',endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#double-three-regexp-expression"}]},"regexp-escape-catchall":{match:"\\\\(.|\\n)",name:"constant.character.escape.regexp"},"regexp-escape-character":{match:"(?x)\n\\\\ (\nx[0-9A-Fa-f]{2}\n| 0[0-7]{1,2}\n| [0-7]{3}\n)\n",name:"constant.character.escape.regexp"},"regexp-escape-sequence":{patterns:[{include:"#regexp-escape-special"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-backreference-number"},{include:"#regexp-escape-catchall"}]},"regexp-escape-special":{match:"\\\\([AbBdDsSwWZ])",name:"support.other.escape.special.regexp"},"regexp-escape-unicode":{match:"(?x)\n\\\\ (\nu[0-9A-Fa-f]{4}\n| U[0-9A-Fa-f]{8}\n)\n",name:"constant.character.unicode.regexp"},"regexp-flags":{match:"\\(\\?[aiLmsux]+\\)",name:"storage.modifier.flag.regexp"},"regexp-quantifier":{match:"(?x)\n\\{(\n\\d+ | \\d+,(\\d+)? | ,\\d+\n)\\}\n",name:"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{begin:"\\b(([uU]r)|([bB]r)|(r[bB]?))(\\')",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:"(\\')|(?<!\\\\)(\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#single-one-regexp-expression"}]},"regexp-single-three-line":{begin:"\\b(([uU]r)|([bB]r)|(r[bB]?))(\\'\\'\\')",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:"(\\'\\'\\')",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#single-three-regexp-expression"}]},"return-annotation":{begin:"(->)",beginCaptures:{1:{name:"punctuation.separator.annotation.result.python"}},end:"(?=:)",patterns:[{include:"#expression"}]},"round-braces":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.begin.python"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.end.python"}},patterns:[{include:"#expression"}]},semicolon:{patterns:[{match:"\\;$",name:"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{patterns:[{match:"(?x)\n\\[ \\^? \\] (?! .*?\\])\n"},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:"(\\]|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-one-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-one-regexp-character-set"},{include:"#single-one-regexp-comments"},{include:"#regexp-flags"},{include:"#single-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-one-regexp-lookahead"},{include:"#single-one-regexp-lookahead-negative"},{include:"#single-one-regexp-lookbehind"},{include:"#single-one-regexp-lookbehind-negative"},{include:"#single-one-regexp-conditional"},{include:"#single-one-regexp-parentheses-non-capturing"},{include:"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{begin:"(?x)\n(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{patterns:[{match:"(?x)\n\\[ \\^? \\] (?! .*?\\])\n"},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:"(\\]|(?=\\'\\'\\'))",endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-three-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-three-regexp-character-set"},{include:"#single-three-regexp-comments"},{include:"#regexp-flags"},{include:"#single-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-three-regexp-lookahead"},{include:"#single-three-regexp-lookahead-negative"},{include:"#single-three-regexp-lookbehind"},{include:"#single-three-regexp-lookbehind-negative"},{include:"#single-three-regexp-conditional"},{include:"#single-three-regexp-parentheses-non-capturing"},{include:"#single-three-regexp-parentheses"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-named-group":{begin:"(?x)\n(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"special-names":{match:"(?x)\n\\b\n\n\n\n\n\n(\n_* [[:upper:]] [_\\d]* [[:upper:]]\n)\n[[:upper:]\\d]* (_\\w*)?\n\\b\n",name:"constant.other.caps.python"},"special-variables":{captures:{1:{name:"variable.language.special.self.python"},2:{name:"variable.language.special.cls.python"}},match:"(?x)\n\\b (?<!\\.) (?:\n(self) | (cls)\n)\\b\n"},statement:{patterns:[{include:"#import"},{include:"#class-declaration"},{include:"#function-declaration"},{include:"#generator"},{include:"#statement-keyword"},{include:"#assignment-operator"},{include:"#decorator"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:"\\b((async\\s+)?\\s*(def|fn))\\b",name:"storage.type.function.python"},{comment:"if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n",match:"\\b(?<!\\.)as\\b(?=.*[:\\\\])",name:"keyword.control.flow.python"},{comment:"other legal use of `as` is in an import",match:"\\b(?<!\\.)as\\b",name:"keyword.control.import.python"},{match:"(?x)\n\\b(?<!\\.)(\nasync | continue | del | assert | break | finally | for\n| from | elif | else | if | except | pass | raise\n| return | try | while | with\n)\\b\n",name:"keyword.control.flow.python"},{match:"(?x)\n\\b(?<!\\.)(\nglobal | nonlocal\n)\\b\n",name:"storage.modifier.declaration.python"},{match:"\\b(?<!\\.)(class|struct|trait)\\b",name:"storage.type.class.python"},{captures:{1:{name:"keyword.control.flow.python"}},match:"(?x)\n^\\s*(\ncase | match\n)(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n"},{captures:{1:{name:"storage.modifier.declaration.python"},2:{name:"variable.other.python"}},match:"\\b(var|let|alias) \\s*([[:alpha:]_]\\w*)\\b"}]},string:{patterns:[{include:"#string-quoted-multi-line"},{include:"#string-quoted-single-line"},{include:"#string-bin-quoted-multi-line"},{include:"#string-bin-quoted-single-line"},{include:"#string-raw-quoted-multi-line"},{include:"#string-raw-quoted-single-line"},{include:"#string-raw-bin-quoted-multi-line"},{include:"#string-raw-bin-quoted-single-line"},{include:"#fstring-fnorm-quoted-multi-line"},{include:"#fstring-fnorm-quoted-single-line"},{include:"#fstring-normf-quoted-multi-line"},{include:"#fstring-normf-quoted-single-line"},{include:"#fstring-raw-quoted-multi-line"},{include:"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{begin:"(\\b[bB])('''|\"\"\")",beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.multi.python",patterns:[{include:"#string-entity"}]},"string-bin-quoted-single-line":{begin:"(\\b[bB])((['\"]))",beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.single.python",patterns:[{include:"#string-entity"}]},"string-brace-formatting":{patterns:[{captures:{1:{name:"constant.character.format.placeholder.other.python"},3:{name:"storage.type.format.python"},4:{name:"storage.type.format.python"}},match:"(?x)\n(\n{{ | }}\n| (?:\n{\n\\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n(![rsa])?\n( : \\w? [<>=^]? [-+ ]? \\#?\n\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n})\n)\n",name:"meta.format.brace.python"},{captures:{1:{name:"constant.character.format.placeholder.other.python"},3:{name:"storage.type.format.python"},4:{name:"storage.type.format.python"}},match:"(?x)\n(\n{\n\\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n(![rsa])?\n(:)\n[^'\"{}\\n]* (?:\n\\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n)*\n}\n)\n",name:"meta.format.brace.python"}]},"string-consume-escape":{match:"\\\\['\"\\n\\\\]"},"string-entity":{patterns:[{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#string-formatting"}]},"string-formatting":{captures:{1:{name:"constant.character.format.placeholder.other.python"}},match:"(?x)\n(\n% (\\([\\w\\s]*\\))?\n[-+#0 ]*\n(\\d+|\\*)? (\\.(\\d+|\\*))?\n([hlL])?\n[diouxXeEfFgGcrsab%]\n)\n",name:"meta.format.percent.python"},"string-line-continuation":{match:"\\\\$",name:"constant.language.python"},"string-mojo-code-block":{begin:"^(\\s*\\`{3,})(mojo)$",beginCaptures:{1:{name:"string.quoted.single.python"},2:{name:"string.quoted.single.python"}},contentName:"source.mojo",end:"^(\\1)$",endCaptures:{1:{name:"string.quoted.single.python"}},name:"meta.embedded.block.mojo",patterns:[{include:"source.mojo"}]},"string-multi-bad-brace1-formatting-raw":{begin:"(?x)\n(?= \\{%\n( .*? (?!'''|\"\"\") )\n%\\}\n)\n",comment:"template using {% ... %}",end:"(?='''|\"\"\")",patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:"(?x)\n(?= \\{%\n( .*? (?!'''|\"\"\") )\n%\\}\n)\n",comment:"template using {% ... %}",end:"(?='''|\"\"\")",patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{begin:"(?x)\n(?!\\{\\{)\n(?= \\{ (\n\\w*? (?!'''|\"\"\") [^!:\\.\\[}\\w]\n)\n.*?(?!'''|\"\"\")\n\\}\n)\n",comment:"odd format or format-like syntax",end:"(?='''|\"\"\")",patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{begin:"(?x)\n(?!\\{\\{)\n(?= \\{ (\n\\w*? (?!'''|\"\"\") [^!:\\.\\[}\\w]\n)\n.*?(?!'''|\"\"\")\n\\}\n)\n",comment:"odd format or format-like syntax",end:"(?='''|\"\"\")",patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-quoted-multi-line":{begin:"(?:\\b([rR])(?=[uU]))?([uU])?('''|\"\"\")",beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-unicode"},{include:"#string-multi-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-quoted-single-line":{begin:"(?:\\b([rR])(?=[uU]))?([uU])?((['\"]))",beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-unicode"},{include:"#string-single-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-raw-bin-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{begin:"(\\b(?:R[bB]|[bB]R))('''|\"\"\")",beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.multi.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{begin:"(\\b(?:R[bB]|[bB]R))((['\"]))",beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.single.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"},{include:"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{begin:"\\b(([uU]R)|(R))('''|\"\"\")",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"punctuation.definition.string.begin.python"}},end:"(\\4)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-raw"},{include:"#string-multi-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-raw-quoted-single-line":{begin:"\\b(([uU]R)|(R))((['\"]))",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"punctuation.definition.string.begin.python"}},end:"(\\4)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-raw"},{include:"#string-single-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{begin:"(?x)\n(?= \\{%\n( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n%\\}\n)\n",comment:"template using {% ... %}",end:"(?=(['\"])|((?<!\\\\)\\n))",patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:"(?x)\n(?= \\{%\n( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n%\\}\n)\n",comment:"template using {% ... %}",end:"(?=(['\"])|((?<!\\\\)\\n))",patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{begin:"(?x)\n(?!\\{\\{)\n(?= \\{ (\n\\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n)\n.*?(?!(['\"])|((?<!\\\\)\\n))\n\\}\n)\n",comment:"odd format or format-like syntax",end:"(?=(['\"])|((?<!\\\\)\\n))",patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{begin:"(?x)\n(?!\\{\\{)\n(?= \\{ (\n\\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n)\n.*?(?!(['\"])|((?<!\\\\)\\n))\n\\}\n)\n",comment:"odd format or format-like syntax",end:"(?=(['\"])|((?<!\\\\)\\n))",patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#string-mojo-code-block"},{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},i="source.mojo",r={displayName:e,name:n,patterns:t,repository:a,scopeName:i};export{r as default,e as displayName,n as name,t as patterns,a as repository,i as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="dark",n={"dropdown.background":"#414339","list.activeSelectionBackground":"#75715E","quickInputList.focusBackground":"#414339","dropdown.listBackground":"#1e1f1c","list.inactiveSelectionBackground":"#414339","list.hoverBackground":"#3e3d32","list.dropBackground":"#414339","list.highlightForeground":"#f8f8f2","button.background":"#75715E","editor.background":"#272822","editor.foreground":"#f8f8f2","selection.background":"#878b9180","editor.selectionHighlightBackground":"#575b6180","editor.selectionBackground":"#878b9180","minimap.selectionHighlight":"#878b9180","editor.wordHighlightBackground":"#4a4a7680","editor.wordHighlightStrongBackground":"#6a6a9680","editor.lineHighlightBackground":"#3e3d32","editorLineNumber.activeForeground":"#c2c2bf","editorCursor.foreground":"#f8f8f0","editorWhitespace.foreground":"#464741","editorIndentGuide.background":"#464741","editorIndentGuide.activeBackground":"#767771","editorGroupHeader.tabsBackground":"#1e1f1c","editorGroup.dropBackground":"#41433980","tab.inactiveBackground":"#34352f","tab.border":"#1e1f1c","tab.inactiveForeground":"#ccccc7","tab.lastPinnedBorder":"#414339","widget.shadow":"#00000098","progressBar.background":"#75715E","badge.background":"#75715E","badge.foreground":"#f8f8f2","editorLineNumber.foreground":"#90908a","panelTitle.activeForeground":"#f8f8f2","panelTitle.activeBorder":"#75715E","panelTitle.inactiveForeground":"#75715E","panel.border":"#414339","settings.focusedRowBackground":"#4143395A","titleBar.activeBackground":"#1e1f1c","statusBar.background":"#414339","statusBar.noFolderBackground":"#414339","statusBar.debuggingBackground":"#75715E","statusBarItem.remoteBackground":"#AC6218","ports.iconRunningProcessForeground":"#ccccc7","activityBar.background":"#272822","activityBar.foreground":"#f8f8f2","sideBar.background":"#1e1f1c","sideBarSectionHeader.background":"#272822","menu.background":"#1e1f1c","menu.foreground":"#cccccc","pickerGroup.foreground":"#75715E","input.background":"#414339","inputOption.activeBorder":"#75715E",focusBorder:"#99947c","editorWidget.background":"#1e1f1c","debugToolBar.background":"#1e1f1c","diffEditor.insertedTextBackground":"#4b661680","diffEditor.removedTextBackground":"#90274A70","inputValidation.errorBackground":"#90274A","inputValidation.errorBorder":"#f92672","inputValidation.warningBackground":"#848528","inputValidation.warningBorder":"#e2e22e","inputValidation.infoBackground":"#546190","inputValidation.infoBorder":"#819aff","editorHoverWidget.background":"#414339","editorHoverWidget.border":"#75715E","editorSuggestWidget.background":"#272822","editorSuggestWidget.border":"#75715E","editorGroup.border":"#34352f","peekView.border":"#75715E","peekViewEditor.background":"#272822","peekViewResult.background":"#1e1f1c","peekViewTitle.background":"#1e1f1c","peekViewResult.selectionBackground":"#414339","peekViewResult.matchHighlightBackground":"#75715E","peekViewEditor.matchHighlightBackground":"#75715E","terminal.ansiBlack":"#333333","terminal.ansiRed":"#C4265E","terminal.ansiGreen":"#86B42B","terminal.ansiYellow":"#B3B42B","terminal.ansiBlue":"#6A7EC8","terminal.ansiMagenta":"#8C6BC8","terminal.ansiCyan":"#56ADBC","terminal.ansiWhite":"#e3e3dd","terminal.ansiBrightBlack":"#666666","terminal.ansiBrightRed":"#f92672","terminal.ansiBrightGreen":"#A6E22E","terminal.ansiBrightYellow":"#e2e22e","terminal.ansiBrightBlue":"#819aff","terminal.ansiBrightMagenta":"#AE81FF","terminal.ansiBrightCyan":"#66D9EF","terminal.ansiBrightWhite":"#f8f8f2"},t=[{settings:{foreground:"#F8F8F2"}},{scope:["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown"],settings:{foreground:"#F8F8F2"}},{name:"Comment",scope:"comment",settings:{foreground:"#88846f"}},{name:"String",scope:"string",settings:{foreground:"#E6DB74"}},{name:"Template Definition",scope:["punctuation.definition.template-expression","punctuation.section.embedded"],settings:{foreground:"#F92672"}},{name:"Reset JavaScript string interpolation expression",scope:["meta.template.expression"],settings:{foreground:"#F8F8F2"}},{name:"Number",scope:"constant.numeric",settings:{foreground:"#AE81FF"}},{name:"Built-in constant",scope:"constant.language",settings:{foreground:"#AE81FF"}},{name:"User-defined constant",scope:"constant.character, constant.other",settings:{foreground:"#AE81FF"}},{name:"Variable",scope:"variable",settings:{fontStyle:"",foreground:"#F8F8F2"}},{name:"Keyword",scope:"keyword",settings:{foreground:"#F92672"}},{name:"Storage",scope:"storage",settings:{fontStyle:"",foreground:"#F92672"}},{name:"Storage type",scope:"storage.type",settings:{fontStyle:"italic",foreground:"#66D9EF"}},{name:"Class name",scope:"entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution",settings:{fontStyle:"underline",foreground:"#A6E22E"}},{name:"Inherited class",scope:"entity.other.inherited-class",settings:{fontStyle:"italic underline",foreground:"#A6E22E"}},{name:"Function name",scope:"entity.name.function",settings:{fontStyle:"",foreground:"#A6E22E"}},{name:"Function argument",scope:"variable.parameter",settings:{fontStyle:"italic",foreground:"#FD971F"}},{name:"Tag name",scope:"entity.name.tag",settings:{fontStyle:"",foreground:"#F92672"}},{name:"Tag attribute",scope:"entity.other.attribute-name",settings:{fontStyle:"",foreground:"#A6E22E"}},{name:"Library function",scope:"support.function",settings:{fontStyle:"",foreground:"#66D9EF"}},{name:"Library constant",scope:"support.constant",settings:{fontStyle:"",foreground:"#66D9EF"}},{name:"Library class/type",scope:"support.type, support.class",settings:{fontStyle:"italic",foreground:"#66D9EF"}},{name:"Library variable",scope:"support.other.variable",settings:{fontStyle:""}},{name:"Invalid",scope:"invalid",settings:{fontStyle:"",foreground:"#F44747"}},{name:"Invalid deprecated",scope:"invalid.deprecated",settings:{foreground:"#F44747"}},{name:"JSON String",scope:"meta.structure.dictionary.json string.quoted.double.json",settings:{foreground:"#CFCFC2"}},{name:"diff.header",scope:"meta.diff, meta.diff.header",settings:{foreground:"#75715E"}},{name:"diff.deleted",scope:"markup.deleted",settings:{foreground:"#F92672"}},{name:"diff.inserted",scope:"markup.inserted",settings:{foreground:"#A6E22E"}},{name:"diff.changed",scope:"markup.changed",settings:{foreground:"#E6DB74"}},{scope:"constant.numeric.line-number.find-in-files - match",settings:{foreground:"#AE81FFA0"}},{scope:"entity.name.filename.find-in-files",settings:{foreground:"#E6DB74"}},{name:"Markup Quote",scope:"markup.quote",settings:{foreground:"#F92672"}},{name:"Markup Lists",scope:"markup.list",settings:{foreground:"#E6DB74"}},{name:"Markup Styling",scope:"markup.bold, markup.italic",settings:{foreground:"#66D9EF"}},{name:"Markup Inline",scope:"markup.inline.raw",settings:{fontStyle:"",foreground:"#FD971F"}},{name:"Markup Headings",scope:"markup.heading",settings:{foreground:"#A6E22E"}},{name:"Markup Setext Header",scope:"markup.heading.setext",settings:{foreground:"#A6E22E",fontStyle:"bold"}},{name:"Markup Headings",scope:"markup.heading.markdown",settings:{fontStyle:"bold"}},{name:"Markdown Quote",scope:"markup.quote.markdown",settings:{fontStyle:"italic",foreground:"#75715E"}},{name:"Markdown Bold",scope:"markup.bold.markdown",settings:{fontStyle:"bold"}},{name:"Markdown Link Title/Description",scope:"string.other.link.title.markdown,string.other.link.description.markdown",settings:{foreground:"#AE81FF"}},{name:"Markdown Underline Link/Image",scope:"markup.underline.link.markdown,markup.underline.link.image.markdown",settings:{foreground:"#E6DB74"}},{name:"Markdown Emphasis",scope:"markup.italic.markdown",settings:{fontStyle:"italic"}},{scope:"markup.strikethrough",settings:{fontStyle:"strikethrough"}},{name:"Markdown Punctuation Definition Link",scope:"markup.list.unnumbered.markdown, markup.list.numbered.markdown",settings:{foreground:"#f8f8f2"}},{name:"Markdown List Punctuation",scope:["punctuation.definition.list.begin.markdown"],settings:{foreground:"#A6E22E"}},{scope:"token.info-token",settings:{foreground:"#6796e6"}},{scope:"token.warn-token",settings:{foreground:"#cd9731"}},{scope:"token.error-token",settings:{foreground:"#f44747"}},{scope:"token.debug-token",settings:{foreground:"#b267e6"}},{name:"this.self",scope:"variable.language",settings:{foreground:"#FD971F"}}],o=!0,r="monokai",i={type:e,colors:n,tokenColors:t,semanticHighlighting:!0,name:r};export{n as colors,i as default,r as name,o as semanticHighlighting,t as tokenColors,e as type};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Move",n="move",t=[{include:"#address"},{include:"#comments"},{include:"#module"},{include:"#script"},{include:"#annotation"},{begin:"\\b(while)\\b",comment:"While experiment",name:"keyword.control.while.whaaat.move",while:"[a-z]"},{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}],m={"=== DEPRECATED_BELOW ===":{},abilities:{comment:"Ability",match:"\\b(store|key|drop|copy)\\b",name:"support.type.ability.move"},address:{begin:"\\b(address)\\b",beginCaptures:{1:{name:"storage.modifier.type.address.keyword.move"}},comment:"Address block",end:"(?<=})",name:"meta.address_block.move",patterns:[{include:"#comments"},{begin:"(?<=address)",comment:"Address value/const",end:"(?=[{])",name:"meta.address.definition.move",patterns:[{include:"#comments"},{include:"#address_literal"},{comment:"Named Address",match:"\\b(\\w+)\\b",name:"entity.name.type.move"}]},{include:"#module"}]},annotation:{begin:"#\\[",end:"\\]",name:"support.constant.annotation.move",patterns:[{comment:"Annotation name",match:"\\b(\\w+)\\s*(?=\\=)",name:"meta.annotation.name.move"},{begin:"=",comment:"Annotation value",end:"(?=[,\\]])",name:"meta.annotation.value.move",patterns:[{include:"#literals"}]}]},as:{comment:"Keyword as (highlighted)",match:"\\b(as)\\b",name:"keyword.control.as.move"},"as-import":{comment:"Keyword as in import statement; not highlighted",match:"\\b(as)\\b",name:"meta.import.as.move"},block:{begin:"{",comment:"Block expression or definition",end:"}",name:"meta.block.move",patterns:[{include:"#expr"}]},"block-comments":{patterns:[{begin:"/\\*[\\*!](?![\\*/])",comment:"Block documentation comment",end:"\\*/",name:"comment.block.documentation.move"},{begin:"/\\*",comment:"Block comment",end:"\\*/",name:"comment.block.move"}]},capitalized:{comment:"MyType - capitalized type name",match:"\\b([A-Z][a-zA-Z_0-9]*)\\b",name:"entity.name.type.use.move"},comments:{name:"meta.comments.move",patterns:[{include:"#doc-comments"},{include:"#line-comments"},{include:"#block-comments"}]},const:{begin:"\\b(const)\\b",beginCaptures:{1:{name:"storage.modifier.const.move"}},end:";",name:"meta.const.move",patterns:[{include:"#comments"},{include:"#primitives"},{include:"#literals"},{match:"\\b([\\w_]+)\\b",name:"constant.other.move"}]},control:{comment:"Control flow",match:"\\b(return|while|loop|if|else|break|continue|abort)\\b",name:"keyword.control.move"},"doc-comments":{begin:"///",comment:"Documentation comment",end:"$",name:"comment.block.documentation.move",patterns:[{captures:{1:{name:"markup.underline.link.move"}},comment:"Escaped member / link",match:"`(\\w+)`"}]},entry:{comment:"entry",match:"\\b(entry)\\b",name:"storage.modifier.visibility.entry.move"},enum:{begin:"\\b(enum)\\b",beginCaptures:{1:{name:"keyword.control.enum.move"}},comment:"Enum syntax",end:"(?<=})",name:"meta.enum.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#type_param"},{comment:"Enum name (ident)",match:"\\b[A-Z][a-zA-Z_0-9]*\\b",name:"entity.name.type.enum.move"},{include:"#has"},{include:"#abilities"},{begin:"{",end:"}",name:"meta.enum.definition.move",patterns:[{include:"#comments"},{begin:"\\(",end:"\\)",name:"meta.enum.tuple.move",patterns:[{include:"#comments"},{include:"#types"}]},{begin:"{",end:"}",name:"meta.enum.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#types"}]}]}]},error_const:{match:"\\b(E[A-Z][A-Za-z_]*)\\b",name:"variable.language.error.move"},escaped_identifier:{begin:"`",comment:"Escaped variable",end:"`",name:"variable.language.escaped.move"},expr:{comment:"Aggregate Expression",name:"meta.expression.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#error_const"},{include:"#packed_field"},{include:"#import"},{include:"#as"},{include:"#mut"},{include:"#let"},{include:"#types"},{include:"#literals"},{include:"#control"},{include:"#move_copy"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#label"},{include:"#macro_call"},{include:"#local_call"},{include:"#method_call"},{include:"#path_access"},{include:"#match_expression"},{match:"\\$(?=[a-z])",name:"keyword.operator.macro.dollar.move"},{match:"(?<=[$])[a-z][A-Z_0-9a-z]*",name:"variable.other.meta.move"},{comment:"ALL_CONST_CAPS",match:"\\b([A-Z][A-Z_]+)\\b",name:"constant.other.move"},{comment:"CustomType",match:"\\b([A-Z][a-zA-Z_0-9]*)\\b",name:"entity.name.type.move"},{include:"#paren"},{include:"#block"}]},expr_generic:{begin:"<(?=([\\sa-z_,0-9A-Z<>]+>))",comment:"< angle brackets >",end:">",name:"meta.expression.generic.type.move",patterns:[{include:"#comments"},{include:"#types"},{include:"#capitalized"},{include:"#expr_generic"}]},friend:{begin:"\\b(friend)\\b",beginCaptures:{1:{name:"storage.modifier.type.move"}},end:";",name:"meta.friend.move",patterns:[{include:"#comments"},{include:"#address_literal"},{comment:"Name of the imported module",match:"\\b([a-zA-Z][A-Za-z_0-9]*)\\b",name:"entity.name.type.module.move"}]},fun:{patterns:[{include:"#fun_signature"},{include:"#block"}]},fun_body:{begin:"{",comment:"Function body",end:"(?<=})",name:"meta.fun_body.move",patterns:[{include:"#expr"}]},fun_call:{begin:"\\b(\\w+)\\s*(?:<[\\w\\s,]+>)?\\s*[(]",beginCaptures:{1:{name:"entity.name.function.call.move"}},comment:"Function call",end:"[)]",name:"meta.fun_call.move",patterns:[{include:"#comments"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#move_copy"},{include:"#literals"},{include:"#fun_call"},{include:"#block"},{include:"#mut"},{include:"#as"}]},fun_signature:{begin:"\\b(fun)\\b",beginCaptures:{1:{name:"storage.modifier.fun.move"}},comment:"Function signature",end:"(?=[;{])",name:"meta.fun_signature.move",patterns:[{include:"#comments"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"},{begin:"(?<=\\bfun)",comment:"Function name",end:"(?=[<(])",name:"meta.function_name.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{match:"\\b(\\w+)\\b",name:"entity.name.function.move"}]},{include:"#type_param"},{begin:"[(]",comment:"Parentheses",end:"[)]",name:"meta.parentheses.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#expr_generic"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"}]},{comment:"Keyword acquires",match:"\\b(acquires)\\b",name:"storage.modifier"}]},has:{comment:"Has Abilities",match:"\\b(has)\\b",name:"keyword.control.ability.has.move"},has_ability:{begin:"(?<=[})])\\s+(has)\\b",beginCaptures:{1:{name:"storage.modifier.type.move"}},end:";",name:"meta.has.ability.move",patterns:[{include:"#comments"},{include:"#abilities"}]},ident:{match:"\\b([a-zA-Z][A-Z_a-z0-9]*)\\b",name:"meta.identifier.move"},import:{begin:"\\b(use)\\b",beginCaptures:{1:{name:"storage.modifier.type.move"}},end:";",name:"meta.import.move",patterns:[{include:"#comments"},{include:"#use_fun"},{include:"#address_literal"},{include:"#as-import"},{comment:"Uppercase entities",match:"\\b([A-Z]\\w*)\\b",name:"entity.name.type.move"},{begin:"{",comment:"Module members",end:"}",patterns:[{include:"#comments"},{include:"#as-import"},{comment:"Uppercase entities",match:"\\b([A-Z]\\w*)\\b",name:"entity.name.type.move"}]},{comment:"Name of the imported module",match:"\\b(\\w+)\\b",name:"meta.entity.name.type.module.move"}]},label:{comment:"Label",match:"'[a-z][a-z_0-9]*",name:"string.quoted.single.label.move"},let:{comment:"Keyword let",match:"\\b(let)\\b",name:"keyword.control.move"},"line-comments":{begin:"//",comment:"Single-line comment",end:"$",name:"comment.line.double-slash.move"},literals:{comment:"Literals supported in Move",name:"meta.literal.move",patterns:[{comment:"base16 address literal",match:"@0x[A-F0-9a-f]+",name:"support.constant.address.base16.move"},{comment:"named address literal @[ident]",match:"@[a-zA-Z][a-zA-Z_0-9]*",name:"support.constant.address.name.move"},{comment:"Hex literal",match:"0x[_a-fA-F0-9]+(?:u(?:8|16|32|64|128|256))?",name:"constant.numeric.hex.move"},{comment:"Numeric literal",match:"(?<!(?:\\w|(?:(?<!\\.)\\.)))[0-9][_0-9]*(?:\\.(?!\\.)(?:[0-9][_0-9]*)?)?(?:[eE][+\\-]?[_0-9]+)?(?:[u](?:8|16|32|64|128|256))?",name:"constant.numeric.move"},{begin:'\\bb"',comment:"vector ascii bytestring literal",end:'"',name:"meta.vector.literal.ascii.move",patterns:[{comment:"character escape",match:"\\\\.",name:"constant.character.escape.move"},{comment:"Special symbol escape",match:'\\\\[nrt\\0"]',name:"constant.character.escape.move"},{comment:"HEX Escape",match:"\\\\x[a-fA-F0-9][A-Fa-f0-9]",name:"constant.character.escape.hex.move"},{comment:"ASCII Character",match:"[\\x00-\\x7F]",name:"string.quoted.double.raw.move"}]},{begin:'x"',comment:"vector hex literal",end:'"',name:"meta.vector.literal.hex.move",patterns:[{comment:"vector hex literal",match:"[A-Fa-f0-9]+",name:"constant.character.move"}]},{comment:"bool literal",match:"\\b(?:true|false)\\b",name:"constant.language.boolean.move"},{begin:"vector\\[",comment:"vector literal (macro?)",end:"\\]",name:"meta.vector.literal.macro.move",patterns:[{include:"#expr"}]}]},local_call:{comment:"call to a local / imported fun",match:"\\b([a-z][_a-z0-9]*)(?=[<\\(])",name:"entity.name.function.call.local.move"},macro:{begin:"\\b(macro)\\b",beginCaptures:{1:{name:"keyword.control.macro.move"}},comment:"macro fun [ident] {}",end:"(?<=})",name:"meta.macro.move",patterns:[{include:"#comments"},{include:"#fun"}]},macro_call:{captures:{2:{name:"support.function.macro.move"}},comment:"Macro fun call",match:"(\\b|\\.)([a-z][A-Za-z0-9_]*)!",name:"meta.macro.call"},match_expression:{begin:"\\b(match)\\b",beginCaptures:{1:{name:"keyword.control.match.move"}},comment:"enum pattern matching",end:"(?<=})",name:"meta.match.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#types"},{begin:"{",comment:"Block expression or definition",end:"}",name:"meta.match.block.move",patterns:[{comment:"arrow operator",match:"\\b(=>)\\b",name:"operator.match.move"},{include:"#expr"}]},{include:"#expr"}]},method_call:{captures:{1:{name:"entity.name.function.call.path.move"}},comment:"<expr>.[ident]<>?() call",match:"\\.([a-z][_a-z0-9]*)(?=[<\\(])",name:"meta.path.call.move"},module:{begin:"\\b(module|spec)\\b",beginCaptures:{1:{name:"storage.modifier.type.move"}},comment:"Module definition",end:"(?<=[;}])",name:"meta.module.move",patterns:[{include:"#comments"},{begin:"(?<=(module|spec))",comment:"Module name",end:"(?=[;{])",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:"(?<=\\b(module|spec))",comment:"Module namespace / address",end:"(?=[(::){])",name:"constant.other.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]},{begin:"(?<=::)",comment:"Module name",end:"(?=[\\s;{])",name:"entity.name.type.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]}]},{begin:"{",comment:"Module scope",end:"}",name:"meta.module_scope.move",patterns:[{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}]}]},module_access:{captures:{1:{name:"meta.entity.name.type.accessed.module.move"},2:{name:"entity.name.function.call.move"}},comment:"Use of module type or method",match:"\\b(\\w+)::(\\w+)\\b",name:"meta.module_access.move"},module_label:{begin:"^\\s*(module)\\b",comment:"Module label, inline module definition",end:";\\s*$",name:"meta.module.label.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:"(?<=\\b(module|spec))",comment:"Module namespace / address",end:"(?=[(::){])",name:"constant.other.move"},{begin:"(?<=::)",comment:"Module name",end:"(?=[\\s{])",name:"entity.name.type.move"}]},move_copy:{comment:"Keywords move and copy",match:"\\b(move|copy)\\b",name:"variable.language.move"},mut:{comment:"Mutable reference and let mut",match:"\\b(mut)\\b",name:"storage.modifier.mut.move"},native:{comment:"native",match:"\\b(native)\\b",name:"storage.modifier.visibility.native.move"},packed_field:{comment:"[ident]: ",match:"[a-z][a-z0-9_]+\\s*:\\s*(?=\\s)",name:"meta.struct.field.move"},paren:{begin:"\\(",end:"\\)",name:"meta.paren.move",patterns:[{include:"#expr"}]},path_access:{comment:"<expr>.[ident] access",match:"\\.[a-z][_a-z0-9]*\\b",name:"meta.path.access.move"},phantom:{comment:"Keyword phantom inside type parameters",match:"\\b(phantom)\\b",name:"keyword.control.phantom.move"},primitives:{comment:"Primitive types",match:"\\b(u8|u16|u32|u64|u128|u256|address|bool|signer)\\b",name:"support.type.primitives.move"},public:{comment:"public",match:"\\b(public)\\b",name:"storage.modifier.visibility.public.move"},"public-scope":{begin:"(?<=\\b(public))\\s*\\(",comment:"public (friend/script/package)",end:"\\)",name:"meta.public.scoped.move",patterns:[{include:"#comments"},{match:"\\b(friend|script|package)\\b",name:"keyword.control.public.scope.move"}]},resource_methods:{comment:"Methods to work with resource",match:"\\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\\b",name:"support.function.typed.move"},script:{begin:"\\b(script)\\b",beginCaptures:{1:{name:"storage.modifier.script.move"}},end:"(?<=})",name:"meta.script.move",patterns:[{include:"#comments"},{begin:"{",comment:"Script scope",end:"}",name:"meta.script_scope.move",patterns:[{include:"#const"},{include:"#comments"},{include:"#import"},{include:"#fun"}]}]},self_access:{captures:{1:{name:"variable.language.self.move"},2:{name:"entity.name.function.call.move"}},comment:"Use of Self",match:"\\b(Self)::(\\w+)\\b",name:"meta.self_access.move"},spec:{begin:"\\b(spec)\\b",beginCaptures:{1:{name:"storage.modifier.spec.move"}},end:"(?<=[;}])",name:"meta.spec.move",patterns:[{comment:"Spec target",match:"\\b(module|schema|struct|fun)",name:"storage.modifier.spec.target.move"},{comment:"Spec define inline",match:"\\b(define)",name:"storage.modifier.spec.define.move"},{comment:"Target name",match:"\\b(\\w+)\\b",name:"entity.name.function.move"},{begin:"{",comment:"Spec block",end:"}",patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#spec_define"},{include:"#spec_keywords"},{include:"#control"},{include:"#fun_call"},{include:"#literals"},{include:"#types"},{include:"#let"}]}]},spec_block:{begin:"{",comment:"Spec block",end:"}",name:"meta.spec_block.move",patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#fun_call"},{include:"#literals"},{include:"#control"},{include:"#types"},{include:"#let"}]},spec_define:{begin:"\\b(define)\\b",beginCaptures:{1:{name:"keyword.control.move.spec"}},comment:"Spec define keyword",end:"(?=[;{])",name:"meta.spec_define.move",patterns:[{include:"#comments"},{include:"#spec_types"},{include:"#types"},{begin:"(?<=\\bdefine)",comment:"Function name",end:"(?=[(])",patterns:[{include:"#comments"},{match:"\\b(\\w+)\\b",name:"entity.name.function.move"}]}]},spec_keywords:{match:"\\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\\b",name:"keyword.control.move.spec"},spec_types:{comment:"Spec-only types",match:"\\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\\b",name:"support.type.vector.move"},struct:{begin:"\\b(struct)\\b",beginCaptures:{1:{name:"storage.modifier.type.move"}},end:"(?<=[};\\)])",name:"meta.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#has"},{include:"#abilities"},{comment:"Struct name (ident)",match:"\\b[A-Z][a-zA-Z_0-9]*\\b",name:"entity.name.type.struct.move"},{begin:"\\(",comment:"Positional fields",end:"\\)",name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#capitalized"},{include:"#types"}]},{include:"#type_param"},{begin:"\\(",comment:"Simple struct",end:"(?<=[)])",name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#types"}]},{begin:"{",comment:"Struct body",end:"}",name:"meta.struct.body.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{include:"#has_ability"}]},struct_pack:{begin:"(?<=[A-Za-z0-9_>])\\s*{",comment:"Struct { field: value... }; identified as generic / ident followed by curly's",end:"}",name:"meta.struct.pack.move",patterns:[{include:"#comments"}]},type_param:{begin:"<",comment:"Generic type param",end:">",name:"meta.generic_param.move",patterns:[{include:"#comments"},{include:"#phantom"},{include:"#capitalized"},{include:"#module_access"},{include:"#abilities"}]},types:{comment:"Built-in types + vector",name:"meta.types.move",patterns:[{include:"#primitives"},{include:"#vector"}]},use_fun:{begin:"\\b(fun)\\b",beginCaptures:{1:{name:"storage.modifier.fun.move"}},comment:"use { fun } internals",end:"(?=;)",name:"meta.import.fun.move",patterns:[{include:"#comments"},{comment:"as keyword",match:"\\b(as)\\b",name:"keyword.control.as.move"},{comment:"Self keyword",match:"\\b(Self)\\b",name:"variable.language.self.use.fun.move"},{comment:"Function name",match:"\\b(_______[a-z][a-z_0-9]+)\\b",name:"entity.name.function.use.move"},{include:"#types"},{include:"#escaped_identifier"},{include:"#capitalized"}]},vector:{comment:"vector type",match:"\\b(vector)\\b",name:"support.type.vector.move"}},a="source.move",c={displayName:e,name:n,patterns:t,repository:m,scopeName:a};export{c as default,e as displayName,n as name,t as patterns,m as repository,a as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a="Narrat Language",e="narrat",t=[{include:"#comments"},{include:"#expression"}],n={commands:{patterns:[{match:"\\b(set|var)\\b",name:"keyword.commands.variables.narrat"},{match:"\\b(talk|think)\\b",name:"keyword.commands.text.narrat"},{match:"\\b(jump|run|wait|return|save|save_prompt)",name:"keyword.commands.flow.narrat"},{match:"\\b(log|clear_dialog)\\b",name:"keyword.commands.helpers.narrat"},{match:"\\b(set_screen|empty_layer|set_button)",name:"keyword.commands.screens.narrat"},{match:"\\b(play|pause|stop)\\b",name:"keyword.commands.audio.narrat"},{match:"\\b(notify|enable_notifications|disable_notifications)\\b",name:"keyword.commands.notifications.narrat"},{match:"\\b(set_stat|get_stat_value|add_stat)",name:"keyword.commands.stats.narrat"},{match:"\\b(neg|abs|random|random_float|random_from_args|min|max|clamp|floor|round|ceil|sqrt|^)\\b",name:"keyword.commands.math.narrat"},{match:"\\b(concat|join)\\b",name:"keyword.commands.string.narrat"},{match:"\\b(text_field)\\b",name:"keyword.commands.text_field.narrat"},{match:"\\b(add_level|set_level|add_xp|roll|get_level|get_xp)\\b",name:"keyword.commands.skills.narrat"},{match:"\\b(add_item|remove_item|enable_interaction|disable_interaction|has_item?|item_amount?)",name:"keyword.commands.inventory.narrat"},{match:"\\b(start_quest|start_objective|complete_objective|complete_quest|quest_started?|objective_started?|quest_completed?|objective_completed?)",name:"keyword.commands.quests.narrat"}]},comments:{patterns:[{match:"\\/\\/.*$",name:"comment.line.narrat"}]},expression:{patterns:[{include:"#keywords"},{include:"#commands"},{include:"#operators"},{include:"#primitives"},{include:"#strings"},{include:"#paren-expression"}]},interpolation:{patterns:[{match:"(\\w|\\.)+",name:"variable.interpolation.narrat"}]},keywords:{patterns:[{match:"\\b(if|else|choice)\\b",name:"keyword.control.narrat"},{match:"\\$[\\w|\\.]+\\b",name:"variable.value.narrat"},{match:"(?x)\n^\\w+\n(?=(\\s|\\w)*:)\n",name:"entity.name.function.narrat"},{match:"(?x)\n^\\w+\n(?!(\\s|\\w)*:)\n",name:"invalid.label.narrat"},{match:"(?<=\\w)[^^](\\b\\w+\\b)(?=(\\s|\\w)*:)",name:"entity.other.attribute-name"}]},operators:{patterns:[{match:"(&&|\\|\\||!=|==|>=|<=|<|>|!|\\?)\\s",name:"keyword.operator.logic.narrat"},{match:"(\\+|-|\\*|\\/)\\s",name:"keyword.operator.arithmetic.narrat"}]},"paren-expression":{begin:"\\(",beginCaptures:{0:{name:"punctuation.paren.open"}},end:"\\)",endCaptures:{0:{name:"punctuation.paren.close"}},name:"expression.group",patterns:[{include:"#expression"}]},primitives:{patterns:[{match:"\\b\\d+\\b",name:"constant.numeric.narrat"},{match:"\\btrue\\b",name:"constant.language.true.narrat"},{match:"\\bfalse\\b",name:"constant.language.false.narrat"},{match:"\\bnull\\b",name:"constant.language.null.narrat"},{match:"\\bundefined\\b",name:"constant.language.undefined.narrat"}]},strings:{begin:'"',end:'"',name:"string.quoted.double.narrat",patterns:[{match:"\\\\.",name:"constant.character.escape.narrat"},{begin:"%{",beginCaptures:{0:{name:"punctuation.template.open"}},end:"}",endCaptures:{0:{name:"punctuation.template.close.narrat"}},name:"expression.template",patterns:[{include:"#expression"},{include:"#interpolation"}]}]}},r="source.narrat",m={displayName:a,name:e,patterns:t,repository:n,scopeName:r};export{m as default,a as displayName,e as name,t as patterns,n as repository,r as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Nextflow",o="nextflow",n=[{include:"#nfl-rules"}],t={"implicit-variables":{patterns:[{match:"(?<=[^\\.\\w]|^)(params|nextflow|workflow|launchDir|moduleDir|projectDir|workDir)\\b",name:"variable.language.nextflow"}]},"include-statement":{patterns:[{match:"^\\b(include)\\b",name:"keyword.nextflow"},{match:"\\b(from)\\b",name:"keyword.nextflow"}]},"nfl-rules":{patterns:[{include:"#process-def"},{include:"#workflow-def"},{include:"#code-block"},{include:"#include-statement"},{include:"#implicit-variables"},{begin:"(\\w*\\()",beginCaptures:{1:{patterns:[{include:"source.nextflow-groovy"}]}},comment:"method call and parens",end:"\\)",patterns:[{include:"#nfl-rules"}]},{begin:"{",comment:"braces",end:"}",patterns:[{include:"#nfl-rules"}]},{include:"source.nextflow-groovy"}]},"process-body":{patterns:[{match:"(?:accelerator|afterScript|beforeScript|cache|cpus|conda|container|containerOptions|clusterOptions|debug|disk|echo|errorStrategy|executor|ext|label|machineType|maxErrors|maxForks|maxRetries|memory|module|penv|pod|publishDir|queue|resourceLabels|scratch|stageInMode|stageOutMode|storeDir|tag|time)\\b",name:"entity.name.function.nextflow"},{match:"(?:input|output|when|script|shell|exec):",name:"constant.block.nextflow"},{match:"\\b(tuple|set|path|file|val|stdout)(\\(|\\s)",name:"entity.name.function.nextflow"},{include:"#implicit-variables"},{begin:"(\\w*\\()",beginCaptures:{1:{patterns:[{include:"source.nextflow-groovy"}]}},comment:"method call and parens",end:"\\)",patterns:[{include:"#process-body"}]},{begin:"{",comment:"braces",end:"}",patterns:[{include:"#process-body"}]},{include:"source.nextflow-groovy#comments"},{include:"source.nextflow-groovy#support-functions"},{include:"source.nextflow-groovy#keyword"},{include:"source.nextflow-groovy#values"},{include:"source.nextflow-groovy#anonymous-classes-and-new"},{include:"source.nextflow-groovy#types"},{include:"source.nextflow-groovy#parens"},{include:"source.nextflow-groovy#closures"},{include:"source.nextflow-groovy#braces"}]},"process-def":{begin:"^\\s*(process)\\s+(\\w+|\"[^\"]+\"|'[^']+')\\s*{",beginCaptures:{1:{name:"keyword.nextflow"},2:{name:"function.nextflow"}},end:"}",name:"process.nextflow",patterns:[{include:"#process-body"}]},"workflow-body":{patterns:[{include:"#implicit-variables"},{match:"(?:take|main|emit):",name:"constant.block.nextflow"},{match:"(?<=[\\s\\.])(branch|buffer|close|collate|collect|collectFile|combine|concat|count|countBy|cross|distinct|dump|filter|first|flatMap|flatten|groupTuple|ifEmpty|join|last|map|max|merge|min|mix|multiMap|randomSample|reduce|set|splitCsv|splitFasta|splitFastq|splitText|sum|take|tap|toInteger|toList|toSortedList|transpose|unique|until|view)(?=[{\\(\\s])",name:"entity.name.function.nextflow"},{captures:{1:{name:"keyword.nextflow"},2:{name:"entity.name.function.nextflow"}},comment:"Channel factory single line",match:"\\b((?:C|c)hannel\\.)((fromList|fromPath|fromFilePairs|fromSRA|from|of|empty|value|watchPath)\\W)?"},{begin:"\\b((?:C|c)hannel)\\s*$",beginCaptures:{1:{name:"keyword.nextflow"}},comment:"Channel factory multi-line",end:"(^\\s*)(?:(\\.)(fromList|fromPath|fromFilePairs|fromSRA|from|of|empty|value|watchPath)\\W)?",endCaptures:{1:{name:"keyword.nextflow"},2:{name:"keyword.nextflow"},3:{name:"entity.name.function.nextflow"}}},{begin:"(\\w*\\()",beginCaptures:{1:{patterns:[{include:"source.nextflow-groovy"}]}},comment:"method call and parens",end:"\\)",patterns:[{include:"#workflow-body"}]},{begin:"{",comment:"braces",end:"}",patterns:[{include:"#workflow-body"}]},{include:"source.nextflow-groovy#comments"},{include:"source.nextflow-groovy#support-functions"},{include:"source.nextflow-groovy#keyword"},{include:"source.nextflow-groovy#values"},{include:"source.nextflow-groovy#anonymous-classes-and-new"},{include:"source.nextflow-groovy#types"},{include:"source.nextflow-groovy#parens"},{include:"source.nextflow-groovy#closures"},{include:"source.nextflow-groovy#braces"}]},"workflow-def":{begin:"^\\s*(workflow)(?:\\s+(\\w+|\"[^\"]+\"|'[^']+'))?\\s*{",beginCaptures:{1:{name:"keyword.nextflow"},2:{name:"constant.nextflow"}},end:"}",name:"workflow.nextflow",patterns:[{include:"#workflow-body"}]}},r="source.nextflow",l={displayName:e,name:o,patterns:n,repository:t,scopeName:r};export{l as default,e as displayName,o as name,n as patterns,t as repository,r as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Nginx",n=["conf.erb","conf","ngx","nginx.conf","mime.types","fastcgi_params","scgi_params","uwsgi_params"],i="\\{\\s*$",t="^\\s*\\}",r="nginx",a=[{match:"\\#.*",name:"comment.line.number-sign"},{begin:"\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\\s*\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:"\\}",name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:"\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\\s*'",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:"'",name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:"\\b(events) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.events.nginx",patterns:[{include:"$self"}]},{begin:"\\b(http) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.http.nginx",patterns:[{include:"$self"}]},{begin:"\\b(mail) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.mail.nginx",patterns:[{include:"$self"}]},{begin:"\\b(stream) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.stream.nginx",patterns:[{include:"$self"}]},{begin:"\\b(server) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.server.nginx",patterns:[{include:"$self"}]},{begin:"\\b(location) +([\\^]?~[\\*]?|=) +(.*?)\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"},2:{name:"keyword.operator.nginx"},3:{name:"string.regexp.nginx"}},end:"\\}",name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:"\\b(location) +(.*?)\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"},2:{name:"entity.name.context.location.nginx"}},end:"\\}",name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:"\\b(limit_except) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.limit_except.nginx",patterns:[{include:"$self"}]},{begin:"\\b(if) +\\(",beginCaptures:{1:{name:"keyword.control.nginx"}},end:"\\)",name:"meta.context.if.nginx",patterns:[{include:"#if_condition"}]},{begin:"\\b(upstream) +(.*?)\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"},2:{name:"entity.name.context.location.nginx"}},end:"\\}",name:"meta.context.upstream.nginx",patterns:[{include:"$self"}]},{begin:"\\b(types) +\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"}},end:"\\}",name:"meta.context.types.nginx",patterns:[{include:"$self"}]},{begin:"\\b(map) +(\\$)([A-Za-z0-9\\_]+) +(\\$)([A-Za-z0-9\\_]+) *\\{",beginCaptures:{1:{name:"storage.type.directive.context.nginx"},2:{name:"punctuation.definition.variable.nginx"},3:{name:"variable.parameter.nginx"},4:{name:"punctuation.definition.variable.nginx"},5:{name:"variable.other.nginx"}},end:"\\}",name:"meta.context.map.nginx",patterns:[{include:"#values"},{match:";",name:"punctuation.terminator.nginx"},{match:"\\#.*",name:"comment.line.number-sign"}]},{begin:"\\{",end:"\\}",name:"meta.block.nginx",patterns:[{include:"$self"}]},{begin:"\\b(return)\\b",beginCaptures:{1:{name:"keyword.control.nginx"}},end:";",patterns:[{include:"#values"}]},{begin:"\\b(rewrite)\\s+",beginCaptures:{1:{name:"keyword.directive.nginx"}},end:"(last|break|redirect|permanent)?(;)",endCaptures:{1:{name:"keyword.other.nginx"},2:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"\\b(server)\\s+",beginCaptures:{1:{name:"keyword.directive.nginx"}},end:";",endCaptures:{1:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#server_parameters"}]},{begin:"\\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\\b",beginCaptures:{1:{name:"keyword.directive.nginx"}},end:"(;|$)",endCaptures:{1:{name:"punctuation.terminator.nginx"}}},{begin:"([\"'\\s]|^)(accept_)(mutex|mutex_delay)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(debug_)(connection|points)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(error_)(log|page)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_cache|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(keepalive_)(disable|requests|time|timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(lingering_)(close|time|timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(log_)(not_found|subrequest|format)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(max_)(ranges|errors)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(msie_)(padding|refresh)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(send_)(lowat|timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(tcp_)(nodelay|nopush)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(types_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(variables_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(add_)(before_body|after_body|header|trailer)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(status_)(zone|format)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(autoindex_)(exact_size|format|localtime)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(ancient_)(browser|browser_value)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(modern_)(browser|browser_value)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(charset_)(map|types)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(dav_)(access|methods)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(geoip_)(country|city|org|proxy|proxy_recursive)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(image_)(filter|filter_buffer|filter_interlace|filter_jpeg_quality|filter_sharpen|filter_transparency|filter_webp_quality)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(map_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(memcached_)(bind|buffer_size|connect_timeout|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after|start_key_frame)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(perl_)(modules|require|set)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(real_)(ip_header|ip_recursive)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(referer_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(secure_)(link|link_md5|link_secret)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(session_)(log|log_format|log_zone)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(sub_)(filter|filter_last_modified|filter_once|filter_types)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(health_)(check|check_timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(http3_)(hq|max_concurrent_streams|stream_buffer_size)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(quic_)(active_connection_id_limit|bpf|gso|host_key|retry)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(imap_)(auth|capabilities|client_buffer)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(pop3_)(auth|capabilities)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(preread_)(buffer_size|timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(mqtt_)(preread|buffers|rewrite_buffer_size|set_connect)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(zone_)(sync_buffers|sync_connect_retry_interval|sync_connect_timeout|sync_interval|sync_recv_buffer_size|sync_server|sync_ssl|sync_ssl_certificate|sync_ssl_certificate_key|sync_ssl_ciphers|sync_ssl_conf_command|sync_ssl_crl|sync_ssl_name|sync_ssl_password_file|sync_ssl_protocols|sync_ssl_server_name|sync_ssl_trusted_certificate|sync_ssl_verify|sync_ssl_verify_depth|sync_timeout)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(otel_)(exporter|service_name|trace|trace_context|span_name|span_attr)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(js_)(body_filter|content|fetch_buffer_size|fetch_ciphers|fetch_max_response_buffer_size|fetch_protocols|fetch_timeout|fetch_trusted_certificate|fetch_verify|fetch_verify_depth|header_filter|import|include|path|periodic|preload_object|set|shared_dict_zone|var|access|filter|preread)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"},4:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"([\"'\\s]|^)(daemon|env|include|pid|use|user|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|http2|http3|protocol|timeout|xclient|starttls|mqtt|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|internal_redirect|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)([\"'\\s]|$)",beginCaptures:{1:{name:"keyword.directive.nginx"},2:{name:"keyword.directive.nginx"},3:{name:"keyword.directive.nginx"}},end:";",endCaptures:{0:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"\\b([a-zA-Z0-9\\_]+)\\s+",beginCaptures:{1:{name:"keyword.directive.unknown.nginx"}},end:"(;|$)",endCaptures:{1:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:"\\b([a-z]+\\/[A-Za-z0-9\\-\\.\\+]+)\\b",beginCaptures:{1:{name:"constant.other.mediatype.nginx"}},end:"(;)",endCaptures:{1:{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]}],s={if_condition:{patterns:[{include:"#variables"},{match:"\\!?\\~\\*?\\s",name:"keyword.operator.nginx"},{match:"\\!?\\-[fdex]\\s",name:"keyword.operator.nginx"},{match:"\\!?=[^=]",name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},regexp_and_string:{patterns:[{match:"\\^.*?\\$",name:"string.regexp.nginx"},{begin:'"',end:'"',name:"string.quoted.double.nginx",patterns:[{match:"\\\\[\"'nt\\\\]",name:"constant.character.escape.nginx"},{include:"#variables"}]},{begin:"'",end:"'",name:"string.quoted.single.nginx",patterns:[{match:"\\\\[\"'nt\\\\]",name:"constant.character.escape.nginx"},{include:"#variables"}]}]},server_parameters:{patterns:[{captures:{1:{name:"variable.parameter.nginx"},2:{name:"keyword.operator.nginx"},3:{name:"constant.numeric.nginx"}},match:"(?:^|\\s)(weight|max_conn|max_fails|fail_timeout|slow_start)(=)(\\d[\\d\\.]*[bBkKmMgGtTsShHdD]?)(?:\\s|;|$)"},{include:"#values"}]},values:{patterns:[{include:"#variables"},{match:"\\#.*",name:"comment.line.number-sign"},{captures:{1:{name:"constant.numeric.nginx"}},match:"(?<=\\G|\\s)(=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t ;])"},{match:"(?<=\\G|\\s)(on|off|true|false)(?=[\\t ;])",name:"constant.language.nginx"},{match:"(?<=\\G|\\s)(kqueue|rtsig|epoll|\\/dev\\/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t ;])",name:"constant.language.nginx"},{match:"\\\\.*\\ |\\~\\*|\\~|\\!\\~\\*|\\!\\~",name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},variables:{patterns:[{captures:{1:{name:"punctuation.definition.variable.nginx"},2:{name:"variable.other.nginx"}},match:"(\\$)([A-Za-z0-9\\_]+)\\b"},{captures:{1:{name:"punctuation.definition.variable.nginx"},2:{name:"variable.other.nginx"},3:{name:"punctuation.definition.variable.nginx"}},match:"(\\$\\{)([A-Za-z0-9\\_]+)(\\})"}]}},d="source.nginx",c={displayName:e,fileTypes:n,foldingStartMarker:i,foldingStopMarker:t,name:r,patterns:a,repository:s,scopeName:d};export{c as default,e as displayName,n as fileTypes,i as foldingStartMarker,t as foldingStopMarker,r as name,a as patterns,s as repository,d as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Nim",n=["nim"],t="nim",a=[{begin:"[ \\t]*##\\[",contentName:"comment.block.doc-comment.content.nim",end:"\\]##",name:"comment.block.doc-comment.nim",patterns:[{include:"#multilinedoccomment",name:"comment.block.doc-comment.nested.nim"}]},{begin:"[ \\t]*#\\[",contentName:"comment.block.content.nim",end:"\\]#",name:"comment.block.nim",patterns:[{include:"#multilinecomment",name:"comment.block.nested.nim"}]},{begin:"(^[ \\t]+)?(?=##)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.nim"}},end:"(?!\\G)",patterns:[{begin:"##",beginCaptures:{0:{name:"punctuation.definition.comment.nim"}},end:"\\n",name:"comment.line.number-sign.doc-comment.nim"}]},{begin:"(^[ \\t]+)?(?=#[^\\[])",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.nim"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.nim"}},end:"\\n",name:"comment.line.number-sign.nim"}]},{comment:"A nim procedure or method",name:"meta.proc.nim",patterns:[{begin:"\\b(proc|method|template|macro|iterator|converter|func)\\s+\\`?([^\\:\\{\\s\\`\\*\\(]*)\\`?(\\s*\\*)?\\s*(?=\\(|\\=|:|\\[|\\n|\\{)",captures:{1:{name:"keyword.other"},2:{name:"entity.name.function.nim"},3:{name:"keyword.control.export"}},end:"\\)",patterns:[{include:"source.nim"}]}]},{begin:'discard """',comment:"A discarded triple string literal comment",end:'"""(?!")',name:"comment.line.discarded.nim"},{include:"#float_literal"},{include:"#integer_literal"},{comment:"Operator as function name",match:"(?<=\\`)[^\\` ]+(?=\\`)",name:"entity.name.function.nim"},{captures:{1:{name:"keyword.control.export"}},comment:"Export qualifier.",match:"\\b\\s*(\\*)(?:\\s*(?=[,:])|\\s+(?=[=]))"},{captures:{1:{name:"support.type.nim"},2:{name:"keyword.control.export"}},comment:"Export qualifier following a type def.",match:"\\b([A-Z]\\w+)(\\*)"},{include:"#string_literal"},{comment:"Language Constants.",match:"\\b(true|false|Inf|NegInf|NaN|nil)\\b",name:"constant.language.nim"},{comment:"Keywords that affect program control flow or scope.",match:"\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b",name:"keyword.control.nim"},{comment:"Keyword boolean operators for expressions.",match:"(\\b(and|in|is|isnot|not|notin|or|xor)\\b)",name:"keyword.boolean.nim"},{comment:"Generic operators for expressions.",match:"(=|\\+|-|\\*|/|<|>|@|\\$|~|&|%|!|\\?|\\^|\\.|:|\\\\)+",name:"keyword.operator.nim"},{comment:"Other keywords.",match:"(\\b(addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template)\\b)",name:"keyword.other.nim"},{comment:"Invalid and unused keywords.",match:"(\\b(generic|interface|lambda|out|shared)\\b)",name:"invalid.illegal.invalid-keyword.nim"},{comment:"Common functions",match:"\\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\\b",name:"keyword.other.common.function.nim"},{comment:"Built-in, concrete types.",match:"\\b(((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\\b",name:"storage.type.concrete.nim"},{comment:"Built-in, generic types.",match:"\\b(range|array|seq|set|pointer)\\b",name:"storage.type.generic.nim"},{comment:"Special types.",match:"\\b(openarray|varargs|void)\\b",name:"storage.type.generic.nim"},{comment:"Other constants.",match:"\\b[A-Z][A-Z0-9_]+\\b",name:"support.constant.nim"},{comment:"Other types.",match:"\\b[A-Z]\\w+\\b",name:"support.type.nim"},{comment:"Function call.",match:"\\b\\w+\\b(?=(\\[([a-zA-Z0-9_,]|\\s)+\\])?\\()",name:"support.function.any-method.nim"},{comment:"Function call (no parenthesis).",match:"(?!(openarray|varargs|void|range|array|seq|set|pointer|new|await|assert|echo|defined|declared|newException|countup|countdown|high|low|((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed|addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template|and|in|is|isnot|not|notin|or|xor|proc|method|template|macro|iterator|converter|func|true|false|Inf|NegInf|NaN|nil|block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b)\\w+\\s+(?!(and|in|is|isnot|not|notin|or|xor|[^a-zA-Z0-9_\"'`(-+]+)\\b)(?=[a-zA-Z0-9_\"'`(-+])",name:"support.function.any-method.nim"},{begin:'(^\\s*)?(?=\\{\\.emit: ?""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'\\{\\.(emit:) ?(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.c",end:'(")""(?!")(\\.{0,1}\\})?',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.c"}},name:"meta.embedded.block.c",patterns:[{begin:"\\`",end:"\\`",name:"keyword.operator.nim"},{include:"source.c"}]}]},{begin:"\\{\\.",beginCaptures:{0:{name:"punctuation.pragma.start.nim"}},end:"\\.?\\}",endCaptures:{0:{name:"punctuation.pragma.end.nim"}},patterns:[{begin:"\\b([[:alpha:]]\\w*)(?:\\s|\\s*:)",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"(?=\\.?\\}|,)",patterns:[{include:"source.nim"}]},{begin:"\\b([[:alpha:]]\\w*)\\(",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{captures:{1:{name:"meta.preprocessor.pragma.nim"}},match:"\\b([[:alpha:]]\\w*)(?=\\.?\\}|,)"},{begin:'\\b([[:alpha:]]\\w*)(""")',beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},{begin:'\\b([[:alpha:]]\\w*)(")',beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim"},{begin:"\\b(hint\\[\\w+\\]):",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"(?=\\.?\\}|,)",patterns:[{include:"source.nim"}]},{match:",",name:"punctuation.separator.comma.nim"}]},{begin:'(^\\s*)?(?=asm """)',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(asm) (""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.asm",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.asm"}},name:"meta.embedded.block.asm",patterns:[{begin:"\\`",end:"\\`",name:"keyword.operator.nim"},{include:"source.asm"}]}]},{captures:{1:{name:"storage.type.function.nim"},2:{name:"keyword.operator.nim"}},comment:"tmpl specifier",match:'(tmpl(i)?)(?=( (html|xml|js|css|glsl|md))?""")'},{begin:'(^\\s*)?(?=html""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(html)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.html"}},name:"meta.embedded.block.html",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.html.basic"}]}]},{begin:'(^\\s*)?(?=xml""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(xml)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.xml",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.xml"}},name:"meta.embedded.block.xml",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.xml"}]}]},{begin:'(^\\s*)?(?=js""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(js)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.js",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.js"}},name:"meta.embedded.block.js",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.js"}]}]},{begin:'(^\\s*)?(?=css""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(css)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.css",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.css"}},name:"meta.embedded.block.css",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.css"}]}]},{begin:'(^\\s*)?(?=glsl""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(glsl)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.glsl",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.glsl"}},name:"meta.embedded.block.glsl",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.glsl"}]}]},{begin:'(^\\s*)?(?=md""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(md)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html.markdown",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.html.markdown"}},name:"meta.embedded.block.html.markdown",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.html.markdown"}]}]}],i={char_escapes:{patterns:[{match:"\\\\[cC]|\\\\[rR]",name:"constant.character.escape.carriagereturn.nim"},{match:"\\\\[lL]|\\\\[nN]",name:"constant.character.escape.linefeed.nim"},{match:"\\\\[fF]",name:"constant.character.escape.formfeed.nim"},{match:"\\\\[tT]",name:"constant.character.escape.tabulator.nim"},{match:"\\\\[vV]",name:"constant.character.escape.verticaltabulator.nim"},{match:'\\\\\\"',name:"constant.character.escape.double-quote.nim"},{match:"\\\\'",name:"constant.character.escape.single-quote.nim"},{match:"\\\\[0-9]+",name:"constant.character.escape.chardecimalvalue.nim"},{match:"\\\\[aA]",name:"constant.character.escape.alert.nim"},{match:"\\\\[bB]",name:"constant.character.escape.backspace.nim"},{match:"\\\\[eE]",name:"constant.character.escape.escape.nim"},{match:"\\\\[xX]\\h\\h",name:"constant.character.escape.hex.nim"},{match:"\\\\\\\\",name:"constant.character.escape.backslash.nim"}]},extended_string_quoted_double_raw:{begin:'\\b(\\w+)(")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},extended_string_quoted_triple_raw:{begin:'\\b(\\w+)(""")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},float_literal:{patterns:[{match:"\\b\\d[_\\d]*((\\.\\d[_\\d]*([eE][\\+\\-]?\\d[_\\d]*)?)|([eE][\\+\\-]?\\d[_\\d]*))('([fF](32|64|128)|[fFdD]))?",name:"constant.numeric.float.decimal.nim"},{match:"\\b0[xX]\\h[_\\h]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.hexadecimal.nim"},{match:"\\b0o[0-7][_0-7]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.octal.nim"},{match:"\\b0(b|B)[01][_01]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.binary.nim"},{match:"\\b(\\d[_\\d]*)'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.decimal.nim"}]},fmt_interpolation:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.nim"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.nim"}},name:"meta.template.expression.nim",patterns:[{begin:":",end:"(?=\\})",name:"meta.template.format-specifier.nim"},{include:"source.nim"}]},fmt_string:{begin:'\\b(fmt)(")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{match:'(?<!")"(?!")',name:"invalid.illegal.nim"},{include:"#raw_string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_call:{begin:'(fmt)\\((?=")',beginCaptures:{1:{name:"support.function.any-method.nim"}},end:"\\)",patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},end:'"(?=\\))',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:'"',name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]}]},fmt_string_operator:{begin:'(&)(")',beginCaptures:{1:{name:"keyword.operator.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:'"',name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_triple:{begin:'\\b(fmt)(""")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},fmt_string_triple_operator:{begin:'(&)(""")',beginCaptures:{1:{name:"keyword.operator.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},integer_literal:{patterns:[{match:"\\b(0[xX]\\h[_\\h]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.hexadecimal.nim"},{match:"\\b(0o[0-7][_0-7]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.octal.nim"},{match:"\\b(0(b|B)[01][_01]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.binary.nim"},{match:"\\b(\\d[_\\d]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.decimal.nim"}]},multilinecomment:{begin:"#\\[",end:"\\]#",patterns:[{include:"#multilinecomment"}]},multilinedoccomment:{begin:"##\\[",end:"\\]##",patterns:[{include:"#multilinedoccomment"}]},raw_string_escapes:{captures:{1:{name:"constant.character.escape.double-quote.nim"}},match:'[^"]("")'},string_escapes:{patterns:[{match:"\\\\[pP]",name:"constant.character.escape.newline.nim"},{match:"\\\\[uU]\\h\\h\\h\\h",name:"constant.character.escape.hex.nim"},{match:"\\\\[uU]\\{\\h+\\}",name:"constant.character.escape.hex.nim"},{include:"#char_escapes"}]},string_literal:{patterns:[{include:"#fmt_string_triple"},{include:"#fmt_string_triple_operator"},{include:"#extended_string_quoted_triple_raw"},{include:"#string_quoted_triple_raw"},{include:"#fmt_string_operator"},{include:"#fmt_string"},{include:"#fmt_string_call"},{include:"#string_quoted_double_raw"},{include:"#extended_string_quoted_double_raw"},{include:"#string_quoted_single"},{include:"#string_quoted_triple"},{include:"#string_quoted_double"}]},string_quoted_double:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Double Quoted String",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{include:"#string_escapes"}]},string_quoted_double_raw:{begin:'\\br"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},string_quoted_single:{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Single quoted character literal",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.single.nim",patterns:[{include:"#char_escapes"},{match:"([^']{2,}?)",name:"invalid.illegal.character.nim"}]},string_quoted_triple:{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Triple Quoted String",end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.nim"},string_quoted_triple_raw:{begin:'r"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Raw Triple Quoted String",end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"}},m="source.nim",r={displayName:"Nim",fileTypes:n,name:"nim",patterns:a,repository:i,scopeName:m};export{r as default,e as displayName,n as fileTypes,t as name,a as patterns,i as repository,m as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Nix",n=["nix"],t="nix",i=[{include:"#expression"}],a={"attribute-bind":{patterns:[{include:"#attribute-name"},{include:"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{begin:"\\=",beginCaptures:{0:{name:"keyword.operator.bind.nix"}},end:"\\;",endCaptures:{0:{name:"punctuation.terminator.bind.nix"}},patterns:[{include:"#expression"}]},"attribute-inherit":{begin:"\\binherit\\b",beginCaptures:{0:{name:"keyword.other.inherit.nix"}},end:"\\;",endCaptures:{0:{name:"punctuation.terminator.inherit.nix"}},patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.function.arguments.nix"}},end:"(?=\\;)",patterns:[{begin:"\\)",beginCaptures:{0:{name:"punctuation.section.function.arguments.nix"}},end:"(?=\\;)",patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#expression"}]},{begin:"(?=[a-zA-Z\\_])",end:"(?=\\;)",patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#others"}]},"attribute-name":{patterns:[{match:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*",name:"entity.other.attribute-name.multipart.nix"},{match:"\\."},{include:"#string-quoted"},{include:"#interpolation"}]},"attribute-name-single":{match:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*",name:"entity.other.attribute-name.single.nix"},"attrset-contents":{patterns:[{include:"#attribute-inherit"},{include:"#bad-reserved"},{include:"#attribute-bind"},{include:"#others"}]},"attrset-definition":{begin:"(?=\\{)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"(\\{)",beginCaptures:{0:{name:"punctuation.definition.attrset.nix"}},end:"(\\})",endCaptures:{0:{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]},{begin:"(?<=\\})",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]}]},"attrset-definition-brace-opened":{patterns:[{begin:"(?<=\\})",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{begin:"(?=.?)",end:"\\}",endCaptures:{0:{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]}]},"attrset-for-sure":{patterns:[{begin:"(?=\\brec\\b)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"\\brec\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"(?=\\{)",patterns:[{include:"#others"}]},{include:"#attrset-definition"},{include:"#others"}]},{begin:"(?=\\{\\s*(\\}|[^,?]*(=|;)))",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#attrset-definition"},{include:"#others"}]}]},"attrset-or-function":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.attrset-or-function.nix"}},end:"(?=([\\])};]|\\b(else|then)\\b))",patterns:[{begin:"(?=(\\s*\\}|\\\"|\\binherit\\b|\\$\\{|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*(\\s*\\.|\\s*=[^=])))",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:"(?=(\\.\\.\\.|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[,?]))",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-definition-brace-opened"}]},{include:"#bad-reserved"},{begin:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*",beginCaptures:{0:{name:"variable.parameter.function.maybe.nix"}},end:"(?=([\\])};]|\\b(else|then)\\b))",patterns:[{begin:"(?=\\.)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:"\\s*(\\,)",beginCaptures:{1:{name:"keyword.operator.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-definition-brace-opened"}]},{begin:"(?=\\=)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#attribute-bind-from-equals"},{include:"#attrset-definition-brace-opened"}]},{begin:"(?=\\?)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-parameter-default"},{begin:"\\,",beginCaptures:{0:{name:"keyword.operator.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-definition-brace-opened"}]}]},{include:"#others"}]},{include:"#others"}]},"bad-reserved":{match:"(?<![\\w'-])(if|then|else|assert|with|let|in|rec|inherit)(?![\\w'-])",name:"invalid.illegal.reserved.nix"},comment:{patterns:[{begin:"/\\*([^*]|\\*[^\\/])*",end:"\\*\\/",name:"comment.block.nix",patterns:[{include:"#comment-remark"}]},{begin:"\\#",end:"$",name:"comment.line.number-sign.nix",patterns:[{include:"#comment-remark"}]}]},"comment-remark":{captures:{1:{name:"markup.bold.comment.nix"}},match:"(TODO|FIXME|BUG|\\!\\!\\!):?"},constants:{patterns:[{begin:"\\b(builtins|true|false|null)\\b",beginCaptures:{0:{name:"constant.language.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{begin:"\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\b",beginCaptures:{0:{name:"support.function.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{begin:"\\b[0-9]+\\b",beginCaptures:{0:{name:"constant.numeric.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]}]},expression:{patterns:[{include:"#parens-and-cont"},{include:"#list-and-cont"},{include:"#string"},{include:"#interpolation"},{include:"#with-assert"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{include:"#let"},{include:"#if"},{include:"#operator-unary"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name-and-cont"},{include:"#others"}]},"expression-cont":{begin:"(?=.?)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#parens"},{include:"#list"},{include:"#string"},{include:"#interpolation"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{match:"(\\bor\\b|\\.|==|!=|!|\\<\\=|\\<|\\>\\=|\\>|&&|\\|\\||-\\>|//|\\?|\\+\\+|-|\\*|/(?=([^*]|$))|\\+)",name:"keyword.operator.nix"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name"},{include:"#others"}]},"function-body":{begin:"(@\\s*([a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)\\s*)?(\\:)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression"}]},"function-body-from-colon":{begin:"(\\:)",beginCaptures:{0:{name:"punctuation.definition.function.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression"}]},"function-contents":{patterns:[{include:"#bad-reserved"},{include:"#function-parameter"},{include:"#others"}]},"function-definition":{begin:"(?=.?)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-body-from-colon"},{begin:"(?=.?)",end:"(?=\\:)",patterns:[{begin:"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)",beginCaptures:{0:{name:"variable.parameter.function.4.nix"}},end:"(?=\\:)",patterns:[{begin:"\\@",end:"(?=\\:)",patterns:[{include:"#function-header-until-colon-no-arg"},{include:"#others"}]},{include:"#others"}]},{begin:"(?=\\{)",end:"(?=\\:)",patterns:[{include:"#function-header-until-colon-with-arg"}]}]},{include:"#others"}]},"function-definition-brace-opened":{begin:"(?=.?)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-body-from-colon"},{begin:"(?=.?)",end:"(?=\\:)",patterns:[{include:"#function-header-close-brace-with-arg"},{begin:"(?=.?)",end:"(?=\\})",patterns:[{include:"#function-contents"}]}]},{include:"#others"}]},"function-for-sure":{patterns:[{begin:"(?=(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[:@]|\\{[^}]*\\}\\s*:|\\{[^#}\"'/=]*[,\\?]))",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#function-definition"}]}]},"function-header-close-brace-no-arg":{begin:"\\}",beginCaptures:{0:{name:"punctuation.definition.entity.function.nix"}},end:"(?=\\:)",patterns:[{include:"#others"}]},"function-header-close-brace-with-arg":{begin:"\\}",beginCaptures:{0:{name:"punctuation.definition.entity.function.nix"}},end:"(?=\\:)",patterns:[{include:"#function-header-terminal-arg"},{include:"#others"}]},"function-header-open-brace":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.entity.function.2.nix"}},end:"(?=\\})",patterns:[{include:"#function-contents"}]},"function-header-terminal-arg":{begin:"(?=@)",end:"(?=\\:)",patterns:[{begin:"\\@",end:"(?=\\:)",patterns:[{begin:"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)",end:"(?=\\:)",name:"variable.parameter.function.3.nix"},{include:"#others"}]},{include:"#others"}]},"function-header-until-colon-no-arg":{begin:"(?=\\{)",end:"(?=\\:)",patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{begin:"(?=\\{)",end:"(?=\\:)",patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-with-arg"}]},"function-parameter":{patterns:[{begin:"(\\.\\.\\.)",end:"(,|(?=\\}))",name:"keyword.operator.nix",patterns:[{include:"#others"}]},{begin:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*",beginCaptures:{0:{name:"variable.parameter.function.1.nix"}},end:"(,|(?=\\}))",endCaptures:{0:{name:"keyword.operator.nix"}},patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#function-parameter-default"},{include:"#expression"}]},{include:"#others"}]},"function-parameter-default":{begin:"\\?",beginCaptures:{0:{name:"keyword.operator.nix"}},end:"(?=[,}])",patterns:[{include:"#expression"}]},if:{begin:"(?=\\bif\\b)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"\\bif\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"\\bth(?=en\\b)",endCaptures:{0:{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:"(?<=th)en\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"\\bel(?=se\\b)",endCaptures:{0:{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:"(?<=el)se\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",endCaptures:{0:{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]}]},illegal:{match:".",name:"invalid.illegal"},interpolation:{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.nix"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.embedded.end.nix"}},name:"meta.embedded",patterns:[{include:"#expression"}]},let:{begin:"(?=\\blet\\b)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"\\blet\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"(?=([\\])};,]|\\b(in|else|then)\\b))",patterns:[{begin:"(?=\\{)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"\\{",end:"\\}",patterns:[{include:"#attrset-contents"}]},{begin:"(^|(?<=\\}))",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{include:"#others"}]},{include:"#attrset-contents"},{include:"#others"}]},{begin:"\\bin\\b",beginCaptures:{0:{name:"keyword.other.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression"}]}]},list:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.list.nix"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.list.nix"}},patterns:[{include:"#expression"}]},"list-and-cont":{begin:"(?=\\[)",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#list"},{include:"#expression-cont"}]},"operator-unary":{match:"(!|-)",name:"keyword.operator.unary.nix"},others:{patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#illegal"}]},"parameter-name":{captures:{0:{name:"variable.parameter.name.nix"}},match:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*"},"parameter-name-and-cont":{begin:"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*",beginCaptures:{0:{name:"variable.parameter.name.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},parens:{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.expression.nix"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.expression.nix"}},patterns:[{include:"#expression"}]},"parens-and-cont":{begin:"(?=\\()",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#parens"},{include:"#expression-cont"}]},string:{patterns:[{begin:"(?=\\'\\')",end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{begin:"\\'\\'",beginCaptures:{0:{name:"punctuation.definition.string.other.start.nix"}},end:"\\'\\'(?!\\$|\\'|\\\\.)",endCaptures:{0:{name:"punctuation.definition.string.other.end.nix"}},name:"string.quoted.other.nix",patterns:[{match:"\\'\\'(\\$|\\'|\\\\.)",name:"constant.character.escape.nix"},{include:"#interpolation"}]},{include:"#expression-cont"}]},{begin:'(?=\\")',end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#string-quoted"},{include:"#expression-cont"}]},{begin:"(~?[a-zA-Z0-9\\.\\_\\-\\+]*(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)+)",beginCaptures:{0:{name:"string.unquoted.path.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{begin:"(\\<[a-zA-Z0-9\\.\\_\\-\\+]+(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)*\\>)",beginCaptures:{0:{name:"string.unquoted.spath.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]},{begin:"([a-zA-Z][a-zA-Z0-9\\+\\-\\.]*\\:[a-zA-Z0-9\\%\\/\\?\\:\\@\\&\\=\\+\\$\\,\\-\\_\\.\\!\\~\\*\\']+)",beginCaptures:{0:{name:"string.unquoted.url.nix"}},end:"(?=([\\])};,]|\\b(else|then)\\b))",patterns:[{include:"#expression-cont"}]}]},"string-quoted":{begin:'\\"',beginCaptures:{0:{name:"punctuation.definition.string.double.start.nix"}},end:'\\"',endCaptures:{0:{name:"punctuation.definition.string.double.end.nix"}},name:"string.quoted.double.nix",patterns:[{match:"\\\\.",name:"constant.character.escape.nix"},{include:"#interpolation"}]},whitespace:{match:"\\s+"},"with-assert":{begin:"(?<![\\w'-])(with|assert)(?![\\w'-])",beginCaptures:{0:{name:"keyword.other.nix"}},end:"\\;",patterns:[{include:"#expression"}]}},r="source.nix",s={displayName:"Nix",fileTypes:n,name:"nix",patterns:i,repository:a,scopeName:r};export{s as default,e as displayName,n as fileTypes,t as name,i as patterns,a as repository,r as scopeName};
|