@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="Stylus",t=["styl","stylus","css.styl","css.stylus"],n="stylus",a=[{include:"#comment"},{include:"#at_rule"},{include:"#language_keywords"},{include:"#language_constants"},{include:"#variable_declaration"},{include:"#function"},{include:"#selector"},{include:"#declaration"},{captures:{1:{name:"punctuation.section.property-list.begin.css"},2:{name:"punctuation.section.property-list.end.css"}},match:"(\\{)(\\})",name:"meta.brace.curly.css"},{match:"\\{|\\}",name:"meta.brace.curly.css"},{include:"#numeric"},{include:"#string"},{include:"#operator"}],i={at_rule:{patterns:[{begin:"\\s*((@)(import|require))\\b\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.import.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{include:"#string"}]},{begin:"\\s*((@)(extend[s]?)\\b)\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.extend.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.extend.css",patterns:[{include:"#selector"}]},{captures:{1:{name:"keyword.control.at-rule.fontface.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)font-face)\\b",name:"meta.at-rule.fontface.stylus"},{captures:{1:{name:"keyword.control.at-rule.css.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)css)\\b",name:"meta.at-rule.css.stylus"},{begin:"\\s*((@)charset)\\b\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.charset.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",name:"meta.at-rule.charset.stylus",patterns:[{include:"#string"}]},{begin:"\\s*((@)keyframes)\\b\\s+([a-zA-Z_-][a-zA-Z0-9_-]*)",beginCaptures:{1:{name:"keyword.control.at-rule.keyframes.stylus"},2:{name:"punctuation.definition.keyword.stylus"},3:{name:"entity.name.function.keyframe.stylus"}},end:"\\s*((?=\\{|$|\\n))",name:"meta.at-rule.keyframes.stylus"},{begin:"(?=(\\b(\\d+%|from\\b|to\\b)))",end:"(?=(\\{|\\n))",name:"meta.at-rule.keyframes.stylus",patterns:[{match:"(\\b(\\d+%|from\\b|to\\b))",name:"entity.other.attribute-name.stylus"}]},{captures:{1:{name:"keyword.control.at-rule.media.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)media)\\b",name:"meta.at-rule.media.stylus"},{match:"(?:(?=\\w)(?<![\\w-]))(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?:(?<=\\w)(?![\\w-]))",name:"support.type.property-name.media-feature.media.css"},{match:"(?:(?=\\w)(?<![\\w-]))(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.media-type.media.css"},{match:"(?:(?=\\w)(?<![\\w-]))(portrait|landscape)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.media-property.media.css"}]},char_escape:{match:"\\\\(.)",name:"constant.character.escape.stylus"},color:{patterns:[{begin:"\\b(rgb|rgba|hsl|hsla)(\\()",beginCaptures:{1:{name:"support.function.color.css"},2:{name:"punctuation.section.function.css"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.css"}},name:"meta.function.color.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#property_variable"}]},{captures:{1:{name:"punctuation.definition.constant.css"}},match:"(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b",name:"constant.other.color.rgb-value.css"},{comment:"http://www.w3.org/TR/CSS21/syndata.html#value-def-color",match:"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",name:"support.constant.color.w3c-standard-color-name.css"},{comment:"http://www.w3.org/TR/css3-color/#svg-color",match:"\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",name:"support.constant.color.w3c-extended-color-name.css"}]},comment:{patterns:[{include:"#comment_block"},{include:"#comment_line"}]},comment_block:{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},comment_line:{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.stylus"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.stylus"}},end:"(?=\\n)",name:"comment.line.double-slash.stylus"}]},declaration:{begin:"((?<=^)[^\\S\\n]+)|((?<=;)[^\\S\\n]*)|((?<=\\{)[^\\S\\n]*)",end:"(?=\\n)|(;)|(?=\\})|(\\n)",endCaptures:{2:{name:"punctuation.terminator.rule.css"}},name:"meta.property-list.css",patterns:[{match:"(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",name:"variable.css"},{include:"#language_keywords"},{include:"#language_constants"},{match:"(?:(?<=^)[^\\S\\n]+(\\n))"},{captures:{1:{name:"support.type.property-name.css"},2:{name:"punctuation.separator.key-value.css"},3:{name:"variable.section.css"}},match:"\\G\\s*(counter-reset|counter-increment)(?:(:)|[^\\S\\n])[^\\S\\n]*([a-zA-Z_-][a-zA-Z0-9_-]*)",name:"meta.property.counter.css"},{begin:"\\G\\s*(filter)(?:(:)|[^\\S\\n])[^\\S\\n]*",beginCaptures:{1:{name:"support.type.property-name.css"},2:{name:"punctuation.separator.key-value.css"}},end:"(?=\\n|;|\\}|$)",name:"meta.property.filter.css",patterns:[{include:"#function"},{include:"#property_values"}]},{include:"#property"},{include:"#interpolation"},{include:"$self"}]},font_name:{match:"(\\b(?i:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif)\\b)",name:"support.constant.font-name.css"},function:{begin:"(?=[a-zA-Z_-][a-zA-Z0-9_-]*\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.css"}},patterns:[{begin:"(format|url|local)(\\()",beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.css",patterns:[{match:"(?<=\\()[^\\)\\s]*(?=\\))",name:"string.css"},{include:"#string"},{include:"#variable"},{include:"#operator"},{match:"\\s*"}]},{captures:{1:{name:"support.function.misc.counter.css"},2:{name:"punctuation.section.function.css"},3:{name:"variable.section.css"}},match:"(counter)(\\()([a-zA-Z_-][a-zA-Z0-9_-]*)(?=\\))",name:"meta.function.misc.counter.css"},{begin:"(counters)(\\()",beginCaptures:{1:{name:"support.function.misc.counters.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.counters.css",patterns:[{match:"\\G[a-zA-Z_-][a-zA-Z0-9_-]*",name:"variable.section.css"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:"(attr)(\\()",beginCaptures:{1:{name:"support.function.misc.attr.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.attr.css",patterns:[{match:"\\G[a-zA-Z_-][a-zA-Z0-9_-]*",name:"entity.other.attribute-name.attribute.css"},{match:"(?<=[a-zA-Z0-9_-])\\s*\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\b",name:"support.type.attr.css"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:"(calc)(\\()",beginCaptures:{1:{name:"support.function.misc.calc.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.calc.css",patterns:[{include:"#property_values"}]},{begin:"(cubic-bezier)(\\()",beginCaptures:{1:{name:"support.function.timing.cubic-bezier.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.timing.cubic-bezier.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#interpolation"}]},{begin:"(steps)(\\()",beginCaptures:{1:{name:"support.function.timing.steps.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.timing.steps.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{match:"\\b(start|end)\\b",name:"support.constant.timing.steps.direction.css"},{include:"#interpolation"}]},{begin:"(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(\\()",beginCaptures:{1:{name:"support.function.gradient.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.gradient.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#color"},{match:"\\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\\b",name:"support.constant.gradient.css"},{include:"#interpolation"}]},{begin:"(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\\()",beginCaptures:{1:{name:"support.function.filter.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.filter.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:"(drop-shadow)(\\()",beginCaptures:{1:{name:"support.function.filter.drop-shadow.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.filter.drop-shadow.css",patterns:[{include:"#numeric"},{include:"#color"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(\\()",beginCaptures:{1:{name:"support.function.transform.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.transform.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{match:"(url|local|format|counter|counters|attr|calc)(?=\\()",name:"support.function.misc.css"},{match:"(cubic-bezier|steps)(?=\\()",name:"support.function.timing.css"},{match:"(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(?=\\()",name:"support.function.gradient.css"},{match:"(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\\()",name:"support.function.filter.css"},{match:"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(?=\\()",name:"support.function.transform.css"},{begin:"([a-zA-Z_-][a-zA-Z0-9_-]*)(\\()",beginCaptures:{1:{name:"entity.name.function.stylus"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.stylus",patterns:[{match:"(?x)\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",name:"variable.argument.stylus"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#interpolation"},{include:"#property_values"}]},{match:"\\(",name:"punctuation.section.function.css"}]},interpolation:{begin:"(?:(\\{)[^\\S\\n]*)(?=[^;=]*[^\\S\\n]*\\})",beginCaptures:{1:{name:"meta.brace.curly"}},end:"(?:[^\\S\\n]*(\\}))|\\n|$",endCaptures:{1:{name:"meta.brace.curly"}},name:"meta.interpolation.stylus",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#string"},{include:"#operator"}]},language_constants:{match:"\\b(true|false|null)\\b",name:"constant.language.stylus"},language_keywords:{patterns:[{match:"(\\b|\\s)(return|else|for|unless|if|else)\\b",name:"keyword.control.stylus"},{match:"(\\b|\\s)(!important|in|is defined|is a)\\b",name:"keyword.other.stylus"},{match:"\\barguments\\b",name:"variable.language.stylus"}]},numeric:{patterns:[{captures:{1:{name:"keyword.other.unit.css"}},match:"(?x) (?<!\\w|-)(?:(?:-|\\+)?(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+)) ((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\b|%)?",name:"constant.numeric.css"}]},operator:{patterns:[{match:"((?:\\?|:|!|~|\\+|(\\s-\\s)|(?:\\*)?\\*|\\/|%|(\\.)?\\.\\.|<|>|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!=)|\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\b)",name:"keyword.operator.stylus"},{include:"#char_escape"}]},property:{begin:"(?x:\\G\\s*(?:\n(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|\n(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|\n([a-zA-Z_-][a-zA-Z0-9_-]*)\n)(?!([^\\S\\n]*&)|([^\\S\\n]*\\{))(?=:|([^\\S\\n]+[^\\s])))",beginCaptures:{1:{name:"support.type.property-name.css"},2:{name:"support.type.property-name.svg.css"},3:{name:"support.function.mixin.stylus"}},end:"(;)|(?=\\n|\\}|$)",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_value"}]},property_value:{begin:"\\G(?:(:)|(\\s))(\\s*)(?!&)",beginCaptures:{1:{name:"punctuation.separator.key-value.css"},2:{name:"punctuation.separator.key-value.css"}},end:"(?=\\n|;|\\})",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.property-value.css",patterns:[{include:"#property_values"},{match:"[^\\n]+?"}]},property_values:{patterns:[{include:"#function"},{include:"#comment"},{include:"#language_keywords"},{include:"#language_constants"},{match:"(?:(?=\\w)(?<![\\w-]))(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.css"},{match:"(?:(?=\\w)(?<![\\w-]))(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.svg.css"},{include:"#font_name"},{include:"#numeric"},{include:"#color"},{include:"#string"},{match:"\\!\\s*important",name:"keyword.other.important.css"},{include:"#operator"},{include:"#stylus_keywords"},{include:"#property_variable"}]},property_variable:{patterns:[{include:"#variable"},{match:"(?<!^)(\\@[a-zA-Z_-][a-zA-Z0-9_-]*)",name:"variable.property.stylus"}]},selector:{patterns:[{match:"(?:(?=\\w)(?<![\\w-]))(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?:(?<=\\w)(?![\\w-]))",name:"entity.name.tag.css"},{match:"(?:(?=\\w)(?<![\\w-]))(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?:(?<=\\w)(?![\\w-]))",name:"entity.name.tag.svg.css"},{match:"\\s*(\\,)\\s*",name:"meta.selector.stylus"},{match:"\\*",name:"meta.selector.stylus"},{captures:{2:{name:"entity.other.attribute-name.parent-selector-suffix.stylus"}},match:"\\s*(\\&)([a-zA-Z0-9_-]+)\\s*",name:"meta.selector.stylus"},{match:"\\s*(\\&)\\s*",name:"meta.selector.stylus"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(\\.)[a-zA-Z0-9_-]+",name:"entity.other.attribute-name.class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(#)[a-zA-Z][a-zA-Z0-9_-]*",name:"entity.other.attribute-name.id.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\\b",name:"entity.other.attribute-name.pseudo-element.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\\b",name:"entity.other.attribute-name.pseudo-class.ui-state.css"},{begin:"((:)not)(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.css"}},patterns:[{include:"#selector"}]},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.numeric.css"},5:{name:"punctuation.section.function.css"}},match:"((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(\\-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))"},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"puncutation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.language.css"},5:{name:"punctuation.section.function.css"}},match:"((:)dir)\\s*(?:(\\()(ltr|rtl)?(\\)))?"},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"puncutation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.language.css"},6:{name:"punctuation.section.function.css"}},match:"((:)lang)\\s*(?:(\\()(\\w+(-\\w+)?)?(\\)))?"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)(active|hover|link|visited|focus)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(::)(shadow)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"entity.other.attribute-name.attribute.css"},3:{name:"punctuation.separator.operator.css"},4:{name:"string.unquoted.attribute-value.css"},5:{name:"string.quoted.double.attribute-value.css"},6:{name:"punctuation.definition.string.begin.css"},7:{name:"punctuation.definition.string.end.css"},8:{name:"punctuation.definition.entity.css"}},match:"(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",name:"meta.attribute-selector.css"},{include:"#interpolation"},{include:"#variable"}]},string:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:"\\\\([a-fA-F0-9]{1,6}|.)",name:"constant.character.escape.css"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:"\\\\([a-fA-F0-9]{1,6}|.)",name:"constant.character.escape.css"}]}]},variable:{match:"(\\$[a-zA-Z_-][a-zA-Z0-9_-]*)",name:"variable.stylus"},variable_declaration:{begin:"^[^\\S\\n]*(\\$?[a-zA-Z_-][a-zA-Z0-9_-]*)[^\\S\\n]*(\\=|\\?\\=|\\:\\=)",beginCaptures:{1:{name:"variable.stylus"},2:{name:"keyword.operator.stylus"}},end:"(\\n)|(;)|(?=\\})",endCaptures:{2:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_values"}]}},r="source.stylus",s={displayName:e,fileTypes:t,name:n,patterns:a,repository:i,scopeName:r};export{s as default,e as displayName,t as fileTypes,n as name,a as patterns,i as repository,r as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Svelte",t=["svelte"],n={"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.js",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.ts",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.ts"}]}]},"L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.coffee",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.coffee"}]}]},"L:(source.ts, source.js, source.coffee)":{patterns:[{match:"(?<![_$./'\"[:alnum:]])\\$(?=[_[:alpha:]][_$[:alnum:]]*)",name:"punctuation.definition.variable.svelte"},{match:"(?<![_$./'\"[:alnum:]])(\\$\\$)(?=props|restProps|slots)",name:"punctuation.definition.variable.svelte"}]},"L:meta.script.svelte - meta.lang - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.js",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:meta.style.svelte - meta.lang - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.css",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.css - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.css",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.less - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.css.less",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.css.less"}]}]},"L:meta.style.svelte meta.lang.postcss - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.css.postcss",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.css.postcss"}]}]},"L:meta.style.svelte meta.lang.sass - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.sass",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.sass"}]}]},"L:meta.style.svelte meta.lang.scss - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.css.scss",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.css.scss"}]}]},"L:meta.style.svelte meta.lang.stylus - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"source.stylus",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"source.stylus"}]}]},"L:meta.template.svelte - meta.lang - (meta source)":{patterns:[{begin:"(?<=>)\\s",end:"(?=</template)",patterns:[{include:"#scope"}]}]},"L:meta.template.svelte meta.lang.pug - (meta source)":{patterns:[{begin:"(?<=>)(?!</)",contentName:"text.pug",end:"(?=</)",name:"meta.embedded.block.svelte",patterns:[{include:"text.pug"}]}]}},a="svelte",s=[{include:"#scope"}],i={attributes:{patterns:[{include:"#attributes-directives"},{include:"#attributes-keyvalue"},{include:"#attributes-interpolated"}]},"attributes-directives":{begin:"(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*(?=\\s*=))|((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*))((\\|\\w+)*)",beginCaptures:{1:{patterns:[{include:"#attributes-directives-keywords"}]},2:{name:"punctuation.definition.keyword.svelte"},3:{patterns:[{include:"#attributes-directives-types-assigned"}]},4:{patterns:[{include:"#attributes-directives-types"}]},5:{patterns:[{match:"\\w+",name:"support.function.svelte"},{match:"\\|",name:"punctuation.separator.svelte"}]}},end:"(?=\\s*+[^=\\s])",name:"meta.directive.$1.svelte",patterns:[{begin:"=",beginCaptures:{0:{name:"punctuation.separator.key-value.svelte"}},end:"(?<=[^\\s=])(?!\\s*=)|(?=/?>)",patterns:[{include:"#attributes-value"}]}]},"attributes-directives-keywords":{patterns:[{match:"on|use|bind",name:"keyword.control.svelte"},{match:"transition|in|out|animate",name:"keyword.other.animation.svelte"},{match:"let",name:"storage.type.svelte"},{match:"class|style",name:"entity.other.attribute-name.svelte"}]},"attributes-directives-types":{patterns:[{match:"(?<=(on):).*$",name:"entity.name.type.svelte"},{match:"(?<=(bind):).*$",name:"variable.parameter.svelte"},{match:"(?<=(use|transition|in|out|animate):).*$",name:"variable.function.svelte"},{match:"(?<=(let|class|style):).*$",name:"variable.parameter.svelte"}]},"attributes-directives-types-assigned":{patterns:[{match:"(?<=(bind):)this$",name:"variable.language.svelte"},{match:"(?<=(bind):).*$",name:"entity.name.type.svelte"},{match:"(?<=(class):).*$",name:"entity.other.attribute-name.class.svelte"},{match:"(?<=(style):).*$",name:"support.type.property-name.svelte"},{include:"#attributes-directives-types"}]},"attributes-generics":{begin:"(generics)(=)([\"'])",beginCaptures:{1:{name:"entity.other.attribute-name.svelte"},2:{name:"punctuation.separator.key-value.svelte"},3:{name:"punctuation.definition.string.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.svelte"}},patterns:[{include:"#type-parameters"}]},"attributes-interpolated":{begin:"(?<!:|=)\\s*({)",captures:{1:{name:"entity.other.attribute-name.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:"(\\})",patterns:[{include:"source.ts"}]},"attributes-keyvalue":{begin:"((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*)",beginCaptures:{0:{patterns:[{match:"--.*",name:"support.type.property-name.svelte"},{match:".*",name:"entity.other.attribute-name.svelte"}]}},end:"(?=\\s*+[^=\\s])",name:"meta.attribute.$1.svelte",patterns:[{begin:"=",beginCaptures:{0:{name:"punctuation.separator.key-value.svelte"}},end:"(?<=[^\\s=])(?!\\s*=)|(?=/?>)",patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{captures:{1:{name:"punctuation.definition.string.begin.svelte"},2:{name:"constant.numeric.decimal.svelte"},3:{name:"punctuation.definition.string.end.svelte"},4:{name:"constant.numeric.decimal.svelte"}},match:"(?:(['\"])([0-9._]+[\\w%]{,4})(\\1))|(?:([0-9._]+[\\w%]{,4})(?=\\s|/?>))"},{match:"([^\\s\"'=<>`/]|/(?!>))+",name:"string.unquoted.svelte",patterns:[{include:"#interpolation"}]},{begin:"(['\"])",beginCaptures:{0:{name:"punctuation.definition.string.begin.svelte"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.svelte"}},name:"string.quoted.svelte",patterns:[{include:"#interpolation"}]}]},comments:{begin:"\x3c!--",captures:{0:{name:"punctuation.definition.comment.svelte"}},end:"--\x3e",name:"comment.block.svelte",patterns:[{begin:"(@)(component)",beginCaptures:{1:{name:"punctuation.definition.keyword.svelte"},2:{name:"storage.type.class.component.svelte keyword.declaration.class.component.svelte"}},contentName:"comment.block.documentation.svelte",end:"(?=--\x3e)",patterns:[{captures:{0:{patterns:[{include:"text.html.markdown"}]}},match:".*?(?=--\x3e)"},{include:"text.html.markdown"}]},{match:"\\G-?>|\x3c!--(?!>)|<!-(?=--\x3e)|--!>",name:"invalid.illegal.characters-not-allowed-here.svelte"}]},destructuring:{patterns:[{begin:"(?={)",end:"(?<=})",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern"}]},{begin:"(?=\\[)",end:"(?<=\\])",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern"}]}]},"destructuring-const":{patterns:[{begin:"(?={)",end:"(?<=})",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern-const"}]},{begin:"(?=\\[)",end:"(?<=\\])",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern-const"}]}]},interpolation:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:"\\}",endCaptures:{0:{name:"punctuation.section.embedded.end.svelte"}},patterns:[{begin:"\\G\\s*(?={)",end:"(?<=})",patterns:[{include:"source.ts#object-literal"}]},{include:"source.ts"}]}]},scope:{patterns:[{include:"#comments"},{include:"#special-tags"},{include:"#tags"},{include:"#interpolation"},{begin:"(?<=>|})",end:"(?=<|{)",name:"text.svelte"}]},"special-tags":{patterns:[{include:"#special-tags-void"},{include:"#special-tags-block-begin"},{include:"#special-tags-block-end"}]},"special-tags-block-begin":{begin:"({)\\s*(#([a-z]*))",beginCaptures:{1:{name:"punctuation.definition.block.begin.svelte"},2:{patterns:[{include:"#special-tags-keywords"}]}},end:"(})",endCaptures:{0:{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.start.svelte",patterns:[{include:"#special-tags-modes"}]},"special-tags-block-end":{begin:"({)\\s*(/([a-z]*))",beginCaptures:{1:{name:"punctuation.definition.block.begin.svelte"},2:{patterns:[{include:"#special-tags-keywords"}]}},end:"(})",endCaptures:{1:{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.end.svelte"},"special-tags-keywords":{captures:{1:{name:"punctuation.definition.keyword.svelte"},2:{patterns:[{match:"if|else\\s+if|else",name:"keyword.control.conditional.svelte"},{match:"each|key",name:"keyword.control.svelte"},{match:"await|then|catch",name:"keyword.control.flow.svelte"},{match:"snippet",name:"keyword.control.svelte"},{match:"html",name:"keyword.other.svelte"},{match:"render",name:"keyword.other.svelte"},{match:"debug",name:"keyword.other.debugger.svelte"},{match:"const",name:"storage.type.svelte"}]}},match:"([#@/:])(else\\s+if|[a-z]*)"},"special-tags-modes":{patterns:[{begin:"(?<=(if|key|then|catch|snippet|html|render).*?)\\G",end:"(?=})",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]},{begin:"(?<=const.*?)\\G",end:"(?=})",patterns:[{include:"#destructuring-const"},{begin:"\\G\\s*([_$[:alpha:]][_$[:alnum:]]+)\\s*",beginCaptures:{1:{name:"variable.other.constant.svelte"}},end:"(?=\\=)"},{begin:"(?=\\=)",end:"(?=})",name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}]},{begin:"(?<=each.*?)\\G",end:"(?=})",patterns:[{begin:"\\G\\s*?(?=\\S)",contentName:"meta.embedded.expression.svelte source.ts",end:"(?=(?:^\\s*|\\s+)(as))",patterns:[{include:"source.ts"}]},{begin:"(as)",beginCaptures:{1:{name:"keyword.control.as.svelte"}},end:"(?=})",patterns:[{include:"#destructuring"},{begin:"\\(",captures:{0:{name:"meta.brace.round.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:"\\)|(?=})",patterns:[{include:"source.ts"}]},{captures:{1:{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:"(\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*)"},{match:",",name:"punctuation.separator.svelte"}]}]},{begin:"(?<=await.*?)\\G",end:"(?=})",patterns:[{begin:"\\G\\s*?(?=\\S)",contentName:"meta.embedded.expression.svelte source.ts",end:"\\s+(then)|(?=})",endCaptures:{1:{name:"keyword.control.flow.svelte"}},patterns:[{include:"source.ts"}]},{begin:"(?<=then\\b)",contentName:"meta.embedded.expression.svelte source.ts",end:"(?=})",patterns:[{include:"source.ts"}]}]},{begin:"(?<=debug.*?)\\G",end:"(?=})",patterns:[{captures:{0:{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:"[_$[:alpha:]][_$[:alnum:]]*"},{match:",",name:"punctuation.separator.svelte"}]}]},"special-tags-void":{begin:"({)\\s*((?:[@:])(else\\s+if|[a-z]*))",beginCaptures:{1:{name:"punctuation.definition.block.begin.svelte"},2:{patterns:[{include:"#special-tags-keywords"}]}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte",patterns:[{include:"#special-tags-modes"}]},tags:{patterns:[{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{1:{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},2:{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]},3:{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"},4:{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},match:"(</)(.*?)\\s*(>)|(/>)"},"tags-general-end":{begin:"(</)([^/\\s>]*)",beginCaptures:{1:{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},2:{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]}},end:"(>)",endCaptures:{1:{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte"},"tags-general-start":{begin:"(<)([^/\\s>/]*)",beginCaptures:{0:{patterns:[{include:"#tags-start-node"}]}},end:"(/?>)",endCaptures:{1:{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:"<(script|style|template)",beginCaptures:{0:{patterns:[{include:"#tags-start-node"}]}},end:"</\\1\\s*>|/>",endCaptures:{0:{patterns:[{include:"#tags-end-node"}]}},name:"meta.$1.svelte",patterns:[{begin:"\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['\"]|)(?:text/)?(\\w+)\\2)",end:"(?=</|/>)",name:"meta.lang.$3.svelte",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:"\\G",end:"(?=/>)|>",endCaptures:{0:{name:"punctuation.definition.tag.end.svelte"}},name:"meta.tag.start.svelte",patterns:[{include:"#attributes-generics"},{include:"#attributes"}]},"tags-name":{patterns:[{captures:{1:{name:"keyword.control.svelte"},2:{name:"punctuation.definition.keyword.svelte"},3:{name:"entity.name.tag.svelte"}},match:"(svelte)(:)([a-z][\\w0-9:-]*)"},{match:"slot",name:"keyword.control.svelte"},{match:"[A-Z][a-zA-Z0-9_]*",name:"support.class.component.svelte"},{match:"[a-z][\\w0-9:]*-[\\w0-9:-]*",name:"meta.tag.custom.svelte entity.name.tag.svelte"},{match:"[a-z][\\w0-9:-]*",name:"entity.name.tag.svelte"}]},"tags-start-attributes":{begin:"\\G",end:"(?=/?>)",name:"meta.tag.start.svelte",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{1:{name:"punctuation.definition.tag.begin.svelte"},2:{patterns:[{include:"#tags-name"}]}},match:"(<)([^/\\s>/]*)",name:"meta.tag.start.svelte"},"tags-void":{begin:"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.svelte"},2:{name:"entity.name.tag.svelte"}},end:"/?>",endCaptures:{0:{name:"punctuation.definition.tag.begin.svelte"}},name:"meta.tag.void.svelte",patterns:[{include:"#attributes"}]},"type-parameters":{name:"meta.type.parameters.ts",patterns:[{include:"source.ts#comment"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:"(=)(?!>)",name:"keyword.operator.assignment.ts"}]}},r="source.svelte",c={displayName:e,fileTypes:t,injections:n,name:a,patterns:s,repository:i,scopeName:r};export{c as default,e as displayName,t as fileTypes,n as injections,a as name,s as patterns,i as repository,r as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Swift",n="swift",t=[{include:"#root"}],i={"async-throws":{captures:{1:{name:"invalid.illegal.await-must-precede-throws.swift"},2:{name:"storage.modifier.exception.swift"},3:{name:"storage.modifier.async.swift"}},match:"\\b(?:(throws\\s+async|rethrows\\s+async)|(throws|rethrows)|(async))\\b"},attributes:{patterns:[{begin:"((@)available)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.available.swift",patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+([0-9]+(?:\\.[0-9]+)*\\b))?"},{begin:"\\b(introduced|deprecated|obsoleted)\\s*(:)\\s*",beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{match:"\\b[0-9]+(?:\\.[0-9]+)*\\b",name:"constant.numeric.swift"}]},{begin:'\\b(message|renamed)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"keyword.other.swift"},3:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(?:(\\*)|\\b(deprecated|unavailable|noasync)\\b)\\s*(.*?)(?=[,)])"}]},{begin:"((@)objc)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.objc.swift",patterns:[{captures:{1:{name:"invalid.illegal.missing-colon-after-selector-piece.swift"}},match:"\\w*(?::(?:\\w*:)*(\\w*))?",name:"entity.name.function.swift"}]},{begin:"(@)(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)",beginCaptures:{0:{name:"storage.modifier.attribute.swift"},1:{name:"punctuation.definition.attribute.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},comment:"any other attribute",end:"(?!\\G\\()",name:"meta.attribute.swift",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.arguments.attribute.swift",patterns:[{include:"#expressions"}]}]}]},"builtin-functions":{patterns:[{comment:"Member functions in the standard library in Swift 3 which may be used with trailing closures and no parentheses",match:"(?<=\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\s*[({])\\b",name:"support.function.swift"},{comment:"Member functions in the standard library in Swift 3",match:"(?<=\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\s*\\()",name:"support.function.swift"},{comment:"Member functions in the standard library in Swift 2 only",match:"(?<=\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-global-functions":{patterns:[{begin:"\\b(type)(\\()\\s*(of)(:)",beginCaptures:{1:{name:"support.function.dynamic-type.swift"},2:{name:"punctuation.definition.arguments.begin.swift"},3:{name:"support.variable.parameter.swift"},4:{name:"punctuation.separator.argument-label.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{comment:"Global functions available in Swift 3 which may be used with trailing closures and no parentheses",match:"\\b(?:anyGenerator|autoreleasepool)(?=\\s*[({])\\b",name:"support.function.swift"},{comment:"Global functions available in Swift 3",match:"\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\s*\\()",name:"support.function.swift"},{comment:"Global functions available in Swift 2 only",match:"\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-properties":{patterns:[{comment:"The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks VS Code / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",match:"(?<=^Process\\.|\\WProcess\\.|^CommandLine\\.|\\WCommandLine\\.)(arguments|argc|unsafeArgv)",name:"support.variable.swift"},{comment:"Properties in the standard library in Swift 3",match:"(?<=\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\b",name:"support.variable.swift"},{comment:"Properties in the standard library in Swift 2 only",match:"(?<=\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\b",name:"support.variable.swift"},{comment:"Enum cases in the standard library - note that there is some overlap between these and the properties",match:"(?<=\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\b",name:"support.variable.swift"}]},"builtin-types":{comment:"Types provided in the standard library",patterns:[{include:"#builtin-types-builtin-class-type"},{include:"#builtin-types-builtin-enum-type"},{include:"#builtin-types-builtin-protocol-type"},{include:"#builtin-types-builtin-struct-type"},{include:"#builtin-types-builtin-typealias"},{match:"\\bAny\\b",name:"support.type.any.swift"}]},"builtin-types-builtin-class-type":{comment:"Builtin class types",match:"\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\b",name:"support.class.swift"},"builtin-types-builtin-enum-type":{patterns:[{comment:"CommandLine is an enum, but it acts like a constant",match:"\\b(?:CommandLine|Process(?=\\.))\\b",name:"support.constant.swift"},{comment:"The return type of a function that never returns",match:"\\bNever\\b",name:"support.constant.never.swift"},{comment:"Enum types in the standard library in Swift 3",match:"\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\b",name:"support.type.swift"},{comment:"Enum types in the standard library in Swift 2 only",match:"\\b(?:MirrorDisposition|QuickLookObject)\\b",name:"support.type.swift"}]},"builtin-types-builtin-protocol-type":{patterns:[{comment:"Protocols in the standard library in Swift 3",match:"\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\b",name:"support.type.swift"},{comment:"Protocols in the standard library in Swift 2 only",match:"\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\b",name:"support.type.swift"}]},"builtin-types-builtin-struct-type":{patterns:[{comment:"Structs in the standard library in Swift 3",match:"\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\b",name:"support.type.swift"},{comment:"Structs in the standard library in Swift 2 only",match:"\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\b",name:"support.type.swift"}]},"builtin-types-builtin-typealias":{patterns:[{comment:"Typealiases in the standard library in Swift 3",match:"\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\b",name:"support.type.swift"},{comment:"Typealiases in the standard library in Swift 2 only",match:"\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\b",name:"support.type.swift"}]},"code-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.scope.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.scope.end.swift"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.swift"}},match:"\\A^(#!).*$\\n?",name:"comment.line.number-sign.swift"},{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*:",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.playground.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.swift",patterns:[{include:"#comments-nested"}]},{match:"\\*/",name:"invalid.illegal.unexpected-end-of-block-comment.swift"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.swift"}},end:"(?!\\G)",patterns:[{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.triple-slash.documentation.swift"},{begin:"//:",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.documentation.swift"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.swift"}]}]},"comments-nested":{begin:"/\\*",end:"\\*/",patterns:[{include:"#comments-nested"}]},"compiler-control":{patterns:[{begin:"^\\s*(#)(if|elseif)\\s+(false)\\b.*?(?=$|//|/\\*)",beginCaptures:{0:{name:"meta.preprocessor.conditional.swift"},1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{name:"constant.language.boolean.swift"}},contentName:"comment.block.preprocessor.swift",end:"(?=^\\s*(#(elseif|else|endif)\\b))"},{begin:"^\\s*(#)(if|elseif)\\s+",captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"}},end:"(?=\\s*(?://|/\\*))|$",name:"meta.preprocessor.conditional.swift",patterns:[{match:"(&&|\\|\\|)",name:"keyword.operator.logical.swift"},{match:"\\b(true|false)\\b",name:"constant.language.boolean.swift"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.architecture.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(arch)\\s*(\\()\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.os.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(os)\\s*(\\()\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"entity.name.type.module.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(canImport)\\s*(\\()([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(\\))"},{begin:"\\b(targetEnvironment)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:"\\b(simulator|UIKitForMac)\\b",name:"support.constant.platform.environment.swift"}]},{begin:"\\b(swift|compiler)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:">=|<",name:"keyword.operator.comparison.swift"},{match:"\\b[0-9]+(?:\\.[0-9]+)*\\b",name:"constant.numeric.swift"}]}]},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(else|endif)(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.conditional.swift"},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.sourcelocation.swift"},4:{name:"punctuation.definition.parameters.begin.swift"},5:{patterns:[{begin:'(file)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"},3:{name:"constant.numeric.integer.swift"}},match:"(line)\\s*(:)\\s*([0-9]+)"},{match:",",name:"punctuation.separator.parameters.swift"},{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]},6:{name:"punctuation.definition.parameters.begin.swift"},7:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(sourceLocation)((\\()([^)]*)(\\)))(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.sourcelocation.swift"}]},conditionals:{patterns:[{begin:"(?<!\\.)\\b(if|guard|switch|for)\\b",beginCaptures:{1:{patterns:[{include:"#keywords"}]}},end:"(?=\\{)",patterns:[{include:"#expressions-without-trailing-closures"}]},{begin:"(?<!\\.)\\b(while)\\b",beginCaptures:{1:{patterns:[{include:"#keywords"}]}},comment:"while can be the end of a repeat-while statement so doesn't necessarily have braces after it",end:"(?=\\{)|$",patterns:[{include:"#expressions-without-trailing-closures"}]}]},declarations:{patterns:[{include:"#declarations-function"},{include:"#declarations-function-initializer"},{include:"#declarations-function-subscript"},{include:"#declarations-typed-variable-declaration"},{include:"#declarations-import"},{include:"#declarations-operator"},{include:"#declarations-precedencegroup"},{include:"#declarations-protocol"},{include:"#declarations-type"},{include:"#declarations-extension"},{include:"#declarations-typealias"},{include:"#declarations-macro"}]},"declarations-available-types":{patterns:[{include:"#comments"},{include:"#builtin-types"},{include:"#attributes"},{match:"\\basync\\b",name:"storage.modifier.async.swift"},{match:"\\b(?:throws|rethrows)\\b",name:"storage.modifier.exception.swift"},{match:"\\bsome\\b",name:"keyword.other.operator.type.opaque.swift"},{match:"\\bany\\b",name:"keyword.other.operator.type.existential.swift"},{match:"\\b(?:repeat|each)\\b",name:"keyword.control.loop.swift"},{match:"\\b(?:inout|isolated|borrowing|consuming)\\b",name:"storage.modifier.swift"},{match:"\\bSelf\\b",name:"variable.language.swift"},{captures:{1:{name:"keyword.operator.type.function.swift"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.composition.swift"}},comment:"Swift 3: A & B",match:"(?<![/=\\-+!*%<>&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{match:"[?!]",name:"keyword.operator.type.optional.swift"},{match:"\\.\\.\\.",name:"keyword.operator.function.variadic-parameter.swift"},{comment:"Swift 2: protocol<A, B>",match:"\\bprotocol\\b",name:"keyword.other.type.composition.swift"},{match:"(?<=\\.)(?:Protocol|Type)\\b",name:"keyword.other.type.metatype.swift"},{include:"#declarations-available-types-tuple-type"},{include:"#declarations-available-types-collection-type"},{include:"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.collection-type.begin.swift"}},comment:"array and dictionary types [Value] and [Key: Value]",end:"\\]|(?=[>){}])",endCaptures:{0:{name:"punctuation.section.collection-type.end.swift"}},patterns:[{include:"#declarations-available-types"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.key-value.swift"}},end:"(?=\\]|[>){}])",patterns:[{match:":",name:"invalid.illegal.extra-colon-in-dictionary-type.swift"},{include:"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple-type.begin.swift"}},end:"\\)|(?=[>\\]{}])",endCaptures:{0:{name:"punctuation.section.tuple-type.end.swift"}},patterns:[{include:"#declarations-available-types"}]},"declarations-extension":{begin:"\\b(extension)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.swift",patterns:[{include:"#declarations-available-types"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{comment:"SE-0143: Conditional Conformances",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},"declarations-function":{begin:"(?x)\n\\b\n(func)\n\\s+\n(\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\n| (?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n)\n\\s*\n(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})|$(?# functions in protocol declarations or generated interfaces have no body)",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-initializer":{begin:"(?<!\\.)\\b(init[?!]*(?# only one is valid, but we want the in⇥ snippet to produce something that looks good))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift",patterns:[{match:"(?<=[?!])[?!]+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:"(?<=\\})|$",name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-result":{begin:"(?<![/=\\-+!*%<>&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])\\s*",beginCaptures:{1:{name:"keyword.operator.function-result.swift"}},end:"(?!\\G)(?=\\{|\\bwhere\\b|;|=)|$",name:"meta.function-result.swift",patterns:[{include:"#declarations-available-types"}]},"declarations-function-subscript":{begin:"(?<!\\.)\\b(subscript)\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"}},end:"(?<=\\})|$",name:"meta.definition.function.subscript.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-generic-argument-clause":{begin:"<",beginCaptures:{0:{name:"punctuation.separator.generic-argument-clause.begin.swift"}},end:">|(?=[)\\]{}])",endCaptures:{0:{name:"punctuation.separator.generic-argument-clause.end.swift"}},name:"meta.generic-argument-clause.swift",patterns:[{include:"#declarations-available-types"}]},"declarations-generic-parameter-clause":{begin:"<",beginCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.begin.swift"}},end:">|(?=[^\\w\\d:<>\\s,=&`])(?# characters besides these are never valid in a generic param list -- even if it's not really a valid clause, we should stop trying to parse it if we see one of them.)",endCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.end.swift"}},name:"meta.generic-parameter-clause.swift",patterns:[{include:"#comments"},{comment:"Swift 2: constraints inside the generic param list",include:"#declarations-generic-where-clause"},{match:"\\beach\\b",name:"keyword.control.loop.swift"},{captures:{1:{name:"variable.language.generic-parameter.swift"}},match:"\\b((?!\\d)\\w[\\w\\d]*)\\b"},{match:",",name:"punctuation.separator.generic-parameters.swift"},{begin:"(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.generic-parameter-constraint.swift"}},end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"meta.generic-parameter-constraint.swift",patterns:[{begin:"\\G",end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"},{include:"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{begin:"\\b(where)\\b\\s*",beginCaptures:{1:{name:"keyword.other.generic-constraint-introducer.swift"}},end:"(?!\\G)$|(?=[>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{begin:"\\G|,\\s*",end:"(?=[,>{};\\n]|//|/\\*)",patterns:[{include:"#comments"},{include:"#constraint"},{include:"#declarations-available-types"},{begin:"(?<![/=\\-+!*%<>&|\\^~.])(==)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.same-type.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.same-type-requirement.swift",patterns:[{include:"#declarations-available-types"}]},{begin:"(?<![/=\\-+!*%<>&|\\^~.])(:)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.conforms-to.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.conformance-requirement.swift",patterns:[{begin:"\\G\\s*",contentName:"entity.other.inherited-class.swift",end:"(?=\\s*[,>{};\\n]|//|/\\*)",patterns:[{include:"#declarations-available-types"}]}]}]},"declarations-import":{begin:"(?<!\\.)\\b(import)\\s+",beginCaptures:{1:{name:"keyword.control.import.swift"}},end:"(;)|$\\n?|(?=//|/\\*)",endCaptures:{1:{name:"punctuation.terminator.statement.swift"}},name:"meta.import.swift",patterns:[{begin:"\\G(?!;|$|//|/\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\s+)?",beginCaptures:{1:{name:"storage.modifier.swift"}},end:"(?=;|$|//|/\\*)",patterns:[{captures:{1:{name:"punctuation.definition.identifier.swift"},2:{name:"punctuation.definition.identifier.swift"}},match:"(?x)\n(?<=\\G|\\.)\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)",name:"entity.name.type.swift"},{match:"(?x)\n(?<=\\G|\\.)\n\\$[0-9]+",name:"entity.name.type.swift"},{captures:{1:{patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},match:"(?x)\n(?<=\\G|\\.)\n(?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n(?=\\.|;|$|//|/\\*|\\s)",name:"entity.name.type.swift"},{match:"\\.",name:"punctuation.separator.import.swift"},{begin:"(?!\\s*(;|$|//|/\\*))",end:"(?=\\s*(;|$|//|/\\*))",name:"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{begin:"(:)(?=\\s*\\{)|(:)\\s*",beginCaptures:{1:{name:"invalid.illegal.empty-inheritance-clause.swift"},2:{name:"punctuation.separator.inheritance-clause.swift"}},end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-clause.swift",patterns:[{begin:"\\bclass\\b",beginCaptures:{0:{name:"storage.type.class.swift"}},end:"(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-more-types"}]},{begin:"\\G",end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{begin:"(?=[`\\p{L}_])",end:"(?!\\G)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)|(?=[,={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-list.more-types",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]},"declarations-macro":{begin:"(?x)\n\\b\n(macro)\n\\s+\n((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\n\\s*\n(?=\\(|<|=)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\}|=)",name:"meta.definition.macro.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"}]},"declarations-operator":{begin:"(?x)\n(?:\n\\b(prefix|infix|postfix)\n\\s+\n)?\n\\b\n(operator)\n\\s+\n(\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| \\.\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*+\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )++ )\n)\n\\s*",beginCaptures:{1:{name:"storage.modifier.swift"},2:{name:"storage.type.function.operator.swift"},3:{name:"entity.name.function.operator.swift"},4:{comment:"workaround for https://github.com/microsoft/vscode-textmate/issues/140#issuecomment-1793610346",name:"entity.name.function.operator.swift",patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},end:"(;)|$\\n?|(?=//|/\\*)",endCaptures:{1:{name:"punctuation.terminator.statement.swift"}},name:"meta.definition.operator.swift",patterns:[{include:"#declarations-operator-swift2"},{include:"#declarations-operator-swift3"},{match:"((?!$|;|//|/\\*)\\S)+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{begin:"\\G(\\{)",beginCaptures:{1:{name:"punctuation.definition.operator.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.definition.operator.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\s+(left|right)\\b"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.numeric.integer.swift"}},match:"\\b(precedence)\\s+([0-9]+)\\b"},{captures:{1:{name:"storage.modifier.swift"}},match:"\\b(assignment)\\b"}]},"declarations-operator-swift3":{captures:{2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\G(:)\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"},"declarations-parameter-clause":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))(?:\\s*(async)\\b)?",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"},2:{name:"storage.modifier.async.swift"}},name:"meta.parameter-clause.swift",patterns:[{include:"#declarations-parameter-list"}]},"declarations-parameter-list":{patterns:[{captures:{1:{name:"entity.name.function.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"variable.parameter.function.swift"},5:{name:"punctuation.definition.identifier.swift"},6:{name:"punctuation.definition.identifier.swift"}},comment:"External parameter labels are considered part of the function name",match:"((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>))\\s+((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>))(?=\\s*:)"},{captures:{1:{name:"variable.parameter.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},comment:"If no external label is given, the name is both the external label and the internal variable name",match:"(((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)))(?=\\s*:)"},{begin:":\\s*(?!\\s)",end:"(?=[,)])",patterns:[{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"},{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.swift"}},comment:"a parameter's default value",end:"(?=[,)])",patterns:[{include:"#expressions"}]}]}]},"declarations-precedencegroup":{begin:"\\b(precedencegroup)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(?=\\{)",beginCaptures:{1:{name:"storage.type.precedencegroup.swift"},2:{name:"entity.name.type.precedencegroup.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)",name:"meta.definition.precedencegroup.swift",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.precedencegroup.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.precedencegroup.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\b(higherThan|lowerThan)\\s*:\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\b(?:\\s*:\\s*(right|left|none)\\b)?"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.language.boolean.swift"}},match:"\\b(assignment)\\b(?:\\s*:\\s*(true|false)\\b)?"}]}]},"declarations-protocol":{begin:"\\b(protocol)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.protocol.swift",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause"},{comment:"SE-0142: Permit where clauses to constrain associated types",include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-protocol-protocol-method"},{include:"#declarations-protocol-protocol-initializer"},{include:"#declarations-protocol-associated-type"},{include:"$self"}]}]},"declarations-protocol-associated-type":{begin:"\\b(associatedtype)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"variable.language.associatedtype.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=[;}]|$)",name:"meta.definition.associatedtype.swift",patterns:[{include:"#declarations-inheritance-clause"},{comment:"SE-0142: Permit where clauses to constrain associated types",include:"#declarations-generic-where-clause"},{include:"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{begin:"(?<!\\.)\\b(init[?!]*(?# only one is valid, but we want the in⇥ snippet to produce something that looks good))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift",patterns:[{match:"(?<=[?!])[?!]+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:"$|(?=;|//|/\\*|\\})",name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-protocol-protocol-method":{begin:"(?x)\n\\b\n(func)\n\\s+\n(\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\n| (?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n)\n\\s*\n(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\})",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-type":{patterns:[{begin:"\\b(class(?!\\s+(?:func|var|let)\\b)|struct|actor)\\b\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{comment:"Swift 3: generic constraints after the generic param list",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},{include:"#declarations-type-enum"}]},"declarations-type-enum":{begin:"\\b(enum)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{comment:"Swift 3: generic constraints after the generic param list",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-type-enum-enum-case-clause"},{include:"$self"}]}]},"declarations-type-enum-associated-values":{begin:"\\G\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{include:"#comments"},{begin:"(?x)\n(?:(_)|((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q1>))\n\\s+\n(((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q2>))\n\\s*(:)",beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"invalid.illegal.distinct-labels-not-allowed.swift"},5:{name:"variable.parameter.function.swift"},7:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q>))\\s*(:)",beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"variable.parameter.function.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(?![,)\\]])(?=\\S)",comment:"an element without a label (i.e. anything else)",end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{begin:"(?x)((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"variable.other.enummember.swift"}},end:"(?<=\\))|(?![=(])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-associated-values"},{include:"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{begin:"\\b(case)\\b\\s*",beginCaptures:{1:{name:"storage.type.enum.case.swift"}},end:"(?=[;}])|(?!\\G)(?!//|/\\*)(?=[^\\s,])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)(?=[;}]|[^\\s,])",name:"meta.enum-case.more-cases",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)",patterns:[{include:"#comments"},{include:"#literals"}]},"declarations-type-identifier":{begin:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"meta.type-name.swift",patterns:[{include:"#builtin-types"}]},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},end:"(?!<)",patterns:[{begin:"(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{patterns:[{captures:{1:{name:"keyword.operator.type.composition.swift"}},comment:"Swift 3: A & B",match:"(?<![/=\\-+!*%<>&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.requirement-suppression.swift"}},comment:"SE-0390: Noncopyable structs and enums",match:"(?<![/=\\-+!*%<>&|\\^~.])(~)(?![/=\\-+!*%<>&|\\^~.])"}]},"declarations-typealias":{begin:"\\b(typealias)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"entity.name.type.typealias.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",name:"meta.definition.typealias.swift",patterns:[{begin:"\\G(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-parameter-clause"}]},{include:"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",patterns:[{include:"#declarations-available-types"}]},"declarations-typed-variable-declaration":{begin:"(?x)\n\\b(?:(async)\\s+)?(let|var)\\b\\s+\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\\s*\n:",beginCaptures:{1:{name:"storage.modifier.async.swift"},2:{name:"keyword.other.declaration-specifier.swift"}},end:"(?=$|[={])",patterns:[{include:"#declarations-available-types"}]},"declarations-types-precedencegroup":{patterns:[{comment:"Precedence groups in the standard library",match:"\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\b",name:"support.type.swift"}]},expressions:{comment:"trailing closures need to be parsed before other member references",patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#expressions-trailing-closure"},{include:"#member-reference"}]},"expressions-trailing-closure":{patterns:[{captures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},comment:"foo { body } -- a call with a trailing closure and no argument clause",match:"(#?(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))(?=\\s*\\{)",name:"meta.function-call.trailing-closure-only.swift"},{captures:{1:{name:"support.function.any-method.trailing-closure-label.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},comment:"foo: { body } -- labeled-trailing-closure (SE-0279)",match:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(:)(?=\\s*\\{)"}]},"expressions-without-trailing-closures":{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{patterns:[{include:"#comments"},{include:"#code-block"},{include:"#attributes"},{include:"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{include:"#literals"},{include:"#operators"},{include:"#builtin-types"},{include:"#builtin-functions"},{include:"#builtin-global-functions"},{include:"#builtin-properties"},{include:"#expressions-without-trailing-closures-or-member-references-compound-name"},{include:"#conditionals"},{include:"#keywords"},{include:"#expressions-without-trailing-closures-or-member-references-availability-condition"},{include:"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{include:"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{include:"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{include:"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{match:"\\b_\\b",name:"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{begin:"\\B(#(?:un)?available)(\\()",beginCaptures:{1:{name:"support.function.availability-condition.swift"},2:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\s*\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+([0-9]+(?:\\.[0-9]+)*\\b))"},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(\\*)\\s*(.*?)(?=[,)])"},{match:"[^\\s,)]+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{match:"\\$[0-9]+",name:"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{captures:{1:{name:"entity.name.function.compound-name.swift"},2:{name:"punctuation.definition.entity.swift"},3:{name:"punctuation.definition.entity.swift"},4:{patterns:[{captures:{1:{name:"punctuation.definition.entity.swift"},2:{name:"punctuation.definition.entity.swift"}},match:"(?<q>`?)(?!_:)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>):",name:"entity.name.function.compound-name.swift"}]}},comment:"a reference to a function with disambiguating argument labels, such as foo(_:), foo(bar:), etc.",match:"(?x)\n((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>))\n\\(\n(\n(\n((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>))\n:\n)+\n)\n\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{patterns:[{include:"#comments"},{begin:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(:)",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},comment:"an element with a label",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]},{begin:"(?![,)\\]])(?=\\S)",comment:"an element without a label (i.e. anything else)",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{patterns:[{begin:"(#?(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(\\()",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.arguments.begin.swift"}},comment:"foo(args) -- a call whose callee is a highlightable name",end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{begin:"(?<=[`\\])}>\\p{L}_\\p{N}\\p{M}])\\s*(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},comment:"[Int](args) -- a call whose callee is a more complicated expression",end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{match:"(#(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",name:"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple.begin.swift"}},comment:'correctly matching closure expressions is too hard (depends on trailing "in") so we just tack on some basics to the end of parenthesized-expression',end:"(\\))\\s*((?:\\b(?:async|throws|rethrows)\\s)*)",endCaptures:{1:{name:"punctuation.section.tuple.end.swift"},2:{patterns:[{match:"\\brethrows\\b",name:"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{include:"#async-throws"}]}},patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{begin:"(?<=[`\\p{L}_\\p{N}\\p{M}])\\s*(\\[)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.subscript-expression.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},keywords:{patterns:[{match:"(?<!\\.)\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\b",name:"keyword.control.branch.swift"},{match:"(?<!\\.)\\b(?:continue|break|fallthrough|return)\\b",name:"keyword.control.transfer.swift"},{match:"(?<!\\.)\\b(?:while|for|in|each)\\b",name:"keyword.control.loop.swift"},{match:"\\bany\\b(?=\\s*`?[\\p{L}_])",name:"keyword.other.operator.type.existential.swift"},{captures:{1:{name:"keyword.control.loop.swift"},2:{name:"punctuation.whitespace.trailing.repeat.swift"}},comment:"extra scopes for repeat-while snippet",match:"(?<!\\.)\\b(repeat)\\b(\\s*)"},{match:"(?<!\\.)\\bdefer\\b",name:"keyword.control.defer.swift"},{captures:{1:{name:"invalid.illegal.try-must-precede-await.swift"},2:{name:"keyword.control.await.swift"}},match:"(?<!\\.)\\b(?:(await\\s+try)|(await))\\b"},{match:"(?<!\\.)\\b(?:catch|throw|try)\\b|\\btry[?!]\\B",name:"keyword.control.exception.swift"},{match:"(?<!\\.)\\b(?:throws|rethrows)\\b",name:"storage.modifier.exception.swift"},{captures:{1:{name:"keyword.control.exception.swift"},2:{name:"punctuation.whitespace.trailing.do.swift"}},comment:"extra scopes for do-catch snippet",match:"(?<!\\.)\\b(do)\\b(\\s*)"},{captures:{1:{name:"storage.modifier.async.swift"},2:{name:"keyword.other.declaration-specifier.swift"}},match:"(?<!\\.)\\b(?:(async)\\s+)?(let|var)\\b"},{match:"(?<!\\.)\\b(?:associatedtype|operator|typealias)\\b",name:"keyword.other.declaration-specifier.swift"},{match:"(?<!\\.)\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\b(?=\\s*`?[\\p{L}_])",name:"storage.type.$1.swift"},{match:"(?<!\\.)\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\b",name:"storage.modifier.swift"},{match:"\\binit[?!]|\\binit\\b|(?<!\\.)\\b(?:func|deinit|subscript|didSet|get|set|willSet)\\b",name:"storage.type.function.swift"},{match:"(?<!\\.)\\b(?:fileprivate|private|internal|public|open|package)\\b",name:"keyword.other.declaration-specifier.accessibility.swift"},{comment:"matches weak, unowned, unowned(safe), unowned(unsafe)",match:"(?<!\\.)\\bunowned\\((?:safe|unsafe)\\)|(?<!\\.)\\b(?:weak|unowned)\\b",name:"keyword.other.capture-specifier.swift"},{captures:{1:{name:"keyword.other.type.swift"},2:{name:"keyword.other.type.metatype.swift"}},match:"(?<=\\.)(?:(dynamicType|self)|(Protocol|Type))\\b"},{match:"(?<!\\.)\\b(?:super|self|Self)\\b",name:"variable.language.swift"},{match:"\\B(?:#file|#filePath|#fileID|#line|#column|#function|#dsohandle)\\b|\\b(?:__FILE__|__LINE__|__COLUMN__|__FUNCTION__|__DSO_HANDLE__)\\b",name:"support.variable.swift"},{match:"(?<!\\.)\\bimport\\b",name:"keyword.control.import.swift"},{comment:'SE-0366: "consume behaves as a contextual keyword. In order to avoid interfering with existing code that calls functions named consume, the operand to consume must begin with another identifier, and must consist of an identifier or postfix expression"',match:"(?<!\\.)\\bconsume(?=\\s+`?[\\p{L}_])",name:"keyword.control.consume.swift"},{comment:'SE-0377: "copy is a contextual keyword, parsed as an operator if it is immediately followed by an identifier on the same line, like the consume x operator before it"',match:"(?<!\\.)\\bcopy(?=\\s+`?[\\p{L}_])",name:"keyword.control.copy.swift"}]},literals:{patterns:[{include:"#literals-boolean"},{include:"#literals-numeric"},{include:"#literals-string"},{match:"\\bnil\\b",name:"constant.language.nil.swift"},{comment:'object "literals" used in playgrounds',match:"\\B#(colorLiteral|imageLiteral|fileLiteral)\\b",name:"support.function.object-literal.swift"},{match:"\\B#externalMacro\\b",name:"support.function.builtin-macro.swift"},{match:"\\B#keyPath\\b",name:"support.function.key-path.swift"},{begin:"\\B(#selector)(\\()(?:\\s*(getter|setter)\\s*(:))?",beginCaptures:{1:{name:"support.function.selector-reference.swift"},2:{name:"punctuation.definition.arguments.begin.swift"},3:{name:"support.variable.parameter.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{include:"#literals-regular-expression-literal"}]},"literals-boolean":{match:"\\b(true|false)\\b",name:"constant.language.boolean.swift"},"literals-numeric":{patterns:[{comment:"0.1, -4_2.5, 6.022e23, 10E-5",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9][0-9_]*(?=\\.[0-9]|[eE])(?:\\.[0-9][0-9_]*)?(?:[eE][-+]?[0-9][0-9_]*)?\\b(?!\\.[0-9])",name:"constant.numeric.float.decimal.swift"},{comment:"-0x1.ap2_3, 0x31p-4",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\.[0-9a-fA-F][0-9a-fA-F_]*)?[pP][-+]?[0-9][0-9_]*\\b(?!\\.[0-9])",name:"constant.numeric.float.hexadecimal.swift"},{comment:"0x1p, 0x1p_2, 0x1.5pa, 0x1.1p+1f, 0x1pz",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\.[0-9a-fA-F][0-9a-fA-F_]*)?(?:[pP][-+]?\\w*)\\b(?!\\.[0-9])",name:"invalid.illegal.numeric.float.invalid-exponent.swift"},{comment:"0x1.5w (note that 0x1.f may be a valid expression)",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)\\.[0-9][\\w.]*",name:"invalid.illegal.numeric.float.missing-exponent.swift"},{comment:"-.5, .2f (note that 1.-.5 may be a valid expression)",match:"(?<=\\s|^)\\-?\\.[0-9][\\w.]*",name:"invalid.illegal.numeric.float.missing-leading-zero.swift"},{comment:"0b_0_1, 0x_1p+3q",match:"(\\B\\-|\\b)0[box]_[0-9a-fA-F_]*(?:[pPeE][+-]?\\w+)?[\\w.]+",name:"invalid.illegal.numeric.leading-underscore.swift"},{comment:"tuple positional member: not really a numeric literal, but not invalid",match:"(?<=[\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9]+\\b"},{comment:"0b010, 0b1_0",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0b[01][01_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.binary.swift"},{comment:"0o1, 0o7_3",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0o[0-7][0-7_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.octal.swift"},{comment:"02, 3_456",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9][0-9_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.decimal.swift"},{comment:"0x4, 0xF_7",match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0x[0-9a-fA-F][0-9a-fA-F_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.hexadecimal.swift"},{match:"(\\B\\-|\\b)[0-9][\\w.]*",name:"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{comment:"SE-0354 & SE-0355",patterns:[{begin:"(#+)/\\n",end:"/\\1",name:"string.regexp.block.swift",patterns:[{include:"#literals-regular-expression-literal-regex-guts"},{include:"#literals-regular-expression-literal-line-comment"}]},{captures:{0:{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},1:{name:"punctuation.definition.string.begin.regexp.swift"},12:{name:"punctuation.definition.string.end.regexp.swift"},13:{name:"invalid.illegal.returns-not-allowed.regexp"}},comment:"Single-line regular expression literals must be matched all in one go\n in order to avoid ambiguities with operators, and to adhere to certain\n parsing rules in SE-0354/SE-0355, such as:\n - A regex literal will not be parsed if it contains an unbalanced ).\n - A regex may end with a space only if it began with an escaped space",match:"(?x)\n(((\\#+)?)/)\n(?(3)|(?!/))\n(?(3)|(?!\\s))\n(\\\\\\s)?\n(?<guts>\n(?>\n(?:\n\\\\Q\n(?:(?!\\\\E)(?!/\\2).)*+\n(?:\\\\E\n\n| (?(3)|(?<!\\s))(?=/\\2)\n)\n| \\\\.\n| \\(\\?\\#[^)]*\\)\n| \\(\\?\n\n\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+\n.+?\n\\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})\n(?:\\[(?!\\d)\\w+\\])?\n[X<>]?\n\\)\n| (?<class>\\[ (?:\\\\. | [^\\[\\]] | \\g<class>)+ \\])\n| \\(\\g<guts>?+\\)\n| (?:(?!/\\2)[^()\\[\\\\])+\n)+\n)\n)?+\n# may end with a space only if it is an extended literal or contains only a single escaped space\n(?(3)|(?(5)(?<!\\s)))\n(/\\2)\n| \\#+/.+(\\n)",name:"string.regexp.line.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{comment:"These patterns are separated to work around issues like https://github.com/microsoft/vscode-textmate/issues/164",patterns:[{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.numeric.integer.decimal.regexp"},6:{name:"keyword.operator.recursion-level.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"constant.character.escape.backslash.regexp"}},comment:"'\\g{' NamedOrNumberRef '}'",match:"(?x)(\\\\g\\{) (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) (\\})"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"constant.numeric.integer.decimal.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"}},comment:"'\\g' NumberRef",match:"(?x)(\\\\g) ([+-]?\\d+) (?:([+-])(\\d+))?"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},3:{name:"variable.other.group-name.regexp"},4:{name:"keyword.operator.recursion-level.regexp"},5:{name:"constant.numeric.integer.decimal.regexp"},6:{name:"constant.numeric.integer.decimal.regexp"},7:{name:"keyword.operator.recursion-level.regexp"},8:{name:"constant.numeric.integer.decimal.regexp"},9:{name:"constant.character.escape.backslash.regexp"}},comment:"'\\k<' NamedOrNumberRef '>'\n \"\\k'\" NamedOrNumberRef \"'\"\n '\\g<' NamedOrNumberRef '>'\n \"\\g'\" NamedOrNumberRef \"'\"",match:"(?x)(\\\\[gk](<)|\\\\[gk]') (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) ((?(2)>|'))"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.character.escape.backslash.regexp"}},comment:"'\\k{' NamedRef '}'",match:"(?x)(\\\\k\\{) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\})"},{match:"\\\\[1-9][0-9]+",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},comment:"'(?P=' NamedRef ')'",match:"(?x)(\\(\\?(?:P[=>]|&)) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\))"},{match:"\\(\\?R\\)",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"constant.numeric.integer.decimal.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},comment:"'(?' NumberRef ')'",match:"(?x)(\\(\\?) ([+-]?\\d+) (?:([+-])(\\d+))? (\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{captures:{1:{name:"keyword.control.directive.regexp"},2:{name:"keyword.control.directive.regexp"},3:{name:"keyword.control.directive.regexp"},4:{name:"variable.language.tag.regexp"},5:{name:"keyword.control.directive.regexp"},6:{name:"keyword.operator.assignment.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"keyword.control.directive.regexp"},9:{name:"keyword.control.directive.regexp"}},match:"(?x)\n(\\(\\*)\n(?:\n(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)\n(?:(:)([^)]+))?\n| (?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+))\n| (\nCRLF | CR | ANYCRLF | ANY | LF | NUL\n| BSR_ANYCRLF | BSR_UNICODE\n| NOTEMPTY_ATSTART | NOTEMPTY\n| NO_AUTO_POSSESS | NO_DOTSTAR_ANCHOR\n| NO_JIT | NO_START_OPT | UTF | UCP\n)\n)\n(\\))"},"literals-regular-expression-literal-callout":{captures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.callout.regexp"},3:{name:"constant.numeric.integer.decimal.regexp"},4:{name:"entity.name.function.callout.regexp"},5:{name:"entity.name.function.callout.regexp"},6:{name:"entity.name.function.callout.regexp"},7:{name:"entity.name.function.callout.regexp"},8:{name:"entity.name.function.callout.regexp"},9:{name:"entity.name.function.callout.regexp"},10:{name:"entity.name.function.callout.regexp"},11:{name:"entity.name.function.callout.regexp"},12:{name:"punctuation.definition.group.regexp"},13:{name:"punctuation.definition.group.regexp"},14:{name:"keyword.control.callout.regexp"},15:{name:"entity.name.function.callout.regexp"},16:{name:"variable.language.tag-name.regexp"},17:{name:"punctuation.definition.group.regexp"},18:{name:"punctuation.definition.group.regexp"},19:{name:"keyword.control.callout.regexp"},26:{name:"variable.language.tag-name.regexp"},27:{name:"keyword.control.callout.regexp"},28:{name:"punctuation.definition.group.regexp"}},match:"(?x)\n# PCRECallout\n(\\()(?<keyw>\\?C)\n(?:\n(?<num>\\d+)\n| `(?<name>(?:[^`]|``)*)`\n| '(?<name>(?:[^']|'')*)'\n| \"(?<name>(?:[^\"]|\"\")*)\"\n| \\^(?<name>(?:[^\\^]|\\^\\^)*)\\^\n| %(?<name>(?:[^%]|%%)*)%\n| \\#(?<name>(?:[^#]|\\#\\#)*)\\#\n| \\$(?<name>(?:[^$]|\\$\\$)*)\\$\n| \\{(?<name>(?:[^}]|\\}\\})*)\\}\n)?\n(\\))\n# NamedCallout\n| (\\()(?<keyw>\\*)\n(?<name>(?!\\d)\\w+)\n(?:\\[(?<tag>(?!\\d)\\w+)\\])?\n(?:\\{ [^,}]+ (?:,[^,}]+)* \\})?\n(\\))\n# InterpolatedCallout\n| (\\()(?<keyw>\\?)\n\n(\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+) .+? \\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})\n(?:\\[(?<tag>(?!\\d)\\w+)\\])?\n(?<keyw>[X<>]?)\n(\\))",name:"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{captures:{1:{name:"support.variable.character-property.regexp"},2:{name:"punctuation.definition.character-class.regexp"},3:{name:"support.variable.character-property.regexp"},4:{name:"punctuation.definition.character-class.regexp"}},match:"(?x)\n\\\\[pP]\\{ ([\\s\\w-]+(?:=[\\s\\w-]+)?) \\}\n| (\\[:) ([\\s\\w-]+(?:=[\\s\\w-]+)?) (:\\])",name:"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{patterns:[{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{include:"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{comment:"TODO: should also include atoms?",patterns:[{comment:"\\b inside a character class represents a backspace",match:"\\\\b",name:"constant.character.escape.backslash.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-quote"},{include:"#literals-regular-expression-literal-set-operators"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{comment:'A matching option sequence may be part of an "isolated group" which has an implicit scope that wraps the remaining elements of the current group',match:"(?x)\n\\(\\?\n(?:\n\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n)\n\\)",name:"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{patterns:[{begin:"(\\()(\\?~)",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.conditional.absent.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.absent.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:"(?x)\n# KnownConditionalStart\n(\\() (?<cond>\\?\\()\n(?:\n(?<NumberRef> (?<num>[+-]?\\d+)(?:(?<op>[+-])(?<num>\\d+))? )\n| (?<cond>R) \\g<NumberRef>?\n| (?<cond>R&) (?<NamedRef> (?<name>(?!\\d)\\w+) (?:(?<op>[+-])(?<num>\\d+))? )\n| (?<cond><) (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>>)\n| (?<cond>') (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>')\n| (?<cond>DEFINE)\n| (?<cond>VERSION)(?<compar>>?=)(?<num>\\d+\\.\\d+)\n)\n(?<cond>\\))\n| (\\()(?<cond>\\?)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.conditional.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.operator.recursion-level.regexp"},6:{name:"constant.numeric.integer.decimal.regexp"},7:{name:"keyword.control.conditional.regexp"},8:{name:"keyword.control.conditional.regexp"},10:{name:"variable.other.group-name.regexp"},11:{name:"keyword.operator.recursion-level.regexp"},12:{name:"constant.numeric.integer.decimal.regexp"},13:{name:"keyword.control.conditional.regexp"},14:{name:"keyword.control.conditional.regexp"},15:{name:"keyword.control.conditional.regexp"},16:{name:"keyword.control.conditional.regexp"},17:{name:"keyword.control.conditional.regexp"},18:{name:"keyword.control.conditional.regexp"},19:{name:"keyword.operator.comparison.regexp"},20:{name:"constant.numeric.integer.decimal.regexp"},21:{name:"keyword.control.conditional.regexp"},22:{name:"punctuation.definition.group.regexp"},23:{name:"keyword.control.conditional.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.conditional.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:"(?x)\n(\\()\n(\n\n(\\?)\n(?:\n([:|>=!*] | <[=!*])\n\n| P?< (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) >\n| ' (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) '\n\n| (?:\n\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n):\n)\n\n| \\*(\natomic\n|pla|positive_lookahead\n|nla|negative_lookahead\n|plb|positive_lookbehind\n|nlb|negative_lookbehind\n|napla|non_atomic_positive_lookahead\n|naplb|non_atomic_positive_lookbehind\n|sr|script_run\n|asr|atomic_script_run\n):\n)?+",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.other.group-options.regexp"},3:{name:"punctuation.definition.group.regexp"},4:{name:"punctuation.definition.group.regexp"},5:{name:"variable.other.group-name.regexp"},6:{name:"keyword.operator.balancing-group.regexp"},7:{name:"variable.other.group-name.regexp"},8:{name:"variable.other.group-name.regexp"},9:{name:"keyword.operator.balancing-group.regexp"},10:{name:"variable.other.group-name.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{captures:{1:{name:"punctuation.definition.comment.regexp"}},match:"(\\#).*$",name:"comment.line.regexp"},"literals-regular-expression-literal-quote":{begin:"\\\\Q",beginCaptures:{0:{name:"constant.character.escape.backslash.regexp"}},end:"\\\\E|(\\n)",endCaptures:{0:{name:"constant.character.escape.backslash.regexp"},1:{name:"invalid.illegal.returns-not-allowed.regexp"}},name:"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{patterns:[{include:"#literals-regular-expression-literal-quote"},{begin:"\\(\\?\\#",beginCaptures:{0:{name:"punctuation.definition.comment.begin.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.comment.end.regexp"}},name:"comment.block.regexp"},{begin:"<\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.regexp"}},end:"\\}>",endCaptures:{0:{name:"punctuation.section.embedded.end.regexp"}},name:"meta.embedded.expression.regexp"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"},{match:"[$^]|\\\\[AbBGyYzZ]|\\\\K",name:"keyword.control.anchor.regexp"},{include:"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{include:"#literals-regular-expression-literal-callout"},{include:"#literals-regular-expression-literal-backreference-or-subpattern"},{match:"\\.|\\\\[CdDhHNORsSvVwWX]",name:"constant.character.character-class.regexp"},{match:"\\\\c.",name:"constant.character.entity.control-character.regexp"},{match:"\\\\[^c]",name:"constant.character.escape.backslash.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{match:"[*+?]",name:"keyword.operator.quantifier.regexp"},{match:"\\{\\s*\\d+\\s*(?:,\\s*\\d*\\s*)?\\}|\\{\\s*,\\s*\\d+\\s*\\}",name:"keyword.operator.quantifier.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-group-option-toggle"},{include:"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{patterns:[{match:"&&",name:"keyword.operator.intersection.regexp.swift"},{match:"--",name:"keyword.operator.subtraction.regexp.swift"},{match:"\\~\\~",name:"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{match:"(?x)\n\\\\u\\{\\s*(?:[0-9a-fA-F]+\\s*)+\\}\n| \\\\u[0-9a-fA-F]{4}\n| \\\\x\\{[0-9a-fA-F]+\\}\n| \\\\x[0-9a-fA-F]{0,2}\n| \\\\U[0-9a-fA-F]{8}\n| \\\\o\\{[0-7]+\\}\n| \\\\0[0-7]{0,3}\n| \\\\N\\{(?:U\\+[0-9a-fA-F]{1,8} | [\\s\\w-]+)\\}",name:"constant.character.numeric.regexp"},"literals-string":{patterns:[{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},comment:"SE-0168: Multi-Line String Literals",end:'"""(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-string-guts"},{comment:'Allow \\("""...""") to appear inside a block string',match:'\\S((?!\\\\\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'#"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\#\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-raw-string-guts"},{comment:'Allow \\("""...""") to appear inside a block string',match:'\\S((?!\\\\#\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'(##+)"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-string-guts"}]},{begin:'(##+)"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},comment:"SE-0168: raw string literals (more than one #, grammar limitations prevent us from supporting escapes)",end:'"\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"}]},{begin:'#"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},comment:"SE-0168: raw string literals (one #, escapes supported)",end:'"#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{comment:"the same as #string-guts but with # in escapes",patterns:[{match:"\\\\#[0\\\\tnr\"']",name:"constant.character.escape.swift"},{match:"\\\\#u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\#\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"(\\))",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"},1:{name:"source.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",comment:"Nested parens",end:"\\)"}]},{match:"\\\\#.",name:"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{patterns:[{match:"\\\\[0\\\\tnr\"']",name:"constant.character.escape.swift"},{match:"\\\\u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"(\\))",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"},1:{name:"source.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",comment:"Nested parens",end:"\\)"}]},{match:"\\\\.",name:"invalid.illegal.escape-not-recognized"}]},"member-reference":{patterns:[{captures:{1:{name:"variable.other.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},match:"(?<=\\.)((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"}]},operators:{patterns:[{comment:"Type casting",match:"\\b(is\\b|as([!?]\\B|\\b))",name:"keyword.operator.type-casting.swift"},{begin:"(?x)\n(?=\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n| \\.\n(\n\\g<oph>\n| \\.\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)",comment:"This rule helps us speed up the matching.",end:"(?!\\G)",patterns:[{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G(\\+|\\-)$",name:"keyword.operator.arithmetic.unary.swift"},{match:"\\G!$",name:"keyword.operator.logical.not.swift"},{match:"\\G~$",name:"keyword.operator.bitwise.not.swift"},{match:".+",name:"keyword.operator.custom.prefix.swift"}]}},comment:"Prefix unary operator",match:"(?x)\n\\G\n\n(?<=^|[\\s(\\[{,;:])\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?![\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G!$",name:"keyword.operator.increment-or-decrement.swift"},{match:".+",name:"keyword.operator.custom.postfix.swift"}]}},comment:"Postfix unary operator",match:"(?x)\n\\G\n\n(?<!^|[\\s(\\[{,;:])\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?=[\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G=$",name:"keyword.operator.assignment.swift"},{match:"\\G(\\+|\\-|\\*|/|%|<<|>>|&|\\^|\\||&&|\\|\\|)=$",name:"keyword.operator.assignment.compound.swift"},{match:"\\G(\\+|\\-|\\*|/)$",name:"keyword.operator.arithmetic.swift"},{match:"\\G&(\\+|\\-|\\*)$",name:"keyword.operator.arithmetic.overflow.swift"},{match:"\\G%$",name:"keyword.operator.arithmetic.remainder.swift"},{match:"\\G(==|!=|>|<|>=|<=|~=)$",name:"keyword.operator.comparison.swift"},{match:"\\G\\?\\?$",name:"keyword.operator.coalescing.swift"},{match:"\\G(&&|\\|\\|)$",name:"keyword.operator.logical.swift"},{match:"\\G(&|\\||\\^|<<|>>)$",name:"keyword.operator.bitwise.swift"},{match:"\\G(===|!==)$",name:"keyword.operator.bitwise.swift"},{match:"\\G\\?$",name:"keyword.operator.ternary.swift"},{match:".+",name:"keyword.operator.custom.infix.swift"}]}},comment:"Infix operator",match:"(?x)\n\\G\n\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++"},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.prefix.dot.swift"}]}},comment:"Dot prefix unary operator",match:"(?x)\n\\G\n\n(?<=^|[\\s(\\[{,;:])\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?![\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.postfix.dot.swift"}]}},comment:"Dot postfix unary operator",match:"(?x)\n\\G\n\n(?<!^|[\\s(\\[{,;:])\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?=[\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G\\.\\.[.<]$",name:"keyword.operator.range.swift"},{match:".+",name:"keyword.operator.custom.infix.dot.swift"}]}},comment:"Dot infix operator",match:"(?x)\n\\G\n\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++"}]},{match:":",name:"keyword.operator.ternary.swift"}]},root:{patterns:[{include:"#compiler-control"},{include:"#declarations"},{include:"#expressions"}]}},a="source.swift",r={displayName:e,name:n,patterns:t,repository:i,scopeName:a};export{r as default,e as displayName,n as name,t as patterns,i as repository,a as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="SystemVerilog",t=["v","vh","sv","svh"],n="system-verilog",r=[{include:"#comments"},{include:"#strings"},{include:"#typedef-enum-struct-union"},{include:"#typedef"},{include:"#functions"},{include:"#keywords"},{include:"#tables"},{include:"#function-task"},{include:"#module-declaration"},{include:"#class-declaration"},{include:"#enum-struct-union"},{include:"#sequence"},{include:"#all-types"},{include:"#module-parameters"},{include:"#module-no-parameters"},{include:"#port-net-parameter"},{include:"#system-tf"},{include:"#assertion"},{include:"#bind-directive"},{include:"#cast-operator"},{include:"#storage-scope"},{include:"#attributes"},{include:"#imports"},{include:"#operators"},{include:"#constants"},{include:"#identifiers"},{include:"#selects"}],a={"all-types":{patterns:[{include:"#built-ins"},{include:"#modifiers"}]},assertion:{captures:{1:{name:"entity.name.goto-label.php"},2:{name:"keyword.operator.systemverilog"},3:{name:"keyword.sva.systemverilog"}},match:"\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]*(:)[ \\t\\r\\n]*(assert|assume|cover|restrict)\\b"},attributes:{begin:"(?<!@[ \\t\\r\\n]?)\\(\\*",beginCaptures:{0:{name:"punctuation.attribute.rounds.begin"}},end:"\\*\\)",endCaptures:{0:{name:"punctuation.attribute.rounds.end"}},name:"meta.attribute.systemverilog",patterns:[{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"keyword.operator.assignment.systemverilog"}},match:"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\t\\r\\n]*(=)[ \\t\\r\\n]*)?"},{include:"#constants"},{include:"#strings"}]},"base-grammar":{patterns:[{include:"#all-types"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{captures:{1:{name:"storage.type.interface.systemverilog"}},match:"[ \\t\\r\\n]*\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\t\\n]*"},{include:"#storage-scope"}]},"bind-directive":{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.type.module.systemverilog"}},match:"[ \\t\\r\\n]*\\b(bind)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$\\.]*)\\b",name:"meta.definition.systemverilog"},"built-ins":{patterns:[{match:"[ \\t\\r\\n]*\\b(bit|logic|reg)\\b",name:"storage.type.vector.systemverilog"},{match:"[ \\t\\r\\n]*\\b(byte|shortint|int|longint|integer|time|genvar)\\b",name:"storage.type.atom.systemverilog"},{match:"[ \\t\\r\\n]*\\b(shortreal|real|realtime)\\b",name:"storage.type.notint.systemverilog"},{match:"[ \\t\\r\\n]*\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\b",name:"storage.type.net.systemverilog"},{match:"[ \\t\\r\\n]*\\b(genvar|var|void|signed|unsigned|string|const|process)\\b",name:"storage.type.built-in.systemverilog"},{match:"[ \\t\\r\\n]*\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\b",name:"storage.type.uvm.systemverilog"}]},"cast-operator":{captures:{1:{patterns:[{include:"#built-ins"},{include:"#constants"},{match:"[a-zA-Z_][a-zA-Z0-9_$]*",name:"storage.type.user-defined.systemverilog"}]},2:{name:"keyword.operator.cast.systemverilog"}},match:"[ \\t\\r\\n]*([0-9]+|[a-zA-Z_][a-zA-Z0-9_$]*)(')(?=\\()",name:"meta.cast.systemverilog"},"class-declaration":{begin:"[ \\t\\r\\n]*\\b(virtual[ \\t\\r\\n]+)?(class)(?:[ \\t\\r\\n]+(static|automatic))?[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\t\\r\\n]+(extends|implements)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?",beginCaptures:{1:{name:"storage.modifier.systemverilog"},2:{name:"storage.type.class.systemverilog"},3:{name:"storage.modifier.systemverilog"},4:{name:"entity.name.type.class.systemverilog"},5:{name:"keyword.control.systemverilog"},6:{name:"entity.name.type.class.systemverilog"}},end:";",endCaptures:{0:{name:"punctuation.definition.class.end.systemverilog"}},name:"meta.class.systemverilog",patterns:[{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.type.class.systemverilog"},3:{name:"entity.name.type.class.systemverilog"}},match:"[ \\t\\r\\n]+\\b(extends|implements)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\t\\r\\n]*,[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*"},{captures:{1:{name:"storage.type.userdefined.systemverilog"},2:{name:"keyword.operator.param.systemverilog"}},match:"[ \\t\\r\\n]+\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]*(#)\\(",name:"meta.typedef.class.systemverilog"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#module-binding"},{include:"#identifiers"}]},comments:{patterns:[{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.systemverilog"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.systemverilog"}},name:"comment.block.systemverilog",patterns:[{include:"#fixme-todo"}]},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.systemverilog"}},end:"$\\n?",name:"comment.line.double-slash.systemverilog",patterns:[{include:"#fixme-todo"}]}]},"compiler-directives":{name:"meta.preprocessor.systemverilog",patterns:[{captures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"string.regexp.systemverilog"}},match:"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\b"},{captures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"string.regexp.systemverilog"},3:{name:"variable.other.constant.preprocessor.systemverilog"}},match:"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\b"},{captures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"string.regexp.systemverilog"}},match:"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\b"},{begin:"(`)(protected)\\b",beginCaptures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"string.regexp.systemverilog"}},end:"(`)(endprotected)\\b",endCaptures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"string.regexp.systemverilog"}},name:"meta.crypto.systemverilog"},{captures:{1:{name:"punctuation.definition.directive.systemverilog"},2:{name:"variable.other.constant.preprocessor.systemverilog"}},match:"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\b"}]},constants:{patterns:[{match:"(\\b[1-9][0-9_]*)?'([sS]?[bB][ \\t\\r\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\t\\r\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\t\\r\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\t\\r\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\+|-)?[0-9]+)?(?!'|\\w)",name:"constant.numeric.systemverilog"},{match:"'[01xXzZ]",name:"constant.numeric.bit.systemverilog"},{match:"\\b(?:\\d[\\d_\\.]*(?<!\\.)(?:e|E)(?:\\+|-)?[0-9]+)\\b",name:"constant.numeric.exp.systemverilog"},{match:"\\b(?:\\d[\\d_\\.]*(?!(?:[\\d\\.]|[ \\t\\r\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\b",name:"constant.numeric.decimal.systemverilog"},{match:"\\b(?:\\d[\\d\\.]*[ \\t\\r\\n]*(?:fs|ps|ns|us|ms|s))\\b",name:"constant.numeric.time.systemverilog"},{include:"#compiler-directives"},{match:"\\b(?:this|super|null)\\b",name:"constant.language.systemverilog"},{match:"\\b([A-Z][A-Z0-9_]*)\\b",name:"constant.other.net.systemverilog"},{match:"\\b(?<!\\.)([A-Z0-9_]+)(?!\\.)\\b",name:"constant.numeric.parameter.uppercase.systemverilog"},{match:"\\.\\*",name:"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{begin:"[ \\t\\r\\n]*\\b(enum|struct|union(?:[ \\t\\r\\n]+tagged)?|class|interface[ \\t\\r\\n]+class)(?:[ \\t\\r\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?))?(?:[ \\t\\r\\n]+(packed))?(?:[ \\t\\r\\n]+(signed|unsigned))?(?=[ \\t\\r\\n]*(?:{|$))",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{patterns:[{include:"#built-ins"}]},3:{patterns:[{include:"#selects"}]},4:{name:"storage.modifier.systemverilog"},5:{name:"storage.modifier.systemverilog"}},end:"(?<=})[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\t\\r\\n])\\\\[!-~]+(?=$|[ \\t\\r\\n]))(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?)[ \\t\\r\\n]*[,;]",endCaptures:{1:{patterns:[{include:"#identifiers"}]},2:{patterns:[{include:"#selects"}]}},name:"meta.enum-struct-union.systemverilog",patterns:[{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]},"fixme-todo":{patterns:[{match:"(?i:fixme)",name:"invalid.broken.fixme.systemverilog"},{match:"(?i:todo)",name:"invalid.unimplemented.todo.systemverilog"}]},"function-task":{begin:"[ \\t\\r\\n]*(?:\\b(virtual)[ \\t\\r\\n]+)?(?:\\b(function|task)\\b)(?:[ \\t\\r\\n]+\\b(static|automatic)\\b)?",beginCaptures:{1:{name:"storage.modifier.systemverilog"},2:{name:"storage.type.function.systemverilog"},3:{name:"storage.modifier.systemverilog"}},end:";",endCaptures:{0:{name:"punctuation.definition.function.end.systemverilog"}},name:"meta.function.systemverilog",patterns:[{captures:{1:{name:"support.type.scope.systemverilog"},2:{name:"keyword.operator.scope.systemverilog"},3:{patterns:[{include:"#built-ins"},{match:"[a-zA-Z_][a-zA-Z0-9_$]*",name:"storage.type.user-defined.systemverilog"}]},4:{patterns:[{include:"#modifiers"}]},5:{patterns:[{include:"#selects"}]},6:{name:"entity.name.function.systemverilog"}},match:"[ \\t\\r\\n]*(?:\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\b[ \\t\\r\\n]+)?(?:\\b(signed|unsigned)\\b[ \\t\\r\\n]*)?(?:(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])[ \\t\\r\\n]*)?(?:\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b[ \\t\\r\\n]*)(?=\\(|;)"},{include:"#keywords"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#identifiers"}]},functions:{match:"[ \\t\\r\\n]*\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\t\\r\\n]*\\()",name:"entity.name.function.systemverilog"},identifiers:{patterns:[{match:"\\b[a-zA-Z_][a-zA-Z0-9_$]*\\b",name:"variable.other.identifier.systemverilog"},{match:"(?<=^|[ \\t\\r\\n])\\\\[!-~]+(?=$|[ \\t\\r\\n])",name:"string.regexp.identifier.systemverilog"}]},imports:{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"support.type.scope.systemverilog"},3:{name:"keyword.operator.scope.systemverilog"},4:{patterns:[{include:"#operators"},{include:"#identifiers"}]}},match:"[ \\t\\r\\n]*\\b(import|export)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\*)[ \\t\\r\\n]*(::)[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\*)[ \\t\\r\\n]*(,|;)",name:"meta.import.systemverilog"},keywords:{patterns:[{captures:{1:{name:"keyword.other.systemverilog"}},match:"[ \\t\\r\\n]*\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\b"},{include:"#sv-control"},{include:"#sv-control-begin"},{include:"#sv-control-end"},{include:"#sv-definition"},{include:"#sv-cover-cross"},{include:"#sv-std"},{include:"#sv-option"},{include:"#sv-local"},{include:"#sv-rand"}]},modifiers:{match:"[ \\t\\r\\n]*\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\b",name:"storage.modifier.systemverilog"},"module-binding":{begin:"\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]*\\(",beginCaptures:{1:{name:"support.function.port.systemverilog"}},end:"\\),?",name:"meta.port.binding.systemverilog",patterns:[{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#strings"},{include:"#constants"},{include:"#storage-scope"},{include:"#cast-operator"},{include:"#system-tf"},{match:"\\bvirtual\\b",name:"storage.modifier.systemverilog"},{include:"#identifiers"}]},"module-declaration":{begin:"[ \\t\\r\\n]*\\b((?:macro)?module|interface|program|package|modport)[ \\t\\r\\n]+(?:(static|automatic)[ \\t\\r\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\b",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{name:"storage.modifier.systemverilog"},3:{name:"entity.name.type.module.systemverilog"}},end:";",endCaptures:{0:{name:"punctuation.definition.module.end.systemverilog"}},name:"meta.module.systemverilog",patterns:[{include:"#parameters"},{include:"#port-net-parameter"},{include:"#imports"},{include:"#base-grammar"},{include:"#system-tf"},{include:"#identifiers"}]},"module-no-parameters":{begin:"[ \\t\\r\\n]*\\b(?:(bind|pullup|pulldown)[ \\t\\r\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\.]*)[ \\t\\r\\n]+)?)?((?:\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\t\\r\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?)[ \\t\\r\\n]*(?=\\(|$)(?!;)",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.type.module.systemverilog"},3:{name:"entity.name.type.module.systemverilog"},4:{name:"variable.other.module.systemverilog"},5:{patterns:[{include:"#selects"}]}},end:"\\)(?:[ \\t\\r\\n]*(;))?",endCaptures:{1:{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.no_parameters.systemverilog",patterns:[{include:"#module-binding"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b(?=[ \\t\\r\\n]*(\\(|$))",name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},"module-parameters":{begin:"[ \\t\\r\\n]*\\b(?:(bind)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$\\.]*)[ \\t\\r\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.type.module.systemverilog"},3:{name:"entity.name.type.module.systemverilog"}},end:"\\)(?:[ \\t\\r\\n]*(;))?",endCaptures:{1:{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.parameters.systemverilog",patterns:[{match:"\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b(?=[ \\t\\r\\n]*\\()",name:"variable.other.module.systemverilog"},{include:"#module-binding"},{include:"#parameters"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b(?=[ \\t\\r\\n]*$)",name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},operators:{patterns:[{match:"\\+=|-=|/=|\\*=|%=|&=|\\|=|\\^=|>>>=|>>=|<<<=|<<=|<=|=",name:"keyword.operator.assignment.systemverilog"},{match:"\\+\\+",name:"keyword.operator.increment.systemverilog"},{match:"--",name:"keyword.operator.decrement.systemverilog"},{match:"\\+|-|\\*\\*|\\*|/|%",name:"keyword.operator.arithmetic.systemverilog"},{match:"!|&&|\\|\\|",name:"keyword.operator.logical.systemverilog"},{match:"<<<|<<|>>>|>>",name:"keyword.operator.bitwise.shift.systemverilog"},{match:"~&|~\\||~|\\^~|~\\^|&|\\||\\^|{|'{|}|:|\\?",name:"keyword.operator.bitwise.systemverilog"},{match:"<=|<|>=|>|==\\?|!=\\?|===|!==|==|!=",name:"keyword.operator.comparison.systemverilog"},{match:"@|##|#|->|<->",name:"keyword.operator.channel.systemverilog"},{match:"\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\b|:=|:/|\\|->|\\|=>|->>|\\*>|#-#|#=#|&&&",name:"keyword.operator.logical.systemverilog"}]},parameters:{begin:"[ \\t\\r\\n]*(#)[ \\t\\r\\n]*(\\()",beginCaptures:{1:{name:"keyword.operator.channel.systemverilog"},2:{name:"punctuation.section.parameters.begin"}},end:"(\\))[ \\t\\r\\n]*(?=;|\\(|[a-zA-Z_]|\\\\|$)",endCaptures:{1:{name:"punctuation.section.parameters.end"}},name:"meta.parameters.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#comments"},{include:"#constants"},{include:"#operators"},{include:"#strings"},{include:"#system-tf"},{include:"#functions"},{match:"\\bvirtual\\b",name:"storage.modifier.systemverilog"},{include:"#module-binding"}]},"port-net-parameter":{patterns:[{captures:{1:{name:"support.type.direction.systemverilog"},2:{name:"storage.type.net.systemverilog"},3:{name:"support.type.scope.systemverilog"},4:{name:"keyword.operator.scope.systemverilog"},5:{patterns:[{include:"#built-ins"},{match:"[a-zA-Z_][a-zA-Z0-9_$]*",name:"storage.type.user-defined.systemverilog"}]},6:{patterns:[{include:"#modifiers"}]},7:{patterns:[{include:"#selects"}]},8:{patterns:[{include:"#constants"},{include:"#identifiers"}]},9:{patterns:[{include:"#selects"}]}},match:",?[ \\t\\r\\n]*(?:\\b(output|input|inout|ref)\\b[ \\t\\r\\n]*)?(?:\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\b[ \\t\\r\\n]*)?(?:\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\b[ \\t\\r\\n]*)?(?:\\b(signed|unsigned)\\b[ \\t\\r\\n]*)?(?:(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])[ \\t\\r\\n]*)?(?<!(?<!#)[:&|=+\\-*/%?><^!~\\(][ \\t\\r\\n]*)\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?[ \\t\\r\\n]*(?=,|;|=|\\)|/|$)",name:"meta.port-net-parameter.declaration.systemverilog"}]},selects:{begin:"\\[",beginCaptures:{0:{name:"punctuation.slice.brackets.begin"}},end:"\\]",endCaptures:{0:{name:"punctuation.slice.brackets.end"}},name:"meta.brackets.select.systemverilog",patterns:[{match:"\\$(?![a-z])",name:"constant.language.systemverilog"},{include:"#system-tf"},{include:"#constants"},{include:"#operators"},{include:"#cast-operator"},{include:"#storage-scope"},{match:"[a-zA-Z_][a-zA-Z0-9_$]*",name:"variable.other.identifier.systemverilog"}]},sequence:{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.function.systemverilog"}},match:"[ \\t\\r\\n]*\\b(sequence)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\b",name:"meta.sequence.systemverilog"},"storage-scope":{captures:{1:{name:"support.type.scope.systemverilog"},2:{name:"keyword.operator.scope.systemverilog"}},match:"\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)",name:"meta.scope.systemverilog"},strings:{patterns:[{begin:'`?"',beginCaptures:{0:{name:"punctuation.definition.string.begin.systemverilog"}},end:'"`?',endCaptures:{0:{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.double.systemverilog",patterns:[{match:'\\\\(?:[nt\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})',name:"constant.character.escape.systemverilog"},{match:"(?x)%\n(\\d+\\$)?\n['\\-+0\n[,;:_]?\n((-?\\d+)|\\*(-?\\d+\\$)?)?\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\n(hh|h|ll|l|j|z|t|L)?\n[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]",name:"constant.character.format.placeholder.systemverilog"},{match:"%",name:"invalid.illegal.placeholder.systemverilog"},{include:"#fixme-todo"}]},{begin:"(?<=include)[ \\t\\r\\n]*(<)",beginCaptures:{1:{name:"punctuation.definition.string.begin.systemverilog"}},end:">",endCaptures:{0:{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{captures:{1:{name:"keyword.control.systemverilog"}},match:"[ \\t\\r\\n]*\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|casex|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique|unique0|priority)\\b"},"sv-control-begin":{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"punctuation.definition.label.systemverilog"},3:{name:"entity.name.section.systemverilog"}},match:"[ \\t\\r\\n]*\\b(begin|fork)\\b(?:[ \\t\\r\\n]*(:)[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?",name:"meta.item.begin.systemverilog"},"sv-control-end":{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"punctuation.definition.label.systemverilog"},3:{name:"entity.name.section.systemverilog"}},match:"[ \\t\\r\\n]*\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\b(?:[ \\t\\r\\n]*(:)[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?",name:"meta.item.end.systemverilog"},"sv-cover-cross":{captures:{2:{name:"entity.name.type.class.systemverilog"},3:{name:"keyword.operator.other.systemverilog"},4:{name:"keyword.control.systemverilog"}},match:"(([a-zA-Z_][a-zA-Z0-9_$]*)[ \\t\\r\\n]*(:))?[ \\t\\r\\n]*(coverpoint|cross)[ \\t\\r\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)",name:"meta.definition.systemverilog"},"sv-definition":{captures:{1:{name:"keyword.control.systemverilog"},2:{name:"entity.name.type.class.systemverilog"}},match:"[ \\t\\r\\n]*\\b(primitive|package|constraint|interface|covergroup|program)[ \\t\\r\\n]+\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\b",name:"meta.definition.systemverilog"},"sv-local":{captures:{1:{name:"keyword.other.systemverilog"}},match:"[ \\t\\r\\n]*\\b(const|static|protected|virtual|localparam|parameter|local)\\b"},"sv-option":{captures:{1:{name:"keyword.cover.systemverilog"}},match:"[ \\t\\r\\n]*\\b(option)\\."},"sv-rand":{match:"[ \\t\\r\\n]*\\b(?:rand|randc)\\b",name:"storage.type.rand.systemverilog"},"sv-std":{match:"\\b(std)\\b::",name:"support.class.systemverilog"},"system-tf":{match:"\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\b",name:"support.function.systemverilog"},tables:{begin:"[ \\t\\r\\n]*\\b(table)\\b",beginCaptures:{1:{name:"keyword.table.systemverilog.begin"}},end:"[ \\t\\r\\n]*\\b(endtable)\\b",endCaptures:{1:{name:"keyword.table.systemverilog.end"}},name:"meta.table.systemverilog",patterns:[{include:"#comments"},{match:"\\b[01xXbBrRfFpPnN]\\b",name:"constant.language.systemverilog"},{match:"[-*?]",name:"constant.language.systemverilog"},{captures:{1:{name:"constant.language.systemverilog"}},match:"\\(([01xX?]{2})\\)"},{match:":",name:"punctuation.definition.label.systemverilog"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#identifiers"}]},typedef:{begin:"[ \\t\\r\\n]*\\b(?:(typedef)[ \\t\\r\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\t\\r\\n]+\\b(signed|unsigned)\\b)?(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?))?(?=[ \\t\\r\\n]*[a-zA-Z_\\\\])",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{patterns:[{include:"#built-ins"},{match:"\\bvirtual\\b",name:"storage.modifier.systemverilog"}]},3:{patterns:[{include:"#modifiers"}]},4:{patterns:[{include:"#selects"}]}},end:";",endCaptures:{0:{name:"punctuation.definition.typedef.end.systemverilog"}},name:"meta.typedef.systemverilog",patterns:[{include:"#identifiers"},{include:"#selects"}]},"typedef-enum-struct-union":{begin:"[ \\t\\r\\n]*\\b(typedef)[ \\t\\r\\n]+(enum|struct|union(?:[ \\t\\r\\n]+tagged)?|class|interface[ \\t\\r\\n]+class)(?:[ \\t\\r\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?))?(?:[ \\t\\r\\n]+(packed))?(?:[ \\t\\r\\n]+(signed|unsigned))?(?=[ \\t\\r\\n]*(?:{|$))",beginCaptures:{1:{name:"keyword.control.systemverilog"},2:{name:"keyword.control.systemverilog"},3:{patterns:[{include:"#built-ins"}]},4:{patterns:[{include:"#selects"}]},5:{name:"storage.modifier.systemverilog"},6:{name:"storage.modifier.systemverilog"}},end:"(?<=})[ \\t\\r\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\t\\r\\n])\\\\[!-~]+(?=$|[ \\t\\r\\n]))(?:[ \\t\\r\\n]*(\\[[a-zA-Z0-9_:$\\.\\-\\+\\*/%`' \\t\\r\\n\\[\\]\\(\\)]*\\])?)[ \\t\\r\\n]*[,;]",endCaptures:{1:{name:"storage.type.systemverilog"},2:{patterns:[{include:"#selects"}]}},name:"meta.typedef-enum-struct-union.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]}},s="source.systemverilog",i={displayName:e,fileTypes:t,name:n,patterns:r,repository:a,scopeName:s};export{i as default,e as displayName,t as fileTypes,n as name,r as patterns,a as repository,s as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Systemd Units",n="systemd",a=[{include:"#comments"},{begin:"^\\s*(InaccessableDirectories|InaccessibleDirectories|ReadOnlyDirectories|ReadWriteDirectories|Capabilities|TableId|UseDomainName|IPv6AcceptRouterAdvertisements|SysVStartPriority|StartLimitInterval|RequiresOverridable|RequisiteOverridable|PropagateReloadTo|PropagateReloadFrom|OnFailureIsolate|BindTo)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"invalid.deprecated"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{begin:"^\\s*(Environment)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{captures:{1:{name:"variable.parameter"},2:{name:"keyword.operator.assignment"}},match:"(?<=\\G|[\\s\"'])([A-Za-z0-9\\_]+)(=)(?=[^\\s\"'])"},{include:"#variables"},{include:"#booleans"},{include:"#numbers"}]},{begin:"^\\s*(OnCalendar)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#calendarShorthands"},{include:"#numbers"}]},{begin:"^\\s*(CapabilityBoundingSet|AmbientCapabilities|AddCapability|DropCapability)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#capabilities"}]},{begin:"^\\s*(Restart)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#restartOptions"}]},{begin:"^\\s*(Type)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#typeOptions"}]},{begin:"^\\s*(Exec(?:Start(?:Pre|Post)?|Reload|Stop(?:Post)?))\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#executablePrefixes"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#numbers"}]},{begin:"^\\s*([\\w\\-\\.]+)\\s*(=)[ \\t]*",beginCaptures:{1:{name:"entity.name.tag"},2:{name:"keyword.operator.assignment"}},end:"(?<!\\\\)\\n",name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{include:"#sections"}],t={booleans:{patterns:[{match:"\\b(?<![-\\/\\.])(true|false|on|off|yes|no)(?![-\\/\\.])\\b",name:"constant.language"}]},calendarShorthands:{patterns:[{match:"\\b(?:minute|hour|dai|month|week|quarter|semiannual)ly\\b",name:"constant.language"}]},capabilities:{patterns:[{match:"\\b(?:CAP_(?:AUDIT_CONTROL|AUDIT_READ|AUDIT_WRITE|BLOCK_SUSPEND|BPF|CHECKPOINT_RESTORE|CHOWN|DAC_OVERRIDE|DAC_READ_SEARCH|FOWNER|FSETID|IPC_LOCK|IPC_OWNER|KILL|LEASE|LINUX_IMMUTABLE|MAC_ADMIN|MAC_OVERRIDE|MKNOD|NET_ADMIN|NET_BIND_SERVICE|NET_BROADCAST|NET_RAW|PERFMON|SETFCAP|SETGID|SETPCAP|SETUID|SYS_ADMIN|SYS_BOOT|SYS_CHROOT|SYS_MODULE|SYS_NICE|SYS_PACCT|SYS_PTRACE|SYS_RAWIO|SYS_RESOURCE|SYS_TIME|SYS_TTY_CONFIG|SYSLOG|WAKE_ALARM))\\b",name:"constant.other.systemd"}]},comments:{patterns:[{match:"^\\s*[#;].*\\n",name:"comment.line.number-sign"}]},executablePrefixes:{patterns:[{match:"\\G([@\\-\\:]+(?:\\+|\\!\\!?)?|(?:\\+|\\!\\!?)[@\\-\\:]*)",name:"keyword.operator.prefix.systemd"}]},numbers:{patterns:[{match:"(?<=\\s|=)\\d+(?:\\.\\d+)?(?=[\\s:]|$)",name:"constant.numeric"}]},quotedString:{patterns:[{begin:"(?<=\\G|\\s)'",end:"['\\n]",name:"string.quoted.single",patterns:[{match:"\\\\(?:[abfnrtvs\\\\\"'\\n]|x[0-9A-Fa-f]{2}|[0-8]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",name:"constant.character.escape"}]},{begin:'(?<=\\G|\\s)"',end:'["\\n]',name:"string.quoted.double",patterns:[{match:"\\\\(?:[abfnrtvs\\\\\"'\\n]|x[0-9A-Fa-f]{2}|[0-8]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",name:"constant.character.escape"}]}]},restartOptions:{patterns:[{match:"\\b(no|always|on\\-(?:success|failure|abnormal|abort|watchdog))\\b",name:"constant.language"}]},sections:{patterns:[{match:"^\\s*\\[(Address|Automount|BFIFO|BareUDP|BatmanAdvanced|Bond|Bridge|BridgeFDB|BridgeMDB|BridgeVLAN|CAKE|CAN|Container|Content|ControlledDelay|Coredump|D-BUS Service|DHCP|DHCPPrefixDelegation|DHCPServer|DHCPServerStaticLease|DHCPv4|DHCPv6|DHCPv6PrefixDelegation|DeficitRoundRobinScheduler|DeficitRoundRobinSchedulerClass|Distribution|EnhancedTransmissionSelection|Exec|FairQueueing|FairQueueingControlledDelay|Files|FlowQueuePIE|FooOverUDP|GENEVE|GenericRandomEarlyDetection|HeavyHitterFilter|HierarchyTokenBucket|HierarchyTokenBucketClass|Home|IOCost|IPVLAN|IPVTAP|IPoIB|IPv6AcceptRA|IPv6AddressLabel|IPv6PREF64Prefix|IPv6Prefix|IPv6PrefixDelegation|IPv6RoutePrefix|IPv6SendRA|Image|Install|Journal|Kube|L2TP|L2TPSession|LLDP|Link|Login|MACVLAN|MACVTAP|MACsec|MACsecReceiveAssociation|MACsecReceiveChannel|MACsecTransmitAssociation|Manager|Match|Mount|Neighbor|NetDev|Network|NetworkEmulator|NextHop|OOM|Output|PFIFO|PFIFOFast|PFIFOHeadDrop|PIE|PStore|Packages|Partition|Path|Peer|Pod|QDisc|QuickFairQueueing|QuickFairQueueingClass|Remote|Resolve|Route|RoutingPolicyRule|SR-IOV|Scope|Service|Sleep|Socket|Source|StochasticFairBlue|StochasticFairnessQueueing|Swap|Tap|Target|Time|Timer|TokenBucketFilter|TrafficControlQueueingDiscipline|Transfer|TrivialLinkEqualizer|Tun|Tunnel|UKI|Unit|Upload|VLAN|VRF|VXCAN|VXLAN|Volume|WLAN|WireGuard|WireGuardPeer|Xfrm)\\]",name:"entity.name.section"},{match:"\\s*\\[[\\w-]+\\]",name:"entity.name.unknown-section"}]},sizes:{patterns:[{match:"(?<=\\s|=)\\d+(?:\\.\\d+)?[KMGT](?=[\\s:]|$)",name:"constant.numeric"},{match:"(?<==)infinity(?=[\\s:]|$)",name:"constant.numeric"}]},timeSpans:{patterns:[{match:"\\b(?:\\d+(?:[uμ]s(?:ec)?|ms(?:ec)?|s(?:ec|econds?)?|m(?:in|inutes?)?|h(?:r|ours?)?|d(?:ays?)?|w(?:eeks)?|M|months?|y(?:ears?)?)){1,}\\b",name:"constant.numeric"}]},typeOptions:{patterns:[{match:"\\b(?:simple|exec|forking|oneshot|dbus|notify(?:-reload)?|idle|unicast|local|broadcast|anycast|multicast|blackhole|unreachable|prohibit|throw|nat|xresolve|blackhole|unreachable|prohibit|ad-hoc|station|ap(?:-vlan)?|wds|monitor|mesh-point|p2p-(?:client|go|device)|ocb|nan)\\b",name:"constant.language"}]},variables:{patterns:[{captures:{1:{name:"punctuation.definition.variable.systemd"},2:{name:"variable.other"}},match:"(\\$)([A-Za-z0-9\\_]+)\\b"},{captures:{1:{name:"punctuation.definition.variable.systemd"},2:{name:"variable.other"},3:{name:"punctuation.definition.variable.systemd"}},match:"(\\$\\{)([A-Za-z0-9\\_]+)(\\})"},{match:"%%",name:"constant.other.placeholder"},{match:"%[aAbBCEfgGhHiIjJlLmMnNopPsStTuUvVwW]\\b",name:"constant.other.placeholder"}]}},i="source.systemd",s={displayName:e,name:n,patterns:a,repository:t,scopeName:i};export{s as default,e as displayName,n as name,a as patterns,t as repository,i as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Tasl",a=["tasl"],n="tasl",t=[{include:"#comment"},{include:"#namespace"},{include:"#type"},{include:"#class"},{include:"#edge"}],i={class:{begin:"(?:^\\s*)(class)\\b",beginCaptures:{1:{name:"keyword.control.tasl.class"}},end:"$",patterns:[{include:"#key"},{include:"#export"},{include:"#expression"}]},comment:{captures:{1:{name:"punctuation.definition.comment.tasl"}},match:"(#).*$",name:"comment.line.number-sign.tasl"},component:{begin:"->",beginCaptures:{0:{name:"punctuation.separator.tasl.component"}},end:"$",patterns:[{include:"#expression"}]},coproduct:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.block.tasl.coproduct"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.block.tasl.coproduct"}},patterns:[{include:"#comment"},{include:"#term"},{include:"#option"}]},datatype:{match:"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+",name:"string.regexp"},edge:{begin:"(?:^\\s*)(edge)\\b",beginCaptures:{1:{name:"keyword.control.tasl.edge"}},end:"$",patterns:[{include:"#key"},{include:"#export"},{match:"=/",name:"punctuation.separator.tasl.edge.source"},{match:"/=>",name:"punctuation.separator.tasl.edge.target"},{match:"=>",name:"punctuation.separator.tasl.edge"},{include:"#expression"}]},export:{match:"::",name:"keyword.operator.tasl.export"},expression:{patterns:[{include:"#literal"},{include:"#uri"},{include:"#product"},{include:"#coproduct"},{include:"#reference"},{include:"#optional"},{include:"#identifier"}]},identifier:{captures:{1:{name:"variable"}},match:"([a-zA-Z][a-zA-Z0-9]*)\\b"},key:{match:"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+",name:"markup.bold entity.name.class"},literal:{patterns:[{include:"#datatype"}]},namespace:{captures:{1:{name:"keyword.control.tasl.namespace"},2:{patterns:[{include:"#namespaceURI"},{match:"[a-zA-Z][a-zA-Z0-9]*\\b",name:"entity.name"}]}},match:"(?:^\\s*)(namespace)\\b(.*)"},namespaceURI:{match:"[a-z]+:[a-zA-Z0-9-._~:\\/?#\\[\\]@!$&'()*+,;%=]+",name:"markup.underline.link"},option:{begin:"<-",beginCaptures:{0:{name:"punctuation.separator.tasl.option"}},end:"$",patterns:[{include:"#expression"}]},optional:{begin:"\\?",beginCaptures:{0:{name:"keyword.operator"}},end:"$",patterns:[{include:"#expression"}]},product:{begin:"{",beginCaptures:{0:{name:"punctuation.definition.block.tasl.product"}},end:"}",endCaptures:{0:{name:"punctuation.definition.block.tasl.product"}},patterns:[{include:"#comment"},{include:"#term"},{include:"#component"}]},reference:{captures:{1:{name:"markup.bold keyword.operator"},2:{patterns:[{include:"#key"}]}},match:"(\\*)\\s*(.*)"},term:{match:"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+",name:"entity.other.tasl.key"},type:{begin:"(?:^\\s*)(type)\\b",beginCaptures:{1:{name:"keyword.control.tasl.type"}},end:"$",patterns:[{include:"#expression"}]},uri:{match:"<>",name:"variable.other.constant"}},s="source.tasl",r={displayName:e,fileTypes:a,name:n,patterns:t,repository:i,scopeName:s};export{r as default,e as displayName,a as fileTypes,n as name,t as patterns,i as repository,s as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Tcl",t=["tcl"],n="\\{\\s*$",a="^\\s*\\}",c="tcl",r=[{begin:"(?<=^|;)\\s*((#))",beginCaptures:{1:{name:"comment.line.number-sign.tcl"},2:{name:"punctuation.definition.comment.tcl"}},contentName:"comment.line.number-sign.tcl",end:"\\n",patterns:[{match:"(\\\\\\\\|\\\\\\n)"}]},{captures:{1:{name:"keyword.control.tcl"}},match:"(?<=^|[\\[{;])\\s*(if|while|for|catch|default|return|break|continue|switch|exit|foreach|try|throw)\\b"},{captures:{1:{name:"keyword.control.tcl"}},match:"(?<=^|})\\s*(then|elseif|else)\\b"},{captures:{1:{name:"keyword.other.tcl"},2:{name:"entity.name.function.tcl"}},match:"(?<=^|{)\\s*(proc)\\s+([^\\s]+)"},{captures:{1:{name:"keyword.other.tcl"}},match:"(?<=^|[\\[{;])\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\b"},{begin:"(?<=^|[\\[{;])\\s*(regexp|regsub)\\b\\s*",beginCaptures:{1:{name:"keyword.other.tcl"}},comment:"special-case regexp/regsub keyword in order to handle the expression",end:"[\\n;\\]]",patterns:[{match:"\\\\(?:.|\\n)",name:"constant.character.escape.tcl"},{comment:"switch for regexp",match:"-\\w+\\s*"},{applyEndPatternLast:1,begin:"--\\s*",comment:"end of switches",end:"",patterns:[{include:"#regexp"}]},{include:"#regexp"}]},{include:"#escape"},{include:"#variable"},{include:"#operator"},{include:"#numeric"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.tcl"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.tcl"}},name:"string.quoted.double.tcl",patterns:[{include:"#escape"},{include:"#variable"},{include:"#embedded"}]}],s={"bare-string":{begin:'(?:^|(?<=\\s))"',comment:"matches a single quote-enclosed word without scoping",end:'"([^\\s\\]]*)',endCaptures:{1:{name:"invalid.illegal.tcl"}},patterns:[{include:"#escape"},{include:"#variable"}]},braces:{begin:"(?:^|(?<=\\s))\\{",comment:"matches a single brace-enclosed word",end:"\\}([^\\s\\]]*)",endCaptures:{1:{name:"invalid.illegal.tcl"}},patterns:[{match:"\\\\[{}\\n]",name:"constant.character.escape.tcl"},{include:"#inner-braces"}]},embedded:{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.embedded.begin.tcl"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.embedded.end.tcl"}},name:"source.tcl.embedded",patterns:[{include:"source.tcl"}]},escape:{match:"\\\\(\\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\\n)",name:"constant.character.escape.tcl"},"inner-braces":{begin:"\\{",comment:"matches a nested brace in a brace-enclosed word",end:"\\}",patterns:[{match:"\\\\[{}\\n]",name:"constant.character.escape.tcl"},{include:"#inner-braces"}]},numeric:{match:"(?<![a-zA-Z])([+-]?([0-9]*[.])?[0-9]+f?)(?![\\.a-zA-Z])",name:"constant.numeric.tcl"},operator:{match:"(?<= |\\d)(-|\\+|~|&{1,2}|\\|{1,2}|<{1,2}|>{1,2}|\\*{1,2}|!|%|\\/|<=|>=|={1,2}|!=|\\^)(?= |\\d)",name:"keyword.operator.tcl"},regexp:{begin:"(?=\\S)(?![\\n;\\]])",comment:"matches a single word, named as a regexp, then swallows the rest of the command",end:"(?=[\\n;\\]])",patterns:[{begin:"(?=[^ \\t\\n;])",end:"(?=[ \\t\\n;])",name:"string.regexp.tcl",patterns:[{include:"#braces"},{include:"#bare-string"},{include:"#escape"},{include:"#variable"}]},{begin:"[ \\t]",comment:"swallow the rest of the command",end:"(?=[\\n;\\]])",patterns:[{include:"#variable"},{include:"#embedded"},{include:"#escape"},{include:"#braces"},{include:"#string"}]}]},string:{applyEndPatternLast:1,begin:'(?:^|(?<=\\s))(?=")',comment:"matches a single quote-enclosed word with scoping",end:"",name:"string.quoted.double.tcl",patterns:[{include:"#bare-string"}]},variable:{captures:{1:{name:"punctuation.definition.variable.tcl"}},match:"(\\$)((?:[a-zA-Z0-9_]|::)+(\\([^\\)]+\\))?|\\{[^\\}]*\\})",name:"support.function.tcl"}},i="source.tcl",l={displayName:"Tcl",fileTypes:t,foldingStartMarker:n,foldingStopMarker:a,name:"tcl",patterns:r,repository:s,scopeName:i};export{l as default,e as displayName,t as fileTypes,n as foldingStartMarker,a as foldingStopMarker,c as name,r as patterns,s as repository,i as scopeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="Templ",t="templ",n=[{include:"#script-template"},{include:"#css-template"},{include:"#html-template"},{include:"source.go"}],i={"block-element":{begin:"(</?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|>))",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.block.any.html"}},end:"(>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},"call-expression":{begin:"({\\!)\\s+",beginCaptures:{0:{name:"start.call-expression.templ"},1:{name:"punctuation.brace.open"}},end:"(})",endCaptures:{0:{name:"end.call-expression.templ"},1:{name:"punctuation.brace.close"}},name:"call-expression.templ",patterns:[{include:"source.go"}]},"case-expression":{begin:"^\\s*case .+?:$",captures:{0:{name:"case.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)",patterns:[{include:"#template-node"}]},"close-element":{begin:"(</?)([a-zA-Z0-9:\\-]+)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.other.html"}},end:"(>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.html",patterns:[{include:"#tag-stuff"}]},"css-template":{begin:"^(css) ([A-z_][A-z_0-9]*\\()",beginCaptures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"source.go"}]}},end:"(?<=^}$)",name:"css-template.templ",patterns:[{begin:"(?<=\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.end.bracket.round.go"}},name:"params.css-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\)) ({)$",beginCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"^(})$",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.css-template.templ",patterns:[{begin:"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+",beginCaptures:{1:{name:"support.type.property-name.css"}},end:"(?<=;$)",name:"property.css-template.templ",patterns:[{begin:"({)",beginCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"(})(;)$",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"},2:{name:"punctuation.terminator.rule.css"}},name:"expression.property.css-template.templ",patterns:[{include:"source.go"}]},{captures:{1:{name:"support.type.property-value.css"},2:{name:"punctuation.terminator.rule.css"}},match:"(.*)(;)$",name:"constant.property.css-template.templ"}]}]}]},"default-expression":{begin:"^\\s*default:$",captures:{0:{name:"default.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)",patterns:[{include:"#template-node"}]},element:{begin:"(<)([a-zA-Z0-9:\\-]++)(?=[^>]*></\\2>)",beginCaptures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.html"}},end:"(>(<)/)(\\2)(>)",endCaptures:{1:{name:"punctuation.definition.tag.html"},2:{name:"meta.scope.between-tag-pair.html"},3:{name:"entity.name.tag.html"},4:{name:"punctuation.definition.tag.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},"else-expression":{begin:"\\s+(else)\\s+({)\\s*$",beginCaptures:{1:{name:"keyword.control.go"},2:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"^\\s*(})$",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"else.html-template.templ",patterns:[{include:"#template-node"}]},"else-if-expression":{begin:"\\s(else if)\\s",beginCaptures:{1:{name:"keyword.control.go"}},end:"(?<=})",name:"else-if.html-template.templ",patterns:[{begin:"(?<=if\\s)",end:"({)$",endCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.else-if.html-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<={)$",end:"^\\s*(})",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.else-if.html-template.templ",patterns:[{include:"#template-node"}]}]},entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:"(&)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)",name:"constant.character.entity.html"},{match:"&",name:"invalid.illegal.bad-ampersand.html"}]},"for-expression":{begin:"^\\s*for .+{",captures:{0:{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:"\\s*}\\s*\n",name:"for.html-template.templ",patterns:[{include:"#template-node"}]},"go-comment-block":{begin:"(\\/\\*)",beginCaptures:{1:{name:"punctuation.definition.comment.go"}},end:"(\\*\\/)",endCaptures:{1:{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},"go-comment-double-slash":{begin:"(\\/\\/)",beginCaptures:{1:{name:"punctuation.definition.comment.go"}},end:"(?:\\n|$)",name:"comment.line.double-slash.go"},"html-comment":{begin:"\x3c!--",beginCaptures:{0:{name:"punctuation.definition.comment.html"}},end:"--\x3e",endCaptures:{0:{name:"punctuation.definition.comment.html"}},name:"comment.block.html"},"html-template":{begin:"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))",beginCaptures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"source.go"}]}},end:"(?<=^}$)",name:"html-template.templ",patterns:[{begin:"(?<=\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.end.bracket.round.go"}},name:"params.html-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\[)",end:"(\\])",endCaptures:{1:{name:"punctuation.definition.end.bracket.square.go"}},name:"type-params.html-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\)) ({)$",beginCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"^(})$",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.html-template.templ",patterns:[{include:"#template-node"}]}]},"if-expression":{begin:"^\\s*(if)\\s",beginCaptures:{1:{name:"keyword.control.go"}},end:"(?<=})",name:"if.html-template.templ",patterns:[{begin:"(?<=if\\s)",end:"({)$",endCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.if.html-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<={)$",end:"^\\s*(})",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.if.html-template.templ",patterns:[{include:"#template-node"}]}]},"import-expression":{patterns:[{begin:"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))",beginCaptures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"source.go"}]}},end:"(?<=\\))$|(?<=})$|(?<=$)",name:"import-expression.templ",patterns:[{begin:"(?<=[A-z_0-9]{)",end:"\\s*(})(\\.[A-z_][A-z_0-9]*\\()",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"},2:{patterns:[{include:"source.go"}]}},name:"struct-method.import-expression.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.end.bracket.round.go"}},name:"params.import-expression.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\))\\s({)$",beginCaptures:{1:{name:"punctuation.brace.open"}},end:"^\\s*(})$",endCaptures:{1:{name:"punctuation.brace.close"}},name:"children.import-expression.templ",patterns:[{include:"#template-node"}]}]}]},"inline-element":{begin:"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|>))",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.inline.any.html"}},end:"((?: ?/)?>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.any.html",patterns:[{include:"#tag-stuff"}]},"script-element":{begin:"(<)(script)([^>]*)(>)",beginCaptures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#tag-stuff"}]},4:{name:"punctuation.definition.tag.html"}},end:"<\/script>",endCaptures:{0:{patterns:[{include:"#close-element"}]}},name:"meta.tag.script.html",patterns:[{include:"source.js"}]},"script-template":{begin:"^(script) ([A-z_][A-z_0-9]*\\()",beginCaptures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"source.go"}]}},end:"(?<=^}$)",name:"script-template.templ",patterns:[{begin:"(?<=\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.end.bracket.round.go"}},name:"params.script-template.templ",patterns:[{include:"source.go"}]},{begin:"(?<=\\)) ({)$",beginCaptures:{1:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"^(})$",endCaptures:{1:{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.script-template.templ",patterns:[{include:"source.js"}]}]},sgml:{begin:"<!",captures:{0:{name:"punctuation.definition.tag.html"}},end:">",name:"meta.tag.sgml.html",patterns:[{begin:"(?i:DOCTYPE)",captures:{1:{name:"entity.name.tag.doctype.html"}},end:"(?=>)",name:"meta.tag.sgml.doctype.html",patterns:[{match:'"[^">]*"',name:"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{begin:"\\[CDATA\\[",end:"]](?=>)",name:"constant.other.inline-data.html"},{match:"(\\s*)(?!--|>)\\S(\\s*)",name:"invalid.illegal.bad-comments-or-CDATA.html"}]},"string-double-quoted":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},"string-expression":{begin:"{\\s+",beginCaptures:{0:{name:"start.string-expression.templ"}},end:"}",endCaptures:{0:{name:"end.string-expression.templ"}},name:"expression.html-template.templ",patterns:[{include:"source.go"}]},"style-element":{begin:"(<)(style)([^>]*)(>)",beginCaptures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#tag-stuff"}]},4:{name:"punctuation.definition.tag.html"}},end:"</style>",endCaptures:{0:{patterns:[{include:"#close-element"}]}},name:"meta.tag.style.html",patterns:[{include:"source.css"}]},"switch-expression":{begin:"^\\s*switch .+?{$",captures:{0:{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:"^\\s*}$",name:"switch.html-template.templ",patterns:[{include:"#template-node"},{include:"#case-expression"},{include:"#default-expression"}]},"tag-else-attribute":{begin:"\\s(else)\\s({)$",beginCaptures:{1:{name:"keyword.control.go"},2:{name:"punctuation.brace.open"}},end:"^\\s*(})$",endCaptures:{1:{name:"punctuation.brace.close"}},name:"else.attribute.html",patterns:[{include:"#tag-stuff"}]},"tag-else-if-attribute":{begin:"\\s(else if)\\s",beginCaptures:{1:{name:"keyword.control.go"}},end:"(?<=})",name:"else-if.attribute.html",patterns:[{begin:"(?<=if\\s)",end:"({)$",endCaptures:{1:{name:"punctuation.brace.open"}},name:"expression.else-if.attribute.html",patterns:[{include:"source.go"}]},{begin:"(?<={)$",end:"^\\s*(})",endCaptures:{1:{name:"punctuation.brace.close"}},name:"block.else-if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-generic-attribute":{match:"(?<=[^=])\\b([a-zA-Z0-9:-]+)",name:"entity.other.attribute-name.html"},"tag-id-attribute":{begin:"\\b(id)\\b\\s*(=)",captures:{1:{name:"entity.other.attribute-name.id.html"},2:{name:"punctuation.separator.key-value.html"}},end:"(?!\\G)(?<='|\"|[^\\s<>/])",name:"meta.attribute-with-value.id.html",patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]},{captures:{0:{name:"meta.toc-list.id.html"}},match:"(?<==)(?:[^\\s{}<>/'\"]|/(?!>))+",name:"string.unquoted.html"}]},"tag-if-attribute":{begin:"^\\s*(if)\\s",beginCaptures:{1:{name:"keyword.control.go"}},end:"(?<=})",name:"if.attribute.html",patterns:[{begin:"(?<=if\\s)",end:"({)$",endCaptures:{1:{name:"punctuation.brace.open"}},name:"expression.if.attribute.html",patterns:[{include:"source.go"}]},{begin:"(?<={)$",end:"^\\s*(})",endCaptures:{1:{name:"punctuation.brace.close"}},name:"block.if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-stuff":{patterns:[{include:"#tag-id-attribute"},{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-expression"},{include:"#tag-if-attribute"},{include:"#tag-else-if-attribute"},{include:"#tag-else-attribute"}]},"template-node":{patterns:[{include:"#string-expression"},{include:"#call-expression"},{include:"#import-expression"},{include:"#script-element"},{include:"#style-element"},{include:"#element"},{include:"#html-comment"},{include:"#go-comment-block"},{include:"#go-comment-double-slash"},{include:"#sgml"},{include:"#block-element"},{include:"#inline-element"},{include:"#close-element"},{include:"#else-if-expression"},{include:"#if-expression"},{include:"#else-expression"},{include:"#for-expression"},{include:"#switch-expression"}]}},a="source.templ",o={displayName:e,name:t,patterns:n,repository:i,scopeName:a};export{o as default,e as displayName,t as name,n as patterns,i as repository,a as scopeName};
|