comprehende 0.7.0 → 0.8.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 +6 -2
- package/dist/api/agent-md.js +1 -0
- package/dist/schema/cli-pin.js +4 -0
- package/dist/schema/review.js +1 -0
- package/dist/schema/source.js +3 -0
- package/dist/ui/assets/index-BPpt3lUW.css +1 -0
- package/dist/ui/assets/index-Cw3dQOi7.js +1744 -0
- package/dist/ui/assets/{shiki-lang-abap-CCh0PiHj.js → shiki-lang-abap-BuHPl3Px.js} +1 -1
- package/dist/ui/assets/{shiki-lang-actionscript-3-CDO_W9Hu.js → shiki-lang-actionscript-3-DT7i6v_4.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ada-D0v8MB-a.js → shiki-lang-ada-QB58RKQb.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ahk-DGQ1h58c.js → shiki-lang-ahk-Deo8ZsxI.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ahk2-DZVNTXIX.js → shiki-lang-ahk2-DWQ-qmQe.js} +1 -1
- package/dist/ui/assets/{shiki-lang-angular-html-CxeRyf73.js → shiki-lang-angular-html-BZS7pisj.js} +1 -1
- package/dist/ui/assets/{shiki-lang-angular-inline-style-DlHvU-5D.js → shiki-lang-angular-inline-style-B4bPMr5O.js} +1 -1
- package/dist/ui/assets/{shiki-lang-angular-inline-template-ZFfps1P0.js → shiki-lang-angular-inline-template-obnrrKUv.js} +1 -1
- package/dist/ui/assets/{shiki-lang-angular-ts-CfsDaJsV.js → shiki-lang-angular-ts-Bg0EOCRA.js} +1 -1
- package/dist/ui/assets/{shiki-lang-apache-DAGm6YRx.js → shiki-lang-apache-CaeBCo1H.js} +1 -1
- package/dist/ui/assets/{shiki-lang-apex-BntCzcMz.js → shiki-lang-apex-C0P1xrr7.js} +1 -1
- package/dist/ui/assets/{shiki-lang-apl-DXxMY1U9.js → shiki-lang-apl-DpghvkS9.js} +1 -1
- package/dist/ui/assets/{shiki-lang-applescript-CuQP6ZZz.js → shiki-lang-applescript-qHXCUv9W.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ara-BuQtgMwr.js → shiki-lang-ara-CnKLzTh0.js} +1 -1
- package/dist/ui/assets/{shiki-lang-asciidoc-CoUO43hK.js → shiki-lang-asciidoc-BFyWQdTW.js} +1 -1
- package/dist/ui/assets/{shiki-lang-asm-Nrnud8z_.js → shiki-lang-asm-BDAQRHlr.js} +1 -1
- package/dist/ui/assets/{shiki-lang-astro-Cepap9Dk.js → shiki-lang-astro-eLzdEfkh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-awk-GUYPwV2Y.js → shiki-lang-awk-nbK03rsj.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ballerina-BL4RI1ko.js → shiki-lang-ballerina-BvFIoPjv.js} +1 -1
- package/dist/ui/assets/{shiki-lang-bat-DaideUf2.js → shiki-lang-bat-DeZWaK2t.js} +1 -1
- package/dist/ui/assets/{shiki-lang-beancount-CK-GFgjb.js → shiki-lang-beancount-D3PEpbaR.js} +1 -1
- package/dist/ui/assets/{shiki-lang-berry-CaoJlEUd.js → shiki-lang-berry-q4KduTOe.js} +1 -1
- package/dist/ui/assets/{shiki-lang-bibtex-CfgnHv7j.js → shiki-lang-bibtex-BK_j-Uh8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-bicep-ClIJAykG.js → shiki-lang-bicep-BAz0ZWPk.js} +1 -1
- package/dist/ui/assets/{shiki-lang-bird2-B5MZrXeo.js → shiki-lang-bird2-CexT8W9C.js} +1 -1
- package/dist/ui/assets/{shiki-lang-blade-4XbkxIss.js → shiki-lang-blade-EiwCWvW-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-bsl-CcGvbV5A.js → shiki-lang-bsl-BJlZfp3d.js} +1 -1
- package/dist/ui/assets/{shiki-lang-c-POGgq8OX.js → shiki-lang-c-cUgVXYtZ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-c3-Bk0Vc2Tn.js → shiki-lang-c3-DkIGQwpj.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cadence-C45UQpy5.js → shiki-lang-cadence-D0f5xasM.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cairo-Bekf3Fcc.js → shiki-lang-cairo-BhNbTAo2.js} +1 -1
- package/dist/ui/assets/{shiki-lang-chapel-Ce27PSf2.js → shiki-lang-chapel-C41a-Vfc.js} +1 -1
- package/dist/ui/assets/{shiki-lang-clarity-DzhUGUb5.js → shiki-lang-clarity-D30seMWU.js} +1 -1
- package/dist/ui/assets/{shiki-lang-clojure-BGHEPgLH.js → shiki-lang-clojure-uuUteQ-I.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cmake-cj3BvjrT.js → shiki-lang-cmake-TS4v06Lq.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cobol-6silywQZ.js → shiki-lang-cobol-DR4--xqM.js} +1 -1
- package/dist/ui/assets/{shiki-lang-codeowners-CjsAJB7V.js → shiki-lang-codeowners-Dq4wI_wj.js} +1 -1
- package/dist/ui/assets/{shiki-lang-codeql-COxApCWA.js → shiki-lang-codeql-C2YFz6nZ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-coffee-DJFZ3vXp.js → shiki-lang-coffee-BoP47XOy.js} +1 -1
- package/dist/ui/assets/{shiki-lang-common-lisp-6R4RkOm6.js → shiki-lang-common-lisp-BI2P6pYW.js} +1 -1
- package/dist/ui/assets/{shiki-lang-coq-0p5OGVcA.js → shiki-lang-coq-DGJ-LtGn.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cpp-BL0zwoTz.js → shiki-lang-cpp-Dal4zAhU.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cpp-macro-BhQTFR1w.js → shiki-lang-cpp-macro-BNcMYQzK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-crystal-BhrX2mUY.js → shiki-lang-crystal-C8kllMvh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-csharp-BJ0dqAQQ.js → shiki-lang-csharp-xjiDMJUR.js} +1 -1
- package/dist/ui/assets/{shiki-lang-css-CgONgvzo.js → shiki-lang-css-BtK5ec9f.js} +1 -1
- package/dist/ui/assets/{shiki-lang-csv-MORT_y9S.js → shiki-lang-csv-p-Fkolpm.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cue-CFbNGLLB.js → shiki-lang-cue-rpKFDnrP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-cypher-DH-T6IiV.js → shiki-lang-cypher-COrMSn75.js} +1 -1
- package/dist/ui/assets/{shiki-lang-d-C3P1qfpW.js → shiki-lang-d-i8h2-tT8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-dart-C1Hg8CB4.js → shiki-lang-dart-Dio4c9vd.js} +1 -1
- package/dist/ui/assets/{shiki-lang-dax-YJWgtppW.js → shiki-lang-dax-CPTkOeIN.js} +1 -1
- package/dist/ui/assets/{shiki-lang-desktop-VlON4cDl.js → shiki-lang-desktop-DFiSEBxz.js} +1 -1
- package/dist/ui/assets/{shiki-lang-diff-Bj1DVcNN.js → shiki-lang-diff-D6COc5hs.js} +1 -1
- package/dist/ui/assets/{shiki-lang-docker-ByWlYF6b.js → shiki-lang-docker-XIMjEzG8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-dotenv-DJpkm7RO.js → shiki-lang-dotenv-QSkQX7h5.js} +1 -1
- package/dist/ui/assets/{shiki-lang-dream-maker-Z_U8NFug.js → shiki-lang-dream-maker-USSOZfUq.js} +1 -1
- package/dist/ui/assets/{shiki-lang-edge-CbPibdPM.js → shiki-lang-edge-BPDV4Q0u.js} +1 -1
- package/dist/ui/assets/{shiki-lang-elixir-FOIoAYAu.js → shiki-lang-elixir-BKE9OPDF.js} +1 -1
- package/dist/ui/assets/{shiki-lang-elm-CqNCzRK1.js → shiki-lang-elm-WG-wF2ge.js} +1 -1
- package/dist/ui/assets/{shiki-lang-emacs-lisp-BocUWC8p.js → shiki-lang-emacs-lisp-YvLEIlvI.js} +1 -1
- package/dist/ui/assets/{shiki-lang-erb-DK5ZF4vz.js → shiki-lang-erb-CbW7_yrm.js} +1 -1
- package/dist/ui/assets/{shiki-lang-erlang-rYxHmi04.js → shiki-lang-erlang-tQ2Conzb.js} +1 -1
- package/dist/ui/assets/{shiki-lang-es-tag-css-DnlLlrRA.js → shiki-lang-es-tag-css-CwAevhtf.js} +1 -1
- package/dist/ui/assets/{shiki-lang-es-tag-glsl-8APUALJ6.js → shiki-lang-es-tag-glsl-dqP1Yz9Z.js} +1 -1
- package/dist/ui/assets/{shiki-lang-es-tag-html-C4XIcryF.js → shiki-lang-es-tag-html--KbvnLgJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-es-tag-sql-BtI5o8rX.js → shiki-lang-es-tag-sql-D8eF3fs-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-es-tag-xml-DRxqpnDk.js → shiki-lang-es-tag-xml-C1XCREhg.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fennel-CP9FPjwQ.js → shiki-lang-fennel-ByuP2T_N.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fish-CqrI1-0S.js → shiki-lang-fish-Bl6JSWxf.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fluent-C23gPbyD.js → shiki-lang-fluent-DcjpW-CJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fortran-fixed-form-Dv3GdqPY.js → shiki-lang-fortran-fixed-form-Jm96oYxt.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fortran-free-form-BtHYkLVR.js → shiki-lang-fortran-free-form-DBXJeZhO.js} +1 -1
- package/dist/ui/assets/{shiki-lang-fsharp-D0NR9O4N.js → shiki-lang-fsharp-C1Axgpg7.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gdresource-Bg2P2NMh.js → shiki-lang-gdresource-Cb2Lv_Hg.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gdscript-BDP11UZz.js → shiki-lang-gdscript-BqpET1Hp.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gdshader-8V1ME3af.js → shiki-lang-gdshader-EJVyKmd9.js} +1 -1
- package/dist/ui/assets/{shiki-lang-genie-xgkduPxo.js → shiki-lang-genie-C580asv3.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gherkin--UFIrFpB.js → shiki-lang-gherkin-1-_7jqIt.js} +1 -1
- package/dist/ui/assets/{shiki-lang-git-commit-gTixV4s9.js → shiki-lang-git-commit-C1CitGA9.js} +1 -1
- package/dist/ui/assets/{shiki-lang-git-rebase-C_DDfC5h.js → shiki-lang-git-rebase-CafoN6im.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gleam-BCmzVrYm.js → shiki-lang-gleam-DzCfrYgh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-glimmer-js-0Wdoej83.js → shiki-lang-glimmer-js-DFqhoMH-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-glimmer-ts-Bul8Ca32.js → shiki-lang-glimmer-ts-BpmACrHW.js} +1 -1
- package/dist/ui/assets/{shiki-lang-glsl-fJH1k42K.js → shiki-lang-glsl-CZJe7hbK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gn-ClvndNYF.js → shiki-lang-gn-Rjzf9iJq.js} +1 -1
- package/dist/ui/assets/{shiki-lang-gnuplot-B4aa2-v6.js → shiki-lang-gnuplot-eeygxHmA.js} +1 -1
- package/dist/ui/assets/{shiki-lang-go-WKfzAuWo.js → shiki-lang-go-NVEOzY7_.js} +1 -1
- package/dist/ui/assets/{shiki-lang-graphql-Bl41bkR3.js → shiki-lang-graphql-DhZ5TXkF.js} +1 -1
- package/dist/ui/assets/{shiki-lang-groovy-DPTIjDbN.js → shiki-lang-groovy-CEZdlCsP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hack-BwL2Ag2H.js → shiki-lang-hack-BmcjITAv.js} +1 -1
- package/dist/ui/assets/{shiki-lang-haml-CEYRfOiF.js → shiki-lang-haml-HJ2Ueb86.js} +1 -1
- package/dist/ui/assets/{shiki-lang-handlebars-By72h-0H.js → shiki-lang-handlebars-DxaLlHkn.js} +1 -1
- package/dist/ui/assets/{shiki-lang-haskell-Ba8bHyyZ.js → shiki-lang-haskell-DiddM2MJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-haxe-D9mPDiPb.js → shiki-lang-haxe-pMfP0LCc.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hcl-DTpCFc46.js → shiki-lang-hcl-Bap936O0.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hjson-h-0INsVU.js → shiki-lang-hjson-BYTDlyGA.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hlsl-CKI6OfeK.js → shiki-lang-hlsl-fyyNP_qi.js} +1 -1
- package/dist/ui/assets/{shiki-lang-html-DFf92Hms.js → shiki-lang-html-CP9Hm1lR.js} +1 -1
- package/dist/ui/assets/{shiki-lang-html-derivative-y0kQp5cN.js → shiki-lang-html-derivative--x4x2jCE.js} +1 -1
- package/dist/ui/assets/{shiki-lang-http-Cap4KCjR.js → shiki-lang-http-CwwtjO5s.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hurl-fC0934ju.js → shiki-lang-hurl-CQo_d2_V.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hxml-BTpXjiag.js → shiki-lang-hxml-CJQUEG21.js} +1 -1
- package/dist/ui/assets/{shiki-lang-hy-RIXtmhH7.js → shiki-lang-hy-BHZn1Bjp.js} +1 -1
- package/dist/ui/assets/{shiki-lang-imba-DvVFFMy1.js → shiki-lang-imba-QC3P1YWQ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ini-D-vLyVj8.js → shiki-lang-ini-kwRikv0S.js} +1 -1
- package/dist/ui/assets/{shiki-lang-java-BeTjxnHl.js → shiki-lang-java-d1M2cgqP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-javascript-CF6Vsgp3.js → shiki-lang-javascript-CoQwDVkE.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jinja-html-CVnbJ0oM.js → shiki-lang-jinja-html-C-rrI0jb.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jinja-Cz3-RWz8.js → shiki-lang-jinja-oWNRr7NO.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jison-DxtixVzs.js → shiki-lang-jison-DlYeb9b8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-json-QS2TvV-a.js → shiki-lang-json-yQGkCSm9.js} +1 -1
- package/dist/ui/assets/{shiki-lang-json5-BsThk---.js → shiki-lang-json5-BBK18-F7.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jsonc-BBxdRkqS.js → shiki-lang-jsonc-C492qAh6.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jsonl-DHixT2Ch.js → shiki-lang-jsonl-Df74WKjQ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jsonnet-DMmrvZE9.js → shiki-lang-jsonnet-doyqAZP2.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jssm-D-BacgrV.js → shiki-lang-jssm-Cn74Pd6Y.js} +1 -1
- package/dist/ui/assets/{shiki-lang-jsx-DGUCmvqX.js → shiki-lang-jsx-mYZ0_grh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-julia-WtC1loLD.js → shiki-lang-julia-By3XtwRn.js} +1 -1
- package/dist/ui/assets/{shiki-lang-just-EJs2Bpr8.js → shiki-lang-just-BTkdamae.js} +1 -1
- package/dist/ui/assets/{shiki-lang-kdl-XgCoC7ro.js → shiki-lang-kdl-hCt96Ltw.js} +1 -1
- package/dist/ui/assets/{shiki-lang-kotlin-Ceu1DClC.js → shiki-lang-kotlin-BFL6W1VK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-kusto-IydfCbjB.js → shiki-lang-kusto-Bi9Fd-uE.js} +1 -1
- package/dist/ui/assets/{shiki-lang-latex-CERrvjmL.js → shiki-lang-latex-C1gH_y7D.js} +1 -1
- package/dist/ui/assets/{shiki-lang-lean-Bb1MSB5_.js → shiki-lang-lean-DJESOId2.js} +1 -1
- package/dist/ui/assets/{shiki-lang-less-C57uWnIP.js → shiki-lang-less-BlBwe5lT.js} +1 -1
- package/dist/ui/assets/{shiki-lang-liquid-D2YDAKEE.js → shiki-lang-liquid-_aQQlg5i.js} +1 -1
- package/dist/ui/assets/{shiki-lang-llvm-CsPaR48C.js → shiki-lang-llvm-BEpgvxue.js} +1 -1
- package/dist/ui/assets/{shiki-lang-log-4Q7z9P2_.js → shiki-lang-log-COUzL5MF.js} +1 -1
- package/dist/ui/assets/{shiki-lang-logo-B-rjKTna.js → shiki-lang-logo-BzFyBpUa.js} +1 -1
- package/dist/ui/assets/{shiki-lang-lua-CjwakkuI.js → shiki-lang-lua-D86t0AFA.js} +1 -1
- package/dist/ui/assets/{shiki-lang-luau-95molwVq.js → shiki-lang-luau-D1iPfPp8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-make-BuLqiXA5.js → shiki-lang-make-CKHn0pN_.js} +1 -1
- package/dist/ui/assets/{shiki-lang-markdown-Dlt9cTjJ.js → shiki-lang-markdown-DvqJlRaX.js} +1 -1
- package/dist/ui/assets/{shiki-lang-marko-AgxF-6vJ.js → shiki-lang-marko-Bx5Ys3zf.js} +1 -1
- package/dist/ui/assets/{shiki-lang-matlab-CLkaVy-y.js → shiki-lang-matlab-Bsmpzlgg.js} +1 -1
- package/dist/ui/assets/{shiki-lang-mdc-B-JDJ8TU.js → shiki-lang-mdc-BD8Hug0K.js} +1 -1
- package/dist/ui/assets/{shiki-lang-mdx-DdDHzKCT.js → shiki-lang-mdx-D6-XzQ1O.js} +1 -1
- package/dist/ui/assets/{shiki-lang-mermaid-Cjcnm69Q.js → shiki-lang-mermaid-CyNo_sGZ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-mipsasm-B_6mjd6u.js → shiki-lang-mipsasm-DA63Htym.js} +1 -1
- package/dist/ui/assets/{shiki-lang-mojo-D0L5A59C.js → shiki-lang-mojo-COJJ3_fN.js} +1 -1
- package/dist/ui/assets/{shiki-lang-moonbit-Eqtgjxo4.js → shiki-lang-moonbit-CuNFBU2r.js} +1 -1
- package/dist/ui/assets/{shiki-lang-move-DbQlRQBG.js → shiki-lang-move-BX2BqAEI.js} +1 -1
- package/dist/ui/assets/{shiki-lang-narrat-DiDbLBuo.js → shiki-lang-narrat-DRT2PRBR.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nextflow-CpRbRx9E.js → shiki-lang-nextflow-CXbNYeNi.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nextflow-groovy-Dtoz-QfU.js → shiki-lang-nextflow-groovy-CBn50lGS.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nginx-BhB_jNUf.js → shiki-lang-nginx-VuJMgGAK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nim-ZHlDXpnX.js → shiki-lang-nim-gUyAmDNe.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nix-BIW1fYd1.js → shiki-lang-nix-ZWhismn0.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nsis-CVnxZHip.js → shiki-lang-nsis-DiLH_ad1.js} +1 -1
- package/dist/ui/assets/{shiki-lang-nushell-BMeIXYse.js → shiki-lang-nushell-D3HeAm2_.js} +1 -1
- package/dist/ui/assets/{shiki-lang-objective-c-Cc2on8Vi.js → shiki-lang-objective-c-Bf-vgIFL.js} +1 -1
- package/dist/ui/assets/{shiki-lang-objective-cpp-vFHMpEHE.js → shiki-lang-objective-cpp-BIkOqJvP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ocaml-D3g-9olK.js → shiki-lang-ocaml-DWguduvb.js} +1 -1
- package/dist/ui/assets/{shiki-lang-odin-BM_1nNT7.js → shiki-lang-odin-BH-7UUWe.js} +1 -1
- package/dist/ui/assets/{shiki-lang-openscad-BtEafwls.js → shiki-lang-openscad-BSzJHkmP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-org-Bo_61LoZ.js → shiki-lang-org-DbleOP5Y.js} +1 -1
- package/dist/ui/assets/{shiki-lang-pascal-CtzWzlCE.js → shiki-lang-pascal-gTsGvL1D.js} +1 -1
- package/dist/ui/assets/{shiki-lang-perl-PJeVLxjR.js → shiki-lang-perl-BKMLvgdT.js} +1 -1
- package/dist/ui/assets/{shiki-lang-php-CGIwcKYx.js → shiki-lang-php-B7Gwh9ef.js} +1 -1
- package/dist/ui/assets/{shiki-lang-pkl-BwBGf-Je.js → shiki-lang-pkl-CopbDshc.js} +1 -1
- package/dist/ui/assets/{shiki-lang-plsql-DfWyOq8S.js → shiki-lang-plsql-DQMF8idG.js} +1 -1
- package/dist/ui/assets/{shiki-lang-po-CGG3cf6x.js → shiki-lang-po-DwBJCip-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-polar-Ixg1DSjp.js → shiki-lang-polar-DnF9YeeS.js} +1 -1
- package/dist/ui/assets/{shiki-lang-postcss-Bz1BtlXf.js → shiki-lang-postcss-CXWa9_la.js} +1 -1
- package/dist/ui/assets/{shiki-lang-powerquery-ifUmxibQ.js → shiki-lang-powerquery-MZ135DUG.js} +1 -1
- package/dist/ui/assets/{shiki-lang-powershell-DBPOjskM.js → shiki-lang-powershell-BhvOQ-ow.js} +1 -1
- package/dist/ui/assets/{shiki-lang-prisma-Blu4wKH1.js → shiki-lang-prisma-ehoeHrFh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-prolog-xjF--GQU.js → shiki-lang-prolog-CbsViES-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-proto-DSra8eBV.js → shiki-lang-proto-DzSxeFhe.js} +1 -1
- package/dist/ui/assets/{shiki-lang-pug-DSuGdEWk.js → shiki-lang-pug-Cx8nw1GZ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-puppet-Cq0Seunk.js → shiki-lang-puppet-Btc-vtJB.js} +1 -1
- package/dist/ui/assets/{shiki-lang-purescript-ByxegL2r.js → shiki-lang-purescript-BRNRwNAr.js} +1 -1
- package/dist/ui/assets/{shiki-lang-python-oauygUGH.js → shiki-lang-python-CHKKXXi8.js} +1 -1
- package/dist/ui/assets/{shiki-lang-qml-CfCPNi46.js → shiki-lang-qml-8dXsP_KG.js} +1 -1
- package/dist/ui/assets/{shiki-lang-qmldir-B3ajh-8-.js → shiki-lang-qmldir-wsrRkenJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-qss-JwufFeTi.js → shiki-lang-qss-Cddq0YPK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-r-DMwcwdHm.js → shiki-lang-r-DSZvQ2bf.js} +1 -1
- package/dist/ui/assets/{shiki-lang-racket-CGdA7NhF.js → shiki-lang-racket-CPkaj6O_.js} +1 -1
- package/dist/ui/assets/{shiki-lang-raku-ClL-wuQO.js → shiki-lang-raku-C-j9AeHY.js} +1 -1
- package/dist/ui/assets/{shiki-lang-razor-Bc882n0u.js → shiki-lang-razor-Cw-zhqTO.js} +1 -1
- package/dist/ui/assets/{shiki-lang-rbs-FCklQ7tS.js → shiki-lang-rbs-Bcy0mDBQ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-reg-DaN26ZvO.js → shiki-lang-reg-BdP2Aq_3.js} +1 -1
- package/dist/ui/assets/{shiki-lang-regexp-DqcDyem1.js → shiki-lang-regexp-Dr8RsTV5.js} +1 -1
- package/dist/ui/assets/{shiki-lang-rel-BpLoSKv9.js → shiki-lang-rel-ItxKk1t2.js} +1 -1
- package/dist/ui/assets/{shiki-lang-riscv-B2iV_L1B.js → shiki-lang-riscv-sAXJO5va.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ron-DdvUXXs5.js → shiki-lang-ron-BVZi4ZmK.js} +1 -1
- package/dist/ui/assets/{shiki-lang-rosmsg-BxtFx0Y7.js → shiki-lang-rosmsg-BwJgk5sN.js} +1 -1
- package/dist/ui/assets/{shiki-lang-rst-B3dfhudY.js → shiki-lang-rst-D5hzYB0l.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ruby-DHCzTBzU.js → shiki-lang-ruby-D9gEja1t.js} +1 -1
- package/dist/ui/assets/{shiki-lang-rust-C4poL8VP.js → shiki-lang-rust-BzGhc63A.js} +1 -1
- package/dist/ui/assets/{shiki-lang-sas-C8wUw1Vp.js → shiki-lang-sas-BFWf1cyL.js} +1 -1
- package/dist/ui/assets/{shiki-lang-sass-Dji7kc40.js → shiki-lang-sass-fiWvE1E6.js} +1 -1
- package/dist/ui/assets/{shiki-lang-scala-JNssQMYD.js → shiki-lang-scala-KEPZWw7Q.js} +1 -1
- package/dist/ui/assets/{shiki-lang-scheme-CW7V2UtM.js → shiki-lang-scheme-WjM1Xspu.js} +1 -1
- package/dist/ui/assets/{shiki-lang-scss-DBg0YeZ4.js → shiki-lang-scss-CG7e8fco.js} +1 -1
- package/dist/ui/assets/{shiki-lang-sdbl-BYeb1lAp.js → shiki-lang-sdbl-D-fUhBMJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-shaderlab-GktSJyKV.js → shiki-lang-shaderlab-CeQUIb-m.js} +1 -1
- package/dist/ui/assets/{shiki-lang-shellscript-Bv7mPD64.js → shiki-lang-shellscript-BHRoVZ9B.js} +1 -1
- package/dist/ui/assets/{shiki-lang-shellsession-Bkg9Digr.js → shiki-lang-shellsession-oQPRyNtJ.js} +1 -1
- package/dist/ui/assets/{shiki-lang-smalltalk-CqpXp2gZ.js → shiki-lang-smalltalk-BCn5pML6.js} +1 -1
- package/dist/ui/assets/{shiki-lang-smithy-GwK488Vp.js → shiki-lang-smithy-Bnew5vAI.js} +1 -1
- package/dist/ui/assets/{shiki-lang-solidity-5PE2Pulk.js → shiki-lang-solidity-DYWBIpKd.js} +1 -1
- package/dist/ui/assets/{shiki-lang-soy-D61f_9WS.js → shiki-lang-soy-BU_I37b3.js} +1 -1
- package/dist/ui/assets/{shiki-lang-sparql-BVBXfaxX.js → shiki-lang-sparql-CUzHwOAc.js} +1 -1
- package/dist/ui/assets/{shiki-lang-splunk-DZldBRB0.js → shiki-lang-splunk-CuMQ-bQj.js} +1 -1
- package/dist/ui/assets/{shiki-lang-sql-CR9sphd-.js → shiki-lang-sql-D_91z_KC.js} +1 -1
- package/dist/ui/assets/{shiki-lang-ssh-config-C_eLd3hX.js → shiki-lang-ssh-config-E7f5J40j.js} +1 -1
- package/dist/ui/assets/{shiki-lang-stata-cxiQzY5Z.js → shiki-lang-stata-CcxlnAAd.js} +1 -1
- package/dist/ui/assets/{shiki-lang-stylus-yBLwS3B_.js → shiki-lang-stylus-QdNMd2Ol.js} +1 -1
- package/dist/ui/assets/{shiki-lang-surrealql-CQ1B4fvD.js → shiki-lang-surrealql-BY3L-U6I.js} +1 -1
- package/dist/ui/assets/{shiki-lang-svelte-BrZ-k7yi.js → shiki-lang-svelte-BraYXbN1.js} +1 -1
- package/dist/ui/assets/{shiki-lang-swift-DOjOtIxe.js → shiki-lang-swift-GBk9P9bD.js} +1 -1
- package/dist/ui/assets/{shiki-lang-system-verilog-DmyUa94s.js → shiki-lang-system-verilog-CcFNB-9G.js} +1 -1
- package/dist/ui/assets/{shiki-lang-systemd-DYSBXyN5.js → shiki-lang-systemd-CfyxEp-3.js} +1 -1
- package/dist/ui/assets/{shiki-lang-talonscript-BUBbooxD.js → shiki-lang-talonscript-EiloZNHt.js} +1 -1
- package/dist/ui/assets/{shiki-lang-tasl-DAKi3lWp.js → shiki-lang-tasl-D2hiq4aP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-tcl-DNeJRgOl.js → shiki-lang-tcl-DmPeea8t.js} +1 -1
- package/dist/ui/assets/{shiki-lang-templ-DKYV6Pof.js → shiki-lang-templ-CNQsuMTo.js} +1 -1
- package/dist/ui/assets/{shiki-lang-terraform-DfYuA89d.js → shiki-lang-terraform-Bk9FujxB.js} +1 -1
- package/dist/ui/assets/{shiki-lang-tex-Cb33DrEL.js → shiki-lang-tex-DqCIQlTN.js} +1 -1
- package/dist/ui/assets/{shiki-lang-toml-BaaR59A6.js → shiki-lang-toml-CTaoLtIw.js} +1 -1
- package/dist/ui/assets/shiki-lang-ts-tags-kbOGoo3o.js +1 -0
- package/dist/ui/assets/{shiki-lang-tsv--fpF5auZ.js → shiki-lang-tsv-n2qFIoSV.js} +1 -1
- package/dist/ui/assets/{shiki-lang-tsx-p97p3SK9.js → shiki-lang-tsx-DHN5AfF-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-turtle-1lh9Wfao.js → shiki-lang-turtle-BhxMO6m_.js} +1 -1
- package/dist/ui/assets/{shiki-lang-twig-DR1FyLif.js → shiki-lang-twig-BI3wu5j1.js} +1 -1
- package/dist/ui/assets/{shiki-lang-typescript-DHNOgsP8.js → shiki-lang-typescript-Bi84_wAX.js} +1 -1
- package/dist/ui/assets/{shiki-lang-typespec-C91uBnE3.js → shiki-lang-typespec-BUSudTwB.js} +1 -1
- package/dist/ui/assets/{shiki-lang-typst-CI5xfKyi.js → shiki-lang-typst-BeQRnfsh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-v-DMQILRRf.js → shiki-lang-v-DcmtCCfh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vala-C4ar8eoZ.js → shiki-lang-vala-ACNpIZyT.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vb-AAhTcthz.js → shiki-lang-vb-UxeHUT4-.js} +1 -1
- package/dist/ui/assets/{shiki-lang-verilog-DK5Iephb.js → shiki-lang-verilog-D_z-DWcI.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vhdl-CMQVRPDa.js → shiki-lang-vhdl-DjYxR0oh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-viml-C1l6E4A3.js → shiki-lang-viml-35sdc6lh.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vue-DNmpMN2C.js → shiki-lang-vue-CXmuYyCC.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vue-html-BRIUbDAp.js → shiki-lang-vue-html-D7p54nmB.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vue-sfc-style-variable-injection-D1TdO2sq.js → shiki-lang-vue-sfc-style-variable-injection-OrVM63MP.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vue-vine-r6cwuWZy.js → shiki-lang-vue-vine-jXgUN14Y.js} +1 -1
- package/dist/ui/assets/{shiki-lang-vyper-D0cV2GLW.js → shiki-lang-vyper-CkzXvo5f.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wasm-BVFSgxvN.js → shiki-lang-wasm-YV5MrSFG.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wenyan-JEKl_-0C.js → shiki-lang-wenyan-BEAREdij.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wgsl-CVTTOPpW.js → shiki-lang-wgsl-DKljNrqo.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wikitext-BT1u0lSn.js → shiki-lang-wikitext-zQrLZOLl.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wit-CXr4d-s1.js → shiki-lang-wit-oxy4vW-x.js} +1 -1
- package/dist/ui/assets/{shiki-lang-wolfram-CbuUgwLG.js → shiki-lang-wolfram-CBPWnKO2.js} +1 -1
- package/dist/ui/assets/{shiki-lang-xml-CzqLjWlK.js → shiki-lang-xml-Dbri-bZ6.js} +1 -1
- package/dist/ui/assets/{shiki-lang-xsl-hYwVdgCv.js → shiki-lang-xsl-HtA9ymS7.js} +1 -1
- package/dist/ui/assets/{shiki-lang-yaml-Byr1PsnH.js → shiki-lang-yaml-CC6ddTCm.js} +1 -1
- package/dist/ui/assets/{shiki-lang-zenscript-ZElI1LVr.js → shiki-lang-zenscript-B5ajX4si.js} +1 -1
- package/dist/ui/assets/{shiki-lang-zig-xkISalQB.js → shiki-lang-zig-DXnhftle.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/ui/shiki-langs.json +1 -1
- package/package.json +6 -3
- package/skills/comprehende/SKILL.md +11 -9
- package/skills/comprehende/references/example.md +5 -0
- package/skills/comprehende/references/review.schema.json +8 -0
- package/dist/ui/assets/index-B7sLE_by.js +0 -1744
- package/dist/ui/assets/index-C3TmVu8x.css +0 -1
- package/dist/ui/assets/shiki-lang-ts-tags-Dz_laeDQ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-Cw3dQOi7.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"Berry","name":"berry","patterns":[{"include":"#controls"},{"include":"#strings"},{"include":"#comment-block"},{"include":"#comments"},{"include":"#keywords"},{"include":"#function"},{"include":"#member"},{"include":"#identifier"},{"include":"#number"},{"include":"#operator"}],"repository":{"comment-block":{"begin":"#-","end":"-#","name":"comment.berry","patterns":[{}]},"comments":{"begin":"#","end":"\\\\n","name":"comment.line.berry","patterns":[{}]},"controls":{"patterns":[{"match":"\\\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\\\b","name":"keyword.control.berry"}]},"function":{"patterns":[{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*(?=\\\\s*\\\\())","name":"entity.name.function.berry"}]},"identifier":{"patterns":[{"match":"\\\\b[A-Z_a-z]\\\\w+\\\\b","name":"identifier.berry"}]},"keywords":{"patterns":[{"match":"\\\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\\\b","name":"keyword.berry"}]},"member":{"patterns":[{"captures":{"0":{"name":"entity.other.attribute-name.berry"}},"match":"\\\\.([A-Z_a-z][0-9A-Z_a-z]*)"}]},"number":{"patterns":[{"match":"0x\\\\h+|\\\\d+|(\\\\d+\\\\.?|\\\\.\\\\d)\\\\d*([Ee][-+]?\\\\d+)?","name":"constant.numeric.berry"}]},"operator":{"patterns":[{"match":"[-\\\\]!%\\\\&(-+./:<=>\\\\[^|~]","name":"keyword.operator.berry"}]},"strings":{"patterns":[{"begin":"f(?=[\\"'])","patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]},{"begin":"'","end":"'","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]}],"while":"\\\\G|^[\\\\t ]*(?=[\\"'])"},{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.double.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"}]}]}},"scopeName":"source.berry","aliases":["be"]}`))];export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-Cw3dQOi7.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\{)\\\\s*([^,}\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\()\\\\s*([^,\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\\\s*(\\\\d+)\\\\s*"},"nested_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\\\s*(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\\\s*(\\\\()\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*"}},"scopeName":"text.bibtex"}`))];export{t as n,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-Cw3dQOi7.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"Bicep","fileTypes":[".bicep",".bicepparam"],"name":"bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"begin":"\\\\[(?!(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\bfor\\\\b)","end":"]","name":"meta.array-literal.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.bicep"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"begin":"@(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*(?=\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b)","end":"","name":"meta.decorator.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"directive":{"begin":"#\\\\b[-0-9A-Z_a-z]+\\\\b","end":"$","name":"meta.directive.bicep","patterns":[{"include":"#directive-variable"},{"include":"#comments"}]},"directive-variable":{"match":"\\\\b[-0-9A-Z_a-z]+\\\\b","name":"keyword.control.declaration.bicep"},"escape-character":{"match":"\\\\\\\\(u\\\\{\\\\h+}|['\\\\\\\\nrt]|\\\\$\\\\{)","name":"constant.character.escape.bicep"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#multiline-string"},{"include":"#multiline-string-1-interp"},{"include":"#multiline-string-2-interp"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"},{"include":"#lambda-start"},{"include":"#directive"}]},"function-call":{"begin":"\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.bicep"}},"end":"\\\\)","name":"meta.function-call.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"identifier":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?!(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\()","name":"variable.other.readwrite.bicep"},"keyword":{"match":"\\\\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|extends|func|assert|extension)\\\\b","name":"keyword.control.declaration.bicep"},"lambda-start":{"begin":"(\\\\((?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*(,(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*)*\\\\)|\\\\((?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\)|(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*)(?=(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*=>)","beginCaptures":{"1":{"name":"meta.undefined.bicep","patterns":[{"include":"#identifier"},{"include":"#comments"}]}},"end":"(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*=>","name":"meta.lambda-start.bicep"},"line-comment":{"match":"//.*(?=$)","name":"comment.line.double-slash.bicep"},"multiline-1-string-subst":{"begin":"(\\\\$\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}},"name":"meta.multiline-1-string-subst.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"multiline-2-string-subst":{"begin":"(\\\\$\\\\$\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}},"name":"meta.multiline-2-string-subst.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"multiline-string":{"begin":"'''","end":"'''(?!')","name":"string.quoted.multi.bicep","patterns":[]},"multiline-string-1-interp":{"begin":"(?<!\\\\$)\\\\$'''","end":"'''(?!')","name":"string.quoted.multi.bicep","patterns":[{"include":"#multiline-1-string-subst"}]},"multiline-string-2-interp":{"begin":"\\\\$\\\\$'''","end":"'''(?!')","name":"string.quoted.multi.bicep","patterns":[{"include":"#multiline-2-string-subst"}]},"named-literal":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.bicep"},"numeric-literal":{"match":"[0-9]+","name":"constant.numeric.bicep"},"object-literal":{"begin":"\\\\{","end":"}","name":"meta.object-literal.bicep","patterns":[{"include":"#object-property-key"},{"include":"#expression"},{"include":"#comments"}]},"object-property-key":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?=(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*:)","name":"variable.other.property.bicep"},"string-literal":{"begin":"'(?!'')","end":"'","name":"string.quoted.single.bicep","patterns":[{"include":"#escape-character"},{"include":"#string-subst"}]},"string-subst":{"begin":"(?<!\\\\\\\\)(\\\\$\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}},"name":"meta.string-subst.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]}},"scopeName":"source.bicep"}`))];export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-B7sLE_by.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"BIRD2 Configuration","fileTypes":["conf","bird","bird2","bird3","bird.conf","bird2.conf","bird3.conf"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"bird2","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#ip-addresses"},{"include":"#prefixes"},{"include":"#vpn-rd"},{"include":"#bytestrings"},{"include":"#bgp-paths"},{"include":"#print-statements"},{"include":"#template-definitions"},{"include":"#filter-definitions"},{"include":"#function-definitions"},{"include":"#protocol-definitions"},{"include":"#next-hop-statements"},{"include":"#neighbor-statements"},{"include":"#import-export-statements"},{"include":"#variable-declarations"},{"include":"#method-calls"},{"include":"#function-calls"},{"include":"#method-properties"},{"include":"#route-attributes"},{"include":"#data-types"},{"include":"#constants"},{"include":"#protocol-phrases"},{"include":"#structural-keywords"},{"include":"#functional-keywords"},{"include":"#semantic-modifiers"},{"include":"#builtin-functions"},{"include":"#filter-names"},{"include":"#user-variables"},{"include":"#operators"},{"include":"#numbers"},{"include":"#symbols"},{"include":"#blocks"}],"repository":{"bgp-paths":{"patterns":[{"begin":"\\\\[=","beginCaptures":{"0":{"name":"punctuation.definition.bgp-path.begin.bird"}},"end":"=]","endCaptures":{"0":{"name":"punctuation.definition.bgp-path.end.bird"}},"name":"meta.bgp-path.bird","patterns":[{"match":"[*+?]","name":"keyword.operator.wildcard.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.asn.bird"},{"include":"#operators"},{"include":"#symbols"}]}]},"blocks":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.block.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.set.begin.bird"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.set.end.bird"}},"name":"meta.set.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.tuple.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tuple.end.bird"}},"name":"meta.tuple.bird","patterns":[{"include":"$self"}]},{"match":";","name":"punctuation.terminator.statement.bird"},{"match":",","name":"punctuation.separator.bird"}]},"builtin-functions":{"patterns":[{"match":"\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_check_assign|bt_test_suite|bt_test_same)\\\\b","name":"support.function.builtin.bird"}]},"bytestrings":{"patterns":[{"match":"\\\\bhex:\\\\h{2}(?:[-.:\\\\s]*\\\\h{2})*\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b(?:\\\\h{2}[-.:\\\\s]*){15,}\\\\h{2}\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b\\\\h{32,}\\\\b","name":"constant.numeric.bytestring.bird"}]},"comments":{"patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.bird"}},"end":"$","name":"comment.line.number-sign.bird"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.bird"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.bird"}},"name":"comment.block.bird"}]},"constants":{"patterns":[{"match":"\\\\b(?:on|off|yes|no|true|false)\\\\b","name":"constant.language.boolean.bird"},{"match":"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b","name":"constant.language.special.bird"},{"match":"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE|UNDEFINED)\\\\b","name":"constant.language.scope.bird"},{"match":"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|STATIC_DEVICE|REDIRECT|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL|RPKI|L3VPN|AGGREGATED|BRIDGE|EVPN)\\\\b","name":"constant.language.source.bird"},{"match":"\\\\bRTD_(?:UNICAST|ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b","name":"constant.language.dest.bird"},{"match":"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.roa.bird"},{"match":"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.aspa.bird"},{"match":"\\\\bORIGIN_(?:IGP|EGP|INCOMPLETE)\\\\b","name":"constant.language.bgp-origin.bird"},{"match":"\\\\bRA_PREF_(?:LOW|MEDIUM|HIGH)\\\\b","name":"constant.language.ra-preference.bird"},{"match":"\\\\bAF_IPV[46]\\\\b","name":"constant.language.address-family.bird"},{"match":"\\\\bKBR_SRC_(?:BIRD|LOCAL|STATIC|DYNAMIC)\\\\b","name":"constant.language.bridge-source.bird"},{"match":"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS|ETH|ASPA|EVPN|EVPN_EAD|EVPN_MAC|EVPN_IMET|EVPN_ES|NEIGHBOR)\\\\b","name":"constant.language.net-type.bird"},{"match":"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b","name":"constant.language.mpls.bird"}]},"data-types":{"patterns":[{"match":"\\\\b(?:(?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b","name":"storage.type.bird"}]},"filter-definitions":{"patterns":[{"begin":"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.filter.bird"},"2":{"name":"entity.name.function.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.filter-definition.bird","patterns":[{"include":"$self"}]}]},"filter-names":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b","name":"entity.name.function.filter.bird"}]},"function-calls":{"patterns":[{"begin":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.call.bird"}},"end":"\\\\)","name":"meta.function-call.bird","patterns":[{"include":"$self"}]}]},"function-definitions":{"patterns":[{"begin":"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.function.bird"},"2":{"name":"entity.name.function.user-defined.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.function-definition.bird","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bird"}},"name":"meta.function-parameters.bird","patterns":[{"include":"#data-types"},{"include":"#symbols"}]},{"begin":"->","beginCaptures":{"0":{"name":"keyword.operator.return-type.bird"}},"end":"(?=\\\\{)","name":"meta.function-return-type.bird","patterns":[{"include":"#data-types"}]},{"include":"$self"}]}]},"functional-keywords":{"patterns":[{"match":"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv|bridge|evpn)\\\\b","name":"keyword.control.protocol-type.bird"},{"match":"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b","name":"keyword.control.routing.bird"},{"match":"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b","name":"keyword.other.interface.bird"},{"match":"\\\\bpreferred\\\\b","name":"keyword.other.device.bird"},{"match":"\\\\b(?:(?:refresh\\\\s+keep|retry\\\\s+keep|expire\\\\s+keep|transport\\\\s+tcp|transport\\\\s+ssh|authentication\\\\s+none|authentication\\\\s+md5|local\\\\s+address|ignore\\\\s+max\\\\s+length|min\\\\s+version|max\\\\s+version|bird\\\\s+private\\\\s+key|remote\\\\s+public\\\\s+key)|(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key))\\\\b","name":"keyword.other.rpki.bird"},{"match":"\\\\b(?:cmac\\\\s+aes128|authentication|none|mac|permissive|ao|password|keys??|secret|deprecated|preferred|generate|accept|from|to|algorithm|hmac|cmac|aes128|sha1|sha224|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b","name":"keyword.other.auth.bird"},{"match":"\\\\btime\\\\b","name":"keyword.other.time.bird"},{"match":"\\\\b(?:hostname|description|debug|log|syslog|stderr|udp|cli|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|warning|auth|bug|fatal|info|trace|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng|threads?|group|cork|threshold|settle|digest|fixed|ping|wakeup|scheduling|sockets|allocator|timers|mrtdump|timeformat|preexport|noexport|exported|stats|count|rpki|reload)\\\\b","name":"keyword.other.config.bird"},{"match":"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b","name":"keyword.other.flowspec.bird"},{"match":"\\\\b(?:ipv4-mpls|ipv6-mpls|ipv6-sadr|vpn4-mc|vpn4-mpls|vpn6-mc|vpn6-mpls|ipv4_mc|ipv6_mc|vpn4|vpn6|mpls|aspa|roa4|roa6|eth|evpn|neighbor|pri|sec)\\\\b","name":"keyword.other.address.bird"},{"match":"\\\\b(?:all|none)\\\\b","name":"keyword.other.quick-declaration.bird"}]},"import-export-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b","name":"meta.import-statement.bird"},{"begin":"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.import-filter-inline.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export)\\\\s+(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.where.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-where-clause.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export\\\\s+in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-prefilter-clause.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b","name":"meta.export-statement.bird"}]},"ip-addresses":{"patterns":[{"match":"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b","name":"constant.numeric.ip.ipv4.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"}]},"method-calls":{"patterns":[{"begin":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.method.bird"}},"end":"\\\\)","name":"meta.method-call.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"variable.other.property.bird"}},"match":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.method-access.bird"}]},"method-properties":{"patterns":[{"match":"(?<=\\\\.)\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max|mac|vlan_id|evpn_type|evpn_tag|evpn_esi|router_ip)\\\\b(?!\\\\s*\\\\()","name":"support.variable.property.bird"}]},"neighbor-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"entity.name.symbol.local-address.bird"},"3":{"name":"keyword.control.port.bird"},"4":{"name":"constant.numeric.port.bird"},"5":{"name":"keyword.control.as.bird"},"6":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+([.:\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?:\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-statement.bird"},{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\s+((?:in|ex)ternal)\\\\b","name":"meta.neighbor-role-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\s+(onlink)\\\\b","name":"meta.neighbor-onlink-statement.bird"},{"captures":{"1":{"name":"keyword.control.source.bird"},"2":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b","name":"meta.source-address-statement.bird"}]},"next-hop-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b","name":"meta.next-hop-ipv4.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b","name":"meta.next-hop-ipv6.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop)\\\\s+(self)\\\\b","name":"meta.next-hop-simple.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop prefer)\\\\s+(global|local|native|ipv6)\\\\b","name":"meta.next-hop-prefer-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop keep)(?:\\\\s+([ei]bgp))?\\\\b","name":"meta.next-hop-keep-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b","name":"meta.extended-next-hop-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(require extended next hop)\\\\s+(yes|no|on|off|true|false)\\\\b","name":"meta.require-extended-next-hop-statement.bird"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h+\\\\b","name":"constant.numeric.hex.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.decimal.bird"},{"captures":{"1":{"name":"keyword.other.unit.bird"}},"match":"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b","name":"constant.numeric.time.bird"}]},"operators":{"patterns":[{"match":"==|!=|<=|>=|!~|[<=>~]","name":"keyword.operator.comparison.bird"},{"match":"&&|\\\\|\\\\||!|->","name":"keyword.operator.logical.bird"},{"match":"(?<!&)&(?!&)|(?<!\\\\|)\\\\|(?!\\\\|)","name":"keyword.operator.bitwise.bird"},{"match":"\\\\+\\\\+","name":"keyword.operator.concat.bird"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.bird"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.bird"},{"match":"\\\\.","name":"keyword.operator.accessor.bird"}]},"prefixes":{"patterns":[{"match":"(?<![0-:A-Z_a-z])(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:){1,7}\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?(?![0-9A-Z_a-z])","name":"constant.numeric.prefix.bird"}]},"print-statements":{"patterns":[{"begin":"\\\\b(printn??)\\\\b","beginCaptures":{"1":{"name":"keyword.other.print.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.print-statement.bird","patterns":[{"include":"$self"}]}]},"protocol-definitions":{"patterns":[{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-template.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"protocol-phrases":{"patterns":[{"match":"\\\\b(?:strict\\\\s+bind|zero\\\\s+udp6\\\\s+checksum\\\\s+rx|idle\\\\s+tx\\\\s+interval|min\\\\s+rx\\\\s+interval|min\\\\s+tx\\\\s+interval|accept\\\\s+ipv4|accept\\\\s+multihop|authentication\\\\s+meticulous\\\\s+keyed\\\\s+sha1|keyed\\\\s+md5|keyed\\\\s+sha1|meticulous\\\\s+keyed\\\\s+md5|meticulous\\\\s+keyed\\\\s+sha1|express\\\\s+thread\\\\s+group|multiplier|keyed|meticulous)\\\\b","name":"keyword.other.bfd.phrase.bird"},{"match":"\\\\b(?:hello\\\\s+interval|update\\\\s+interval|send\\\\s+timestamps|rtt\\\\s+(?:cost|min|max|decay)|next\\\\s+hop\\\\s+prefer\\\\s+ipv6|next\\\\s+hop\\\\s+prefer|next\\\\s+hop\\\\s+ipv4|next\\\\s+hop\\\\s+ipv6|authentication\\\\s+mac\\\\s+permissive|authentication\\\\s+mac|randomize\\\\s+router\\\\s+id|show\\\\s+babel\\\\s+interfaces|show\\\\s+babel\\\\s+neighbors|show\\\\s+babel\\\\s+entries|show\\\\s+babel\\\\s+routes|prefer|native)\\\\b","name":"keyword.other.babel.phrase.bird"},{"match":"\\\\b(?:ipv4\\\\s+multicast|ipv4\\\\s+mpls|ipv6\\\\s+multicast|ipv6\\\\s+mpls|vpn4\\\\s+multicast|vpn4\\\\s+mpls|vpn6\\\\s+multicast|vpn6\\\\s+mpls|rr\\\\s+cluster\\\\s+id|confederation\\\\s+member|hold\\\\s+time|min\\\\s+hold\\\\s+time|startup\\\\s+hold\\\\s+time|path\\\\s+metric|prefer\\\\s+older|connect\\\\s+delay\\\\s+time|connect\\\\s+retry\\\\s+time|keepalive\\\\s+time|min\\\\s+keepalive\\\\s+time|send\\\\s+hold\\\\s+time|error\\\\s+forget\\\\s+time|error\\\\s+wait\\\\s+time|min\\\\s+graceful\\\\s+restart\\\\s+time|max\\\\s+graceful\\\\s+restart\\\\s+time|long\\\\s+lived\\\\s+graceful\\\\s+restart\\\\s+aware|min\\\\s+long\\\\s+lived\\\\s+stale\\\\s+time|max\\\\s+long\\\\s+lived\\\\s+stale\\\\s+time|disable\\\\s+rx|send\\\\s+id|recv\\\\s+id|next\\\\s+hop\\\\s+self|next\\\\s+hop\\\\s+address|next\\\\s+hop\\\\s+ibgp|next\\\\s+hop\\\\s+ebgp|next\\\\s+hop\\\\s+prefer\\\\s+global|next\\\\s+hop\\\\s+prefer\\\\s+local|next\\\\s+hop\\\\s+keep|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format|import\\\\s+table|export\\\\s+table|base\\\\s+table|igp\\\\s+table|add\\\\s+paths\\\\s+rx|add\\\\s+paths\\\\s+tx|add\\\\s+paths|require\\\\s+add\\\\s+paths|gateway\\\\s+direct|aigp\\\\s+originate|long\\\\s+lived\\\\s+graceful\\\\s+restart|long\\\\s+lived\\\\s+stale\\\\s+time|dynamic\\\\s+name(?:\\\\s+digits)?|free\\\\s+bind|ttl\\\\s+security|multihop\\\\s+password|authentication\\\\s+ao|tx\\\\s+size\\\\s+warning|rr\\\\s+client|rs\\\\s+client|advertise\\\\s+hostname|interpret\\\\s+communities|deterministic\\\\s+med|default\\\\s+bgp_local_pref|default\\\\s+bgp_med|med\\\\s+metric|igp\\\\s+metric|missing\\\\s+lladdr|gateway\\\\s+address|forwarding\\\\s+addressed|gateway\\\\s+recursive|allow\\\\s+local\\\\s+as|allow\\\\s+bogus\\\\s+as|allow\\\\s+bgp_local_pref|allow\\\\s+bgp_med|allow\\\\s+as\\\\s+sets|enable\\\\s+route\\\\s+refresh|enable\\\\s+enhanced\\\\s+route\\\\s+refresh|require\\\\s+route\\\\s+refresh|require\\\\s+enhanced\\\\s+route\\\\s+refresh|enable\\\\s+as4|require\\\\s+as4|enable\\\\s+extended\\\\s+messages|require\\\\s+extended\\\\s+messages|require\\\\s+hostname|require\\\\s+graceful\\\\s+restart|require\\\\s+long\\\\s+lived\\\\s+graceful\\\\s+restart|require\\\\s+extended\\\\s+next\\\\s+hop|disable\\\\s+after\\\\s+error|disable\\\\s+after\\\\s+cease|prefix\\\\s+limit\\\\s+hit|administrative\\\\s+shutdown|peer\\\\s+deconfigured|administrative\\\\s+reset|connection\\\\s+rejected|configuration\\\\s+change|connection\\\\s+collision|out\\\\s+of\\\\s+resources|enforce\\\\s+first\\\\s+as|neighbor\\\\s+range|interface\\\\s+range|originate\\\\s+community|full\\\\s+route\\\\s+table|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format\\\\s+(?:native|single|double)|mandatory|secondary|validate|capabilities|primary|aigp|setkey|drop|single|double)\\\\b","name":"keyword.other.bgp.phrase.bird"},{"match":"\\\\b(?:local\\\\s+role|require\\\\s+roles)\\\\b","name":"keyword.other.bgp-role.phrase.bird"},{"match":"\\\\b(?:provider|customer|rs_server|rs_client)\\\\b","name":"constant.language.bgp-role.bird"},{"match":"\\\\b(?:mpls\\\\s+domain|label\\\\s+range\\\\s+static|label\\\\s+range\\\\s+dynamic|label\\\\s+range|label\\\\s+policy|static\\\\s+label|dynamic\\\\s+label)\\\\b","name":"keyword.other.mpls.phrase.bird"},{"match":"\\\\b(?:recursive\\\\s+mpls|show\\\\s+static|igp\\\\s+table|check\\\\s+link)\\\\b","name":"keyword.other.static.phrase.bird"},{"match":"\\\\b(?:generate\\\\s+from|generate\\\\s+to|accept\\\\s+from|accept\\\\s+to)\\\\b","name":"keyword.other.auth-window.phrase.bird"},{"match":"\\\\b(?:import\\\\s+|export\\\\s+)limit\\\\b","name":"keyword.other.channel-limit.phrase.bird"},{"match":"\\\\btx(?:\\\\s+class|\\\\s+dscp|\\\\s+priority)\\\\b","name":"keyword.other.socket.phrase.bird"},{"match":"\\\\b(?:rx\\\\s+buffer|tx\\\\s+length|check\\\\s+link)\\\\b","name":"keyword.other.interface.phrase.bird"},{"match":"\\\\b(?:debug\\\\s+latency\\\\s+limit|debug\\\\s+latency|debug\\\\s+show\\\\s+route|debug\\\\s+protocols|debug\\\\s+channels|debug\\\\s+tables|debug\\\\s+commands|debug\\\\s+all|debug\\\\s+(?:events|filters|interfaces|off|packets|routes|states)|watchdog\\\\s+warning|watchdog\\\\s+timeout|states|routes|filters|interfaces|events|packets|messages)\\\\b","name":"keyword.other.diagnostics.phrase.bird"},{"match":"\\\\b(?:min\\\\s+settle\\\\s+time|max\\\\s+settle\\\\s+time|gc\\\\s+threshold|gc\\\\s+period|export\\\\s+settle\\\\s+time|sorted|trie|roa)\\\\b","name":"keyword.other.table.phrase.bird"},{"match":"\\\\b(?:peer\\\\s+table|aggregate\\\\s+on|merge\\\\s+by)\\\\b","name":"keyword.other.aggregator.phrase.bird"},{"match":"\\\\b(?:merge\\\\s+paths\\\\s+limit|merge\\\\s+paths|kernel\\\\s+table|netlink\\\\s+rx\\\\s+buffer)\\\\b","name":"keyword.other.kernel.phrase.bird"},{"match":"\\\\b(?:route\\\\s+distinguisher|import\\\\s+target|export\\\\s+target|route\\\\s+target)\\\\b","name":"keyword.other.l3vpn.phrase.bird"},{"match":"\\\\b(?:encapsulation\\\\s+vxlan|vlan\\\\s+filtering|vlan\\\\s+range|vni|vid|bridge\\\\s+device|kbr\\\\s+source)\\\\b","name":"keyword.other.evpn-bridge.phrase.bird"},{"match":"\\\\b(?:tunnel\\\\s+device|router\\\\s+address|evpn\\\\s+(?:ead|mac|imet|es)|tag)\\\\b","name":"keyword.other.evpn.phrase.bird"},{"match":"\\\\b(?:monitoring\\\\s+rib\\\\s+in\\\\s+pre_policy|monitoring\\\\s+rib\\\\s+in\\\\s+post_policy|system\\\\s+description|system\\\\s+name|tx\\\\s+buffer\\\\s+limit|station\\\\s+address|station)\\\\b","name":"keyword.other.bmp.phrase.bird"},{"match":"\\\\b(?:solicited\\\\s+ra\\\\s+unicast|router\\\\s+discovery|min\\\\s+ra\\\\s+interval|max\\\\s+ra\\\\s+interval|min\\\\s+delay|link\\\\s+mtu|default\\\\s+lifetime|route\\\\s+lifetime|default\\\\s+preference|route\\\\s+preference|prefix\\\\s+linger\\\\s+time|route\\\\s+linger\\\\s+time|current\\\\s+hop\\\\s+limit|propagate\\\\s+routes|other\\\\s+config|reachable\\\\s+time|retrans\\\\s+timer|valid\\\\s+lifetime|preferred\\\\s+lifetime|lifetime\\\\s+mult|pd\\\\s+preferred|rdnss\\\\s+local|dnssl\\\\s+local|custom\\\\s+option\\\\s+type|custom\\\\s+option\\\\s+local|managed|trigger|sensitive|autonomous|skip|low|medium|high|rdnss|dnssl|domain|lifetime|value|ns)\\\\b","name":"keyword.other.radv.phrase.bird"},{"match":"\\\\b(?:rip\\\\s+ng|mode\\\\s+multicast|mode\\\\s+broadcast|version\\\\s+only|check\\\\s+zero|update\\\\s+time|timeout\\\\s+time|garbage\\\\s+time|retransmit\\\\s+time|split\\\\s+horizon|poison\\\\s+reverse|demand\\\\s+circuit|ecmp\\\\s+limit|ecmp\\\\s+weight|infinity|show\\\\s+rip\\\\s+interfaces|show\\\\s+rip\\\\s+neighbors|ttl\\\\s+security\\\\s+tx\\\\s+only|authentication\\\\s+plaintext|authentication\\\\s+cryptographic)\\\\b","name":"keyword.other.rip.phrase.bird"},{"match":"\\\\b(?:link\\\\s+lsa\\\\s+suppression|stub\\\\s+router|graceful\\\\s+restart\\\\s+aware|graceful\\\\s+restart\\\\s+time|ecmp\\\\s+limit|merge\\\\s+external|rfc5838|vpn\\\\s+pe|instance\\\\s+id|default\\\\s+nssa|default\\\\s+cost2?|stub\\\\s+cost|summary|networks|stubnet|hidden|translator\\\\s+stability|virtual\\\\s+link|transmit\\\\s+delay|dead\\\\s+count|poll|type\\\\s+bcast|type\\\\s+nbma|type\\\\s+pointopoint|type\\\\s+ptp|type\\\\s+ptmp|type\\\\s+pointomultipoint|eligible|real\\\\s+broadcast|ptp\\\\s+netmask|ptp\\\\s+address|strict\\\\s+nonbroadcast|rx\\\\s+buffer\\\\s+normal|rx\\\\s+buffer\\\\s+large|authentication\\\\s+simple|show\\\\s+ospf\\\\s+interface|show\\\\s+ospf\\\\s+neighbors|show\\\\s+ospf\\\\s+topology\\\\s+all|show\\\\s+ospf\\\\s+topology|show\\\\s+ospf\\\\s+state\\\\s+all|show\\\\s+ospf\\\\s+state|show\\\\s+ospf\\\\s+lsadb\\\\s+global|show\\\\s+ospf\\\\s+lsadb\\\\s+area|show\\\\s+ospf\\\\s+lsadb\\\\s+link|show\\\\s+ospf\\\\s+lsadb\\\\s+type|show\\\\s+ospf\\\\s+lsadb\\\\s+lsid|show\\\\s+ospf\\\\s+lsadb\\\\s+self|show\\\\s+ospf\\\\s+lsadb\\\\s+router|show\\\\s+ospf\\\\s+lsadb|show\\\\s+ospf|ospf\\\\s+v2|ospf\\\\s+v3|instance|tag|v2|v3)\\\\b","name":"keyword.other.ospf.phrase.bird"},{"match":"\\\\b(?:aspa\\\\s+providers|transit\\\\s+providers|route\\\\s+aspa)\\\\b","name":"keyword.other.aspa.phrase.bird"},{"match":"\\\\b(?:next\\\\s+header|icmp\\\\s+type|icmp\\\\s+code|tcp\\\\s+flags)\\\\b","name":"keyword.other.flowspec.phrase.bird"},{"match":"\\\\b(?:thread\\\\s+group|show\\\\s+threads\\\\s+all|show\\\\s+threads|cork\\\\s+threshold|route\\\\s+refresh\\\\s+export\\\\s+settle\\\\s+time|digest\\\\s+settle\\\\s+time|filter\\\\s+stacks|max\\\\s+generation)\\\\b","name":"keyword.other.threading.phrase.bird"},{"match":"\\\\b(?:always\\\\s+add\\\\s+path|filename)\\\\b","name":"keyword.other.mrt.phrase.bird"},{"match":"\\\\b(?:mode\\\\s+import|mode\\\\s+export|exp\\\\s+from|exp\\\\s+to|threshold\\\\s+min|threshold\\\\s+max|repeat)\\\\b","name":"keyword.other.perf.phrase.bird"},{"match":"\\\\b(?:router\\\\s+id\\\\s+from|graceful\\\\s+restart\\\\s+wait|vrf\\\\s+default|receive\\\\s+limit|import\\\\s+keep\\\\s+filtered|export\\\\s+in|rpki\\\\s+reload|mrtdump\\\\s+protocols)\\\\b","name":"keyword.other.operations.phrase.bird"},{"match":"\\\\bshow(?:\\\\s+status|\\\\s+protocols\\\\s+all|\\\\s+protocols|\\\\s+interfaces\\\\s+summary|\\\\s+interfaces|\\\\s+symbols\\\\s+table|\\\\s+symbols\\\\s+filter|\\\\s+symbols\\\\s+function|\\\\s+symbols\\\\s+protocol|\\\\s+symbols\\\\s+template|\\\\s+symbols|\\\\s+route\\\\s+for|\\\\s+route\\\\s+in|\\\\s+route\\\\s+table|\\\\s+route\\\\s+filter|\\\\s+route\\\\s+where|\\\\s+route\\\\s+all|\\\\s+route\\\\s+primary|\\\\s+route\\\\s+filtered|\\\\s+route\\\\s+import|\\\\s+route\\\\s+export|\\\\s+route\\\\s+exported|\\\\s+route\\\\s+preexport|\\\\s+route\\\\s+noexport|\\\\s+route\\\\s+protocol|\\\\s+route\\\\s+stats|\\\\s+route\\\\s+count|\\\\s+bfd\\\\s+sessions\\\\s+address|\\\\s+bfd\\\\s+sessions\\\\s+direct|\\\\s+bfd\\\\s+sessions\\\\s+multihop|\\\\s+bfd\\\\s+sessions\\\\s+interface|\\\\s+bfd\\\\s+sessions\\\\s+dev|\\\\s+bfd\\\\s+sessions\\\\s+all|\\\\s+bfd\\\\s+sessions\\\\s+ipv4|\\\\s+bfd\\\\s+sessions\\\\s+ipv6|\\\\s+bfd\\\\s+sessions|\\\\s+mpls\\\\s+ranges|\\\\s+memory|\\\\s+route)\\\\b","name":"keyword.other.cli-show.phrase.bird"},{"match":"\\\\breload(?:\\\\s+filters\\\\s+in|\\\\s+filters\\\\s+out|\\\\s+filters|\\\\s+bgp\\\\s+in|\\\\s+bgp\\\\s+out|\\\\s+bgp|\\\\s+in|\\\\s+out)\\\\b","name":"keyword.other.cli-reload.phrase.bird"},{"match":"\\\\bpartial\\\\b","name":"keyword.other.cli-reload-modifier.bird"},{"match":"\\\\b(?:dump\\\\s+tables|dump\\\\s+attribute\\\\s+stats|dump\\\\s+ao\\\\s+keys|dump\\\\s+filter\\\\s+all|dump\\\\s+resources|dump\\\\s+sockets|dump\\\\s+events|dump\\\\s+interfaces|dump\\\\s+neighbors|dump\\\\s+attributes|dump\\\\s+routes|dump\\\\s+protocols|mrt\\\\s+dump\\\\s+table|mrt\\\\s+dump\\\\s+where|mrt\\\\s+dump\\\\s+to|mrt\\\\s+dump\\\\s+filter|mrt\\\\s+dump|timeformat\\\\s+route|timeformat\\\\s+protocol|timeformat\\\\s+base|timeformat\\\\s+log|timeformat\\\\s+iso|configure\\\\s+soft\\\\s+timeout|configure\\\\s+soft|configure\\\\s+timeout|configure\\\\s+confirm|configure\\\\s+undo|configure\\\\s+status|configure\\\\s+check|restrict|echo|enable|disable|restart|debug|mrtdump|quit|exit|help)\\\\b","name":"keyword.other.cli-dump.phrase.bird"},{"match":"\\\\b(?:configure|down|graceful\\\\s+restart|timeformat\\\\s+(?:short|long|ms|us))\\\\b","name":"keyword.other.cli-control.phrase.bird"}]},"route-attributes":{"patterns":[{"match":"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|local_metric|nexthop|hostentry|flowspec_valid|aspa_providers|roa_aggregated|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|bgp_atomic_aggr|bgp_aggregator|bgp_aigp|bgp_pmsi_tunnel|bgp_otc|bgp_mpls_label_stack|bgp_mp_reach_nlri|bgp_mp_unreach_nlri|bgp_as4_path|bgp_as4_aggregator|bgp_unknown_0x\\\\h{2}|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|rip_from|babel_metric|babel_router_id|babel_seqno|radv_preference|radv_lifetime|ra_preference|ra_lifetime|krt_source|krt_metric|krt_prefsrc|krt_realm|krt_scope|krt_mtu|krt_window|krt_rtt|krt_rttvar|krt_ssthresh|krt_sstresh|krt_cwnd|krt_advmss|krt_reordering|krt_hoplimit|krt_initcwnd|krt_rto_min|krt_initrwnd|krt_quickack|krt_congctl|krt_fastopen_no_cookie|krt_lock_mtu|krt_lock_window|krt_lock_rtt|krt_lock_rttvar|krt_lock_ssthresh|krt_lock_sstresh|krt_lock_cwnd|krt_lock_advmss|krt_lock_reordering|krt_lock_hoplimit|krt_lock_initcwnd|krt_lock_rto_min|krt_lock_initrwnd|krt_lock_quickack|krt_lock_congctl|krt_lock_fastopen_no_cookie|krt_feature_allfrag|krt_feature_ecn|kbr_source|iface_type|iface_bridge_vlan_filtering|iface_vxlan_id|iface_vxlan_learning|iface_vxlan_ip_addr|mypath|mylclist)\\\\b","name":"support.variable.route-attribute.bird"},{"match":"\\\\b(?:proto_name|proto_protocol_name|proto_protocol_type|proto_main_table_id|proto_state|proto_last_modified|proto_info|proto_proto_id|ea_proto_channel_list|proto_channel_id|channel_in_keep|rtable|proto_bgp_rem_id|proto_bgp_rem_as|proto_bgp_loc_as|proto_bgp_rem_ip|bgp_afi|bgp_peer_type|bgp_extended_next_hop|bgp_add_path_rx|bgp_in_conn_local_open_msg|bgp_in_conn_remote_open_msg|bgp_out_conn_local_open_msg|bgp_out_conn_remote_open_msg|bgp_in_conn_state|bgp_out_conn_state|bgp_in_conn_sk|bgp_out_conn_sk|bgp_state_startup|bgp_close_bmp|bgp_as4_session|bgp_as4_in_conn|bgp_as4_out_conn)\\\\b","name":"support.variable.runtime.bird"}]},"semantic-modifiers":{"patterns":[{"match":"\\\\b(?:self|on|off|remote|extended|native|ipv6|internal|external)\\\\b","name":"keyword.other.semantic-modifier.bird"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bird"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bird"}},"name":"string.quoted.double.bird","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.bird"}]},{"match":"'[-.0-:A-Z_a-z]+'","name":"entity.name.symbol.quoted.bird"}]},"structural-keywords":{"patterns":[{"match":"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b","name":"keyword.control.bird"},{"match":"\\\\belse\\\\s*:","name":"keyword.control.case.else.bird"},{"match":"\\\\b(?:accept|reject|error)\\\\b","name":"keyword.control.flow.bird"},{"match":"\\\\b(?:protocol|table|define|include|attribute|eval|ipv6\\\\s+sadr|ipv4\\\\s+mpls|ipv6\\\\s+mpls|vpn4\\\\s+mpls|vpn6\\\\s+mpls|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b","name":"keyword.control.structure.bird"}]},"symbols":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.other.bird"}]},"template-definitions":{"patterns":[{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-from.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"user-variables":{"patterns":[{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"variable.other.user-defined.bird"}]},"variable-declarations":{"patterns":[{"captures":{"1":{"name":"storage.type.bird"},"2":{"name":"variable.other.declaration.bird"}},"match":"\\\\b((?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)","name":"meta.variable-declaration.bird"}]},"vpn-rd":{"match":"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b","name":"constant.numeric.vpn-rd.bird"}},"scopeName":"source.bird2","aliases":["bird"]}`))];export{t};
|
|
1
|
+
import{t as e}from"./index-Cw3dQOi7.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"BIRD2 Configuration","fileTypes":["conf","bird","bird2","bird3","bird.conf","bird2.conf","bird3.conf"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"bird2","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#ip-addresses"},{"include":"#prefixes"},{"include":"#vpn-rd"},{"include":"#bytestrings"},{"include":"#bgp-paths"},{"include":"#print-statements"},{"include":"#template-definitions"},{"include":"#filter-definitions"},{"include":"#function-definitions"},{"include":"#protocol-definitions"},{"include":"#next-hop-statements"},{"include":"#neighbor-statements"},{"include":"#import-export-statements"},{"include":"#variable-declarations"},{"include":"#method-calls"},{"include":"#function-calls"},{"include":"#method-properties"},{"include":"#route-attributes"},{"include":"#data-types"},{"include":"#constants"},{"include":"#protocol-phrases"},{"include":"#structural-keywords"},{"include":"#functional-keywords"},{"include":"#semantic-modifiers"},{"include":"#builtin-functions"},{"include":"#filter-names"},{"include":"#user-variables"},{"include":"#operators"},{"include":"#numbers"},{"include":"#symbols"},{"include":"#blocks"}],"repository":{"bgp-paths":{"patterns":[{"begin":"\\\\[=","beginCaptures":{"0":{"name":"punctuation.definition.bgp-path.begin.bird"}},"end":"=]","endCaptures":{"0":{"name":"punctuation.definition.bgp-path.end.bird"}},"name":"meta.bgp-path.bird","patterns":[{"match":"[*+?]","name":"keyword.operator.wildcard.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.asn.bird"},{"include":"#operators"},{"include":"#symbols"}]}]},"blocks":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.block.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.set.begin.bird"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.set.end.bird"}},"name":"meta.set.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.tuple.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tuple.end.bird"}},"name":"meta.tuple.bird","patterns":[{"include":"$self"}]},{"match":";","name":"punctuation.terminator.statement.bird"},{"match":",","name":"punctuation.separator.bird"}]},"builtin-functions":{"patterns":[{"match":"\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_check_assign|bt_test_suite|bt_test_same)\\\\b","name":"support.function.builtin.bird"}]},"bytestrings":{"patterns":[{"match":"\\\\bhex:\\\\h{2}(?:[-.:\\\\s]*\\\\h{2})*\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b(?:\\\\h{2}[-.:\\\\s]*){15,}\\\\h{2}\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b\\\\h{32,}\\\\b","name":"constant.numeric.bytestring.bird"}]},"comments":{"patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.bird"}},"end":"$","name":"comment.line.number-sign.bird"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.bird"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.bird"}},"name":"comment.block.bird"}]},"constants":{"patterns":[{"match":"\\\\b(?:on|off|yes|no|true|false)\\\\b","name":"constant.language.boolean.bird"},{"match":"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b","name":"constant.language.special.bird"},{"match":"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE|UNDEFINED)\\\\b","name":"constant.language.scope.bird"},{"match":"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|STATIC_DEVICE|REDIRECT|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL|RPKI|L3VPN|AGGREGATED|BRIDGE|EVPN)\\\\b","name":"constant.language.source.bird"},{"match":"\\\\bRTD_(?:UNICAST|ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b","name":"constant.language.dest.bird"},{"match":"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.roa.bird"},{"match":"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.aspa.bird"},{"match":"\\\\bORIGIN_(?:IGP|EGP|INCOMPLETE)\\\\b","name":"constant.language.bgp-origin.bird"},{"match":"\\\\bRA_PREF_(?:LOW|MEDIUM|HIGH)\\\\b","name":"constant.language.ra-preference.bird"},{"match":"\\\\bAF_IPV[46]\\\\b","name":"constant.language.address-family.bird"},{"match":"\\\\bKBR_SRC_(?:BIRD|LOCAL|STATIC|DYNAMIC)\\\\b","name":"constant.language.bridge-source.bird"},{"match":"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS|ETH|ASPA|EVPN|EVPN_EAD|EVPN_MAC|EVPN_IMET|EVPN_ES|NEIGHBOR)\\\\b","name":"constant.language.net-type.bird"},{"match":"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b","name":"constant.language.mpls.bird"}]},"data-types":{"patterns":[{"match":"\\\\b(?:(?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b","name":"storage.type.bird"}]},"filter-definitions":{"patterns":[{"begin":"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.filter.bird"},"2":{"name":"entity.name.function.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.filter-definition.bird","patterns":[{"include":"$self"}]}]},"filter-names":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b","name":"entity.name.function.filter.bird"}]},"function-calls":{"patterns":[{"begin":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.call.bird"}},"end":"\\\\)","name":"meta.function-call.bird","patterns":[{"include":"$self"}]}]},"function-definitions":{"patterns":[{"begin":"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.function.bird"},"2":{"name":"entity.name.function.user-defined.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.function-definition.bird","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bird"}},"name":"meta.function-parameters.bird","patterns":[{"include":"#data-types"},{"include":"#symbols"}]},{"begin":"->","beginCaptures":{"0":{"name":"keyword.operator.return-type.bird"}},"end":"(?=\\\\{)","name":"meta.function-return-type.bird","patterns":[{"include":"#data-types"}]},{"include":"$self"}]}]},"functional-keywords":{"patterns":[{"match":"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv|bridge|evpn)\\\\b","name":"keyword.control.protocol-type.bird"},{"match":"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b","name":"keyword.control.routing.bird"},{"match":"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b","name":"keyword.other.interface.bird"},{"match":"\\\\bpreferred\\\\b","name":"keyword.other.device.bird"},{"match":"\\\\b(?:(?:refresh\\\\s+keep|retry\\\\s+keep|expire\\\\s+keep|transport\\\\s+tcp|transport\\\\s+ssh|authentication\\\\s+none|authentication\\\\s+md5|local\\\\s+address|ignore\\\\s+max\\\\s+length|min\\\\s+version|max\\\\s+version|bird\\\\s+private\\\\s+key|remote\\\\s+public\\\\s+key)|(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key))\\\\b","name":"keyword.other.rpki.bird"},{"match":"\\\\b(?:cmac\\\\s+aes128|authentication|none|mac|permissive|ao|password|keys??|secret|deprecated|preferred|generate|accept|from|to|algorithm|hmac|cmac|aes128|sha1|sha224|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b","name":"keyword.other.auth.bird"},{"match":"\\\\btime\\\\b","name":"keyword.other.time.bird"},{"match":"\\\\b(?:hostname|description|debug|log|syslog|stderr|udp|cli|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|warning|auth|bug|fatal|info|trace|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng|threads?|group|cork|threshold|settle|digest|fixed|ping|wakeup|scheduling|sockets|allocator|timers|mrtdump|timeformat|preexport|noexport|exported|stats|count|rpki|reload)\\\\b","name":"keyword.other.config.bird"},{"match":"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b","name":"keyword.other.flowspec.bird"},{"match":"\\\\b(?:ipv4-mpls|ipv6-mpls|ipv6-sadr|vpn4-mc|vpn4-mpls|vpn6-mc|vpn6-mpls|ipv4_mc|ipv6_mc|vpn4|vpn6|mpls|aspa|roa4|roa6|eth|evpn|neighbor|pri|sec)\\\\b","name":"keyword.other.address.bird"},{"match":"\\\\b(?:all|none)\\\\b","name":"keyword.other.quick-declaration.bird"}]},"import-export-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b","name":"meta.import-statement.bird"},{"begin":"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.import-filter-inline.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export)\\\\s+(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.where.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-where-clause.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export\\\\s+in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-prefilter-clause.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b","name":"meta.export-statement.bird"}]},"ip-addresses":{"patterns":[{"match":"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b","name":"constant.numeric.ip.ipv4.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"}]},"method-calls":{"patterns":[{"begin":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.method.bird"}},"end":"\\\\)","name":"meta.method-call.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"variable.other.property.bird"}},"match":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.method-access.bird"}]},"method-properties":{"patterns":[{"match":"(?<=\\\\.)\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max|mac|vlan_id|evpn_type|evpn_tag|evpn_esi|router_ip)\\\\b(?!\\\\s*\\\\()","name":"support.variable.property.bird"}]},"neighbor-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"entity.name.symbol.local-address.bird"},"3":{"name":"keyword.control.port.bird"},"4":{"name":"constant.numeric.port.bird"},"5":{"name":"keyword.control.as.bird"},"6":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+([.:\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?:\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-statement.bird"},{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\s+((?:in|ex)ternal)\\\\b","name":"meta.neighbor-role-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\s+(onlink)\\\\b","name":"meta.neighbor-onlink-statement.bird"},{"captures":{"1":{"name":"keyword.control.source.bird"},"2":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b","name":"meta.source-address-statement.bird"}]},"next-hop-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b","name":"meta.next-hop-ipv4.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b","name":"meta.next-hop-ipv6.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop)\\\\s+(self)\\\\b","name":"meta.next-hop-simple.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop prefer)\\\\s+(global|local|native|ipv6)\\\\b","name":"meta.next-hop-prefer-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop keep)(?:\\\\s+([ei]bgp))?\\\\b","name":"meta.next-hop-keep-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b","name":"meta.extended-next-hop-statement.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(require extended next hop)\\\\s+(yes|no|on|off|true|false)\\\\b","name":"meta.require-extended-next-hop-statement.bird"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h+\\\\b","name":"constant.numeric.hex.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.decimal.bird"},{"captures":{"1":{"name":"keyword.other.unit.bird"}},"match":"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b","name":"constant.numeric.time.bird"}]},"operators":{"patterns":[{"match":"==|!=|<=|>=|!~|[<=>~]","name":"keyword.operator.comparison.bird"},{"match":"&&|\\\\|\\\\||!|->","name":"keyword.operator.logical.bird"},{"match":"(?<!&)&(?!&)|(?<!\\\\|)\\\\|(?!\\\\|)","name":"keyword.operator.bitwise.bird"},{"match":"\\\\+\\\\+","name":"keyword.operator.concat.bird"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.bird"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.bird"},{"match":"\\\\.","name":"keyword.operator.accessor.bird"}]},"prefixes":{"patterns":[{"match":"(?<![0-:A-Z_a-z])(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:){1,7}\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?(?![0-9A-Z_a-z])","name":"constant.numeric.prefix.bird"}]},"print-statements":{"patterns":[{"begin":"\\\\b(printn??)\\\\b","beginCaptures":{"1":{"name":"keyword.other.print.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.print-statement.bird","patterns":[{"include":"$self"}]}]},"protocol-definitions":{"patterns":[{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-template.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"protocol-phrases":{"patterns":[{"match":"\\\\b(?:strict\\\\s+bind|zero\\\\s+udp6\\\\s+checksum\\\\s+rx|idle\\\\s+tx\\\\s+interval|min\\\\s+rx\\\\s+interval|min\\\\s+tx\\\\s+interval|accept\\\\s+ipv4|accept\\\\s+multihop|authentication\\\\s+meticulous\\\\s+keyed\\\\s+sha1|keyed\\\\s+md5|keyed\\\\s+sha1|meticulous\\\\s+keyed\\\\s+md5|meticulous\\\\s+keyed\\\\s+sha1|express\\\\s+thread\\\\s+group|multiplier|keyed|meticulous)\\\\b","name":"keyword.other.bfd.phrase.bird"},{"match":"\\\\b(?:hello\\\\s+interval|update\\\\s+interval|send\\\\s+timestamps|rtt\\\\s+(?:cost|min|max|decay)|next\\\\s+hop\\\\s+prefer\\\\s+ipv6|next\\\\s+hop\\\\s+prefer|next\\\\s+hop\\\\s+ipv4|next\\\\s+hop\\\\s+ipv6|authentication\\\\s+mac\\\\s+permissive|authentication\\\\s+mac|randomize\\\\s+router\\\\s+id|show\\\\s+babel\\\\s+interfaces|show\\\\s+babel\\\\s+neighbors|show\\\\s+babel\\\\s+entries|show\\\\s+babel\\\\s+routes|prefer|native)\\\\b","name":"keyword.other.babel.phrase.bird"},{"match":"\\\\b(?:ipv4\\\\s+multicast|ipv4\\\\s+mpls|ipv6\\\\s+multicast|ipv6\\\\s+mpls|vpn4\\\\s+multicast|vpn4\\\\s+mpls|vpn6\\\\s+multicast|vpn6\\\\s+mpls|rr\\\\s+cluster\\\\s+id|confederation\\\\s+member|hold\\\\s+time|min\\\\s+hold\\\\s+time|startup\\\\s+hold\\\\s+time|path\\\\s+metric|prefer\\\\s+older|connect\\\\s+delay\\\\s+time|connect\\\\s+retry\\\\s+time|keepalive\\\\s+time|min\\\\s+keepalive\\\\s+time|send\\\\s+hold\\\\s+time|error\\\\s+forget\\\\s+time|error\\\\s+wait\\\\s+time|min\\\\s+graceful\\\\s+restart\\\\s+time|max\\\\s+graceful\\\\s+restart\\\\s+time|long\\\\s+lived\\\\s+graceful\\\\s+restart\\\\s+aware|min\\\\s+long\\\\s+lived\\\\s+stale\\\\s+time|max\\\\s+long\\\\s+lived\\\\s+stale\\\\s+time|disable\\\\s+rx|send\\\\s+id|recv\\\\s+id|next\\\\s+hop\\\\s+self|next\\\\s+hop\\\\s+address|next\\\\s+hop\\\\s+ibgp|next\\\\s+hop\\\\s+ebgp|next\\\\s+hop\\\\s+prefer\\\\s+global|next\\\\s+hop\\\\s+prefer\\\\s+local|next\\\\s+hop\\\\s+keep|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format|import\\\\s+table|export\\\\s+table|base\\\\s+table|igp\\\\s+table|add\\\\s+paths\\\\s+rx|add\\\\s+paths\\\\s+tx|add\\\\s+paths|require\\\\s+add\\\\s+paths|gateway\\\\s+direct|aigp\\\\s+originate|long\\\\s+lived\\\\s+graceful\\\\s+restart|long\\\\s+lived\\\\s+stale\\\\s+time|dynamic\\\\s+name(?:\\\\s+digits)?|free\\\\s+bind|ttl\\\\s+security|multihop\\\\s+password|authentication\\\\s+ao|tx\\\\s+size\\\\s+warning|rr\\\\s+client|rs\\\\s+client|advertise\\\\s+hostname|interpret\\\\s+communities|deterministic\\\\s+med|default\\\\s+bgp_local_pref|default\\\\s+bgp_med|med\\\\s+metric|igp\\\\s+metric|missing\\\\s+lladdr|gateway\\\\s+address|forwarding\\\\s+addressed|gateway\\\\s+recursive|allow\\\\s+local\\\\s+as|allow\\\\s+bogus\\\\s+as|allow\\\\s+bgp_local_pref|allow\\\\s+bgp_med|allow\\\\s+as\\\\s+sets|enable\\\\s+route\\\\s+refresh|enable\\\\s+enhanced\\\\s+route\\\\s+refresh|require\\\\s+route\\\\s+refresh|require\\\\s+enhanced\\\\s+route\\\\s+refresh|enable\\\\s+as4|require\\\\s+as4|enable\\\\s+extended\\\\s+messages|require\\\\s+extended\\\\s+messages|require\\\\s+hostname|require\\\\s+graceful\\\\s+restart|require\\\\s+long\\\\s+lived\\\\s+graceful\\\\s+restart|require\\\\s+extended\\\\s+next\\\\s+hop|disable\\\\s+after\\\\s+error|disable\\\\s+after\\\\s+cease|prefix\\\\s+limit\\\\s+hit|administrative\\\\s+shutdown|peer\\\\s+deconfigured|administrative\\\\s+reset|connection\\\\s+rejected|configuration\\\\s+change|connection\\\\s+collision|out\\\\s+of\\\\s+resources|enforce\\\\s+first\\\\s+as|neighbor\\\\s+range|interface\\\\s+range|originate\\\\s+community|full\\\\s+route\\\\s+table|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format\\\\s+(?:native|single|double)|mandatory|secondary|validate|capabilities|primary|aigp|setkey|drop|single|double)\\\\b","name":"keyword.other.bgp.phrase.bird"},{"match":"\\\\b(?:local\\\\s+role|require\\\\s+roles)\\\\b","name":"keyword.other.bgp-role.phrase.bird"},{"match":"\\\\b(?:provider|customer|rs_server|rs_client)\\\\b","name":"constant.language.bgp-role.bird"},{"match":"\\\\b(?:mpls\\\\s+domain|label\\\\s+range\\\\s+static|label\\\\s+range\\\\s+dynamic|label\\\\s+range|label\\\\s+policy|static\\\\s+label|dynamic\\\\s+label)\\\\b","name":"keyword.other.mpls.phrase.bird"},{"match":"\\\\b(?:recursive\\\\s+mpls|show\\\\s+static|igp\\\\s+table|check\\\\s+link)\\\\b","name":"keyword.other.static.phrase.bird"},{"match":"\\\\b(?:generate\\\\s+from|generate\\\\s+to|accept\\\\s+from|accept\\\\s+to)\\\\b","name":"keyword.other.auth-window.phrase.bird"},{"match":"\\\\b(?:import\\\\s+|export\\\\s+)limit\\\\b","name":"keyword.other.channel-limit.phrase.bird"},{"match":"\\\\btx(?:\\\\s+class|\\\\s+dscp|\\\\s+priority)\\\\b","name":"keyword.other.socket.phrase.bird"},{"match":"\\\\b(?:rx\\\\s+buffer|tx\\\\s+length|check\\\\s+link)\\\\b","name":"keyword.other.interface.phrase.bird"},{"match":"\\\\b(?:debug\\\\s+latency\\\\s+limit|debug\\\\s+latency|debug\\\\s+show\\\\s+route|debug\\\\s+protocols|debug\\\\s+channels|debug\\\\s+tables|debug\\\\s+commands|debug\\\\s+all|debug\\\\s+(?:events|filters|interfaces|off|packets|routes|states)|watchdog\\\\s+warning|watchdog\\\\s+timeout|states|routes|filters|interfaces|events|packets|messages)\\\\b","name":"keyword.other.diagnostics.phrase.bird"},{"match":"\\\\b(?:min\\\\s+settle\\\\s+time|max\\\\s+settle\\\\s+time|gc\\\\s+threshold|gc\\\\s+period|export\\\\s+settle\\\\s+time|sorted|trie|roa)\\\\b","name":"keyword.other.table.phrase.bird"},{"match":"\\\\b(?:peer\\\\s+table|aggregate\\\\s+on|merge\\\\s+by)\\\\b","name":"keyword.other.aggregator.phrase.bird"},{"match":"\\\\b(?:merge\\\\s+paths\\\\s+limit|merge\\\\s+paths|kernel\\\\s+table|netlink\\\\s+rx\\\\s+buffer)\\\\b","name":"keyword.other.kernel.phrase.bird"},{"match":"\\\\b(?:route\\\\s+distinguisher|import\\\\s+target|export\\\\s+target|route\\\\s+target)\\\\b","name":"keyword.other.l3vpn.phrase.bird"},{"match":"\\\\b(?:encapsulation\\\\s+vxlan|vlan\\\\s+filtering|vlan\\\\s+range|vni|vid|bridge\\\\s+device|kbr\\\\s+source)\\\\b","name":"keyword.other.evpn-bridge.phrase.bird"},{"match":"\\\\b(?:tunnel\\\\s+device|router\\\\s+address|evpn\\\\s+(?:ead|mac|imet|es)|tag)\\\\b","name":"keyword.other.evpn.phrase.bird"},{"match":"\\\\b(?:monitoring\\\\s+rib\\\\s+in\\\\s+pre_policy|monitoring\\\\s+rib\\\\s+in\\\\s+post_policy|system\\\\s+description|system\\\\s+name|tx\\\\s+buffer\\\\s+limit|station\\\\s+address|station)\\\\b","name":"keyword.other.bmp.phrase.bird"},{"match":"\\\\b(?:solicited\\\\s+ra\\\\s+unicast|router\\\\s+discovery|min\\\\s+ra\\\\s+interval|max\\\\s+ra\\\\s+interval|min\\\\s+delay|link\\\\s+mtu|default\\\\s+lifetime|route\\\\s+lifetime|default\\\\s+preference|route\\\\s+preference|prefix\\\\s+linger\\\\s+time|route\\\\s+linger\\\\s+time|current\\\\s+hop\\\\s+limit|propagate\\\\s+routes|other\\\\s+config|reachable\\\\s+time|retrans\\\\s+timer|valid\\\\s+lifetime|preferred\\\\s+lifetime|lifetime\\\\s+mult|pd\\\\s+preferred|rdnss\\\\s+local|dnssl\\\\s+local|custom\\\\s+option\\\\s+type|custom\\\\s+option\\\\s+local|managed|trigger|sensitive|autonomous|skip|low|medium|high|rdnss|dnssl|domain|lifetime|value|ns)\\\\b","name":"keyword.other.radv.phrase.bird"},{"match":"\\\\b(?:rip\\\\s+ng|mode\\\\s+multicast|mode\\\\s+broadcast|version\\\\s+only|check\\\\s+zero|update\\\\s+time|timeout\\\\s+time|garbage\\\\s+time|retransmit\\\\s+time|split\\\\s+horizon|poison\\\\s+reverse|demand\\\\s+circuit|ecmp\\\\s+limit|ecmp\\\\s+weight|infinity|show\\\\s+rip\\\\s+interfaces|show\\\\s+rip\\\\s+neighbors|ttl\\\\s+security\\\\s+tx\\\\s+only|authentication\\\\s+plaintext|authentication\\\\s+cryptographic)\\\\b","name":"keyword.other.rip.phrase.bird"},{"match":"\\\\b(?:link\\\\s+lsa\\\\s+suppression|stub\\\\s+router|graceful\\\\s+restart\\\\s+aware|graceful\\\\s+restart\\\\s+time|ecmp\\\\s+limit|merge\\\\s+external|rfc5838|vpn\\\\s+pe|instance\\\\s+id|default\\\\s+nssa|default\\\\s+cost2?|stub\\\\s+cost|summary|networks|stubnet|hidden|translator\\\\s+stability|virtual\\\\s+link|transmit\\\\s+delay|dead\\\\s+count|poll|type\\\\s+bcast|type\\\\s+nbma|type\\\\s+pointopoint|type\\\\s+ptp|type\\\\s+ptmp|type\\\\s+pointomultipoint|eligible|real\\\\s+broadcast|ptp\\\\s+netmask|ptp\\\\s+address|strict\\\\s+nonbroadcast|rx\\\\s+buffer\\\\s+normal|rx\\\\s+buffer\\\\s+large|authentication\\\\s+simple|show\\\\s+ospf\\\\s+interface|show\\\\s+ospf\\\\s+neighbors|show\\\\s+ospf\\\\s+topology\\\\s+all|show\\\\s+ospf\\\\s+topology|show\\\\s+ospf\\\\s+state\\\\s+all|show\\\\s+ospf\\\\s+state|show\\\\s+ospf\\\\s+lsadb\\\\s+global|show\\\\s+ospf\\\\s+lsadb\\\\s+area|show\\\\s+ospf\\\\s+lsadb\\\\s+link|show\\\\s+ospf\\\\s+lsadb\\\\s+type|show\\\\s+ospf\\\\s+lsadb\\\\s+lsid|show\\\\s+ospf\\\\s+lsadb\\\\s+self|show\\\\s+ospf\\\\s+lsadb\\\\s+router|show\\\\s+ospf\\\\s+lsadb|show\\\\s+ospf|ospf\\\\s+v2|ospf\\\\s+v3|instance|tag|v2|v3)\\\\b","name":"keyword.other.ospf.phrase.bird"},{"match":"\\\\b(?:aspa\\\\s+providers|transit\\\\s+providers|route\\\\s+aspa)\\\\b","name":"keyword.other.aspa.phrase.bird"},{"match":"\\\\b(?:next\\\\s+header|icmp\\\\s+type|icmp\\\\s+code|tcp\\\\s+flags)\\\\b","name":"keyword.other.flowspec.phrase.bird"},{"match":"\\\\b(?:thread\\\\s+group|show\\\\s+threads\\\\s+all|show\\\\s+threads|cork\\\\s+threshold|route\\\\s+refresh\\\\s+export\\\\s+settle\\\\s+time|digest\\\\s+settle\\\\s+time|filter\\\\s+stacks|max\\\\s+generation)\\\\b","name":"keyword.other.threading.phrase.bird"},{"match":"\\\\b(?:always\\\\s+add\\\\s+path|filename)\\\\b","name":"keyword.other.mrt.phrase.bird"},{"match":"\\\\b(?:mode\\\\s+import|mode\\\\s+export|exp\\\\s+from|exp\\\\s+to|threshold\\\\s+min|threshold\\\\s+max|repeat)\\\\b","name":"keyword.other.perf.phrase.bird"},{"match":"\\\\b(?:router\\\\s+id\\\\s+from|graceful\\\\s+restart\\\\s+wait|vrf\\\\s+default|receive\\\\s+limit|import\\\\s+keep\\\\s+filtered|export\\\\s+in|rpki\\\\s+reload|mrtdump\\\\s+protocols)\\\\b","name":"keyword.other.operations.phrase.bird"},{"match":"\\\\bshow(?:\\\\s+status|\\\\s+protocols\\\\s+all|\\\\s+protocols|\\\\s+interfaces\\\\s+summary|\\\\s+interfaces|\\\\s+symbols\\\\s+table|\\\\s+symbols\\\\s+filter|\\\\s+symbols\\\\s+function|\\\\s+symbols\\\\s+protocol|\\\\s+symbols\\\\s+template|\\\\s+symbols|\\\\s+route\\\\s+for|\\\\s+route\\\\s+in|\\\\s+route\\\\s+table|\\\\s+route\\\\s+filter|\\\\s+route\\\\s+where|\\\\s+route\\\\s+all|\\\\s+route\\\\s+primary|\\\\s+route\\\\s+filtered|\\\\s+route\\\\s+import|\\\\s+route\\\\s+export|\\\\s+route\\\\s+exported|\\\\s+route\\\\s+preexport|\\\\s+route\\\\s+noexport|\\\\s+route\\\\s+protocol|\\\\s+route\\\\s+stats|\\\\s+route\\\\s+count|\\\\s+bfd\\\\s+sessions\\\\s+address|\\\\s+bfd\\\\s+sessions\\\\s+direct|\\\\s+bfd\\\\s+sessions\\\\s+multihop|\\\\s+bfd\\\\s+sessions\\\\s+interface|\\\\s+bfd\\\\s+sessions\\\\s+dev|\\\\s+bfd\\\\s+sessions\\\\s+all|\\\\s+bfd\\\\s+sessions\\\\s+ipv4|\\\\s+bfd\\\\s+sessions\\\\s+ipv6|\\\\s+bfd\\\\s+sessions|\\\\s+mpls\\\\s+ranges|\\\\s+memory|\\\\s+route)\\\\b","name":"keyword.other.cli-show.phrase.bird"},{"match":"\\\\breload(?:\\\\s+filters\\\\s+in|\\\\s+filters\\\\s+out|\\\\s+filters|\\\\s+bgp\\\\s+in|\\\\s+bgp\\\\s+out|\\\\s+bgp|\\\\s+in|\\\\s+out)\\\\b","name":"keyword.other.cli-reload.phrase.bird"},{"match":"\\\\bpartial\\\\b","name":"keyword.other.cli-reload-modifier.bird"},{"match":"\\\\b(?:dump\\\\s+tables|dump\\\\s+attribute\\\\s+stats|dump\\\\s+ao\\\\s+keys|dump\\\\s+filter\\\\s+all|dump\\\\s+resources|dump\\\\s+sockets|dump\\\\s+events|dump\\\\s+interfaces|dump\\\\s+neighbors|dump\\\\s+attributes|dump\\\\s+routes|dump\\\\s+protocols|mrt\\\\s+dump\\\\s+table|mrt\\\\s+dump\\\\s+where|mrt\\\\s+dump\\\\s+to|mrt\\\\s+dump\\\\s+filter|mrt\\\\s+dump|timeformat\\\\s+route|timeformat\\\\s+protocol|timeformat\\\\s+base|timeformat\\\\s+log|timeformat\\\\s+iso|configure\\\\s+soft\\\\s+timeout|configure\\\\s+soft|configure\\\\s+timeout|configure\\\\s+confirm|configure\\\\s+undo|configure\\\\s+status|configure\\\\s+check|restrict|echo|enable|disable|restart|debug|mrtdump|quit|exit|help)\\\\b","name":"keyword.other.cli-dump.phrase.bird"},{"match":"\\\\b(?:configure|down|graceful\\\\s+restart|timeformat\\\\s+(?:short|long|ms|us))\\\\b","name":"keyword.other.cli-control.phrase.bird"}]},"route-attributes":{"patterns":[{"match":"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|local_metric|nexthop|hostentry|flowspec_valid|aspa_providers|roa_aggregated|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|bgp_atomic_aggr|bgp_aggregator|bgp_aigp|bgp_pmsi_tunnel|bgp_otc|bgp_mpls_label_stack|bgp_mp_reach_nlri|bgp_mp_unreach_nlri|bgp_as4_path|bgp_as4_aggregator|bgp_unknown_0x\\\\h{2}|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|rip_from|babel_metric|babel_router_id|babel_seqno|radv_preference|radv_lifetime|ra_preference|ra_lifetime|krt_source|krt_metric|krt_prefsrc|krt_realm|krt_scope|krt_mtu|krt_window|krt_rtt|krt_rttvar|krt_ssthresh|krt_sstresh|krt_cwnd|krt_advmss|krt_reordering|krt_hoplimit|krt_initcwnd|krt_rto_min|krt_initrwnd|krt_quickack|krt_congctl|krt_fastopen_no_cookie|krt_lock_mtu|krt_lock_window|krt_lock_rtt|krt_lock_rttvar|krt_lock_ssthresh|krt_lock_sstresh|krt_lock_cwnd|krt_lock_advmss|krt_lock_reordering|krt_lock_hoplimit|krt_lock_initcwnd|krt_lock_rto_min|krt_lock_initrwnd|krt_lock_quickack|krt_lock_congctl|krt_lock_fastopen_no_cookie|krt_feature_allfrag|krt_feature_ecn|kbr_source|iface_type|iface_bridge_vlan_filtering|iface_vxlan_id|iface_vxlan_learning|iface_vxlan_ip_addr|mypath|mylclist)\\\\b","name":"support.variable.route-attribute.bird"},{"match":"\\\\b(?:proto_name|proto_protocol_name|proto_protocol_type|proto_main_table_id|proto_state|proto_last_modified|proto_info|proto_proto_id|ea_proto_channel_list|proto_channel_id|channel_in_keep|rtable|proto_bgp_rem_id|proto_bgp_rem_as|proto_bgp_loc_as|proto_bgp_rem_ip|bgp_afi|bgp_peer_type|bgp_extended_next_hop|bgp_add_path_rx|bgp_in_conn_local_open_msg|bgp_in_conn_remote_open_msg|bgp_out_conn_local_open_msg|bgp_out_conn_remote_open_msg|bgp_in_conn_state|bgp_out_conn_state|bgp_in_conn_sk|bgp_out_conn_sk|bgp_state_startup|bgp_close_bmp|bgp_as4_session|bgp_as4_in_conn|bgp_as4_out_conn)\\\\b","name":"support.variable.runtime.bird"}]},"semantic-modifiers":{"patterns":[{"match":"\\\\b(?:self|on|off|remote|extended|native|ipv6|internal|external)\\\\b","name":"keyword.other.semantic-modifier.bird"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bird"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bird"}},"name":"string.quoted.double.bird","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.bird"}]},{"match":"'[-.0-:A-Z_a-z]+'","name":"entity.name.symbol.quoted.bird"}]},"structural-keywords":{"patterns":[{"match":"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b","name":"keyword.control.bird"},{"match":"\\\\belse\\\\s*:","name":"keyword.control.case.else.bird"},{"match":"\\\\b(?:accept|reject|error)\\\\b","name":"keyword.control.flow.bird"},{"match":"\\\\b(?:protocol|table|define|include|attribute|eval|ipv6\\\\s+sadr|ipv4\\\\s+mpls|ipv6\\\\s+mpls|vpn4\\\\s+mpls|vpn6\\\\s+mpls|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b","name":"keyword.control.structure.bird"}]},"symbols":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.other.bird"}]},"template-definitions":{"patterns":[{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-from.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"user-variables":{"patterns":[{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"variable.other.user-defined.bird"}]},"variable-declarations":{"patterns":[{"captures":{"1":{"name":"storage.type.bird"},"2":{"name":"variable.other.declaration.bird"}},"match":"\\\\b((?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)","name":"meta.variable-declaration.bird"}]},"vpn-rd":{"match":"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b","name":"constant.numeric.vpn-rd.bird"}},"scopeName":"source.bird2","aliases":["bird"]}`))];export{t};
|