@marimo-team/islands 0.21.2-dev62 → 0.21.2-dev63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Combination-BBPQRrDo.js → Combination-B_FmEi05.js} +3 -3
- package/dist/{ConnectedDataExplorerComponent-DrWDbHRV.js → ConnectedDataExplorerComponent-DkSulho5.js} +30 -29
- package/dist/{ImageComparisonComponent-BYQfAfSR.js → ImageComparisonComponent-gxt3EfyS.js} +1 -1
- package/dist/{Plot-DfUav0o0.js → Plot-Do8S2SQJ.js} +1 -1
- package/dist/{_baseIsEqual-CvgsjYoW.js → _baseIsEqual-QWfxbVqg.js} +1 -1
- package/dist/_basePickBy-Do49cXgl.js +34 -0
- package/dist/{_baseUniq-BUFhl85h.js → _baseUniq-vFmWNipH.js} +1 -1
- package/dist/{any-language-editor-BRpxklRq.js → any-language-editor-B_YcSEs7.js} +22 -21
- package/dist/apl-Bw2VYJky.js +4 -0
- package/dist/{arc-DXxE-tFl.js → arc-DfkSnvZm.js} +2 -2
- package/dist/architecture-7HQA4BMR-BVuGBj38.js +6 -0
- package/dist/{architectureDiagram-VXUJARFQ-Df0FNeBR.js → architectureDiagram-VXUJARFQ-CTttozWW.js} +19 -19
- package/dist/asciiarmor-eqY4ZaG6.js +4 -0
- package/dist/asn1-Ch439-Sl.js +4 -0
- package/dist/{blockDiagram-VD42YOAC-DszWqlLz.js → blockDiagram-VD42YOAC-DPCYZecD.js} +14 -14
- package/dist/brainfuck-CYhvoM5D.js +4 -0
- package/dist/{button-BKkuUpZh.js → button-B1ZgJ7Cc.js} +2 -2
- package/dist/{c4Diagram-YG6GDRKO-Dyj8LoUX.js → c4Diagram-YG6GDRKO-BAE3Buci.js} +6 -6
- package/dist/capabilities-DAGZLwa6.js +36 -0
- package/dist/{channel-CUFaIkTh.js → channel-DApRnm6b.js} +1 -1
- package/dist/chat-ui-DIuq4Mn6.js +7296 -0
- package/dist/{check-Diwc5emq.js → check-B2OoWw2h.js} +1 -1
- package/dist/{chunk-4BX2VUAB-CwMMQLZ_.js → chunk-4BX2VUAB-BtdcCA7H.js} +1 -1
- package/dist/{chunk-4F5CHEZ2-CRwwZ2ED.js → chunk-4F5CHEZ2-trdcsslU.js} +1 -1
- package/dist/{chunk-55IACEB6-Dj8CzJvE.js → chunk-55IACEB6-hJraQgx2.js} +1 -1
- package/dist/{chunk-5FQGJX7Z-BkzUmppO.js → chunk-5FQGJX7Z-DwBOYBMa.js} +4 -4
- package/dist/{chunk-ABZYJK2D-7QYXAAhe.js → chunk-ABZYJK2D-DFnIGLNd.js} +3 -3
- package/dist/{chunk-ATLVNIR6-pmHPAPSd.js → chunk-ATLVNIR6-4HgRPLgX.js} +2 -2
- package/dist/{chunk-B2363JML-BuBMltZc.js → chunk-B2363JML-BFAcnt5i.js} +1 -1
- package/dist/{chunk-B4BG7PRW-Dbta9cTX.js → chunk-B4BG7PRW-Bp8FDZTb.js} +7 -7
- package/dist/{chunk-CVBHYZKI-D8iwHsLF.js → chunk-CVBHYZKI-B_c5YBcW.js} +1 -1
- package/dist/{chunk-DI55MBZ5-DyKB35wC.js → chunk-DI55MBZ5-CtD9lSpd.js} +6 -6
- package/dist/{chunk-EXTU4WIE-BRFl4iNd.js → chunk-EXTU4WIE-QrN2mPtn.js} +2 -2
- package/dist/{chunk-FMBD7UC4-XTL4xAvH.js → chunk-FMBD7UC4-B34QcQBj.js} +1 -1
- package/dist/{chunk-FRFDVMJY-Bk2LD5Te.js → chunk-FRFDVMJY-Bdi7sRSt.js} +1 -1
- package/dist/{chunk-HN2XXSSU-CzO5Phf0.js → chunk-HN2XXSSU-E3n-Ys7Z.js} +1 -1
- package/dist/{chunk-JA3XYJ7Z-BkrY9SdL.js → chunk-JA3XYJ7Z-B9-EWihm.js} +3 -3
- package/dist/{chunk-JZLCHNYA-Bk_Lil-q.js → chunk-JZLCHNYA-CIx__-bR.js} +6 -6
- package/dist/{chunk-MI3HLSF2-DvCKDmpi.js → chunk-MI3HLSF2-CUYEasXO.js} +1 -1
- package/dist/{chunk-N4CR4FBY-f5n6meOd.js → chunk-N4CR4FBY-Cl9KH_W1.js} +7 -7
- package/dist/{chunk-PL6DKKU2-DiFkzMfM.js → chunk-PL6DKKU2-BBQnb9JJ.js} +1 -1
- package/dist/{chunk-QN33PNHL-CXfJywHv.js → chunk-QN33PNHL-DV6ID85v.js} +2 -2
- package/dist/{chunk-QXUST7PY-D7-26sj3.js → chunk-QXUST7PY-CaiIvoL5.js} +10 -10
- package/dist/{chunk-QZHKN3VN-CYbwZKgJ.js → chunk-QZHKN3VN-CBBP4d0M.js} +1 -1
- package/dist/{chunk-S3R3BYOJ-BRT9vd1R.js → chunk-S3R3BYOJ-CQOhwRBS.js} +6 -6
- package/dist/{chunk-SJTYNZTY-BvVkbShU.js → chunk-SJTYNZTY-upm-bCUI.js} +1 -1
- package/dist/{chunk-TCCFYFTB-DqxhgXG0.js → chunk-TCCFYFTB-C5_FjmXA.js} +15 -14
- package/dist/{chunk-TQ3KTPDO-CPkEruAA.js → chunk-TQ3KTPDO-BYnhW5aQ.js} +1 -1
- package/dist/{chunk-TZMSLE5B-DSfBOnzx.js → chunk-TZMSLE5B-BkqhN89K.js} +3 -3
- package/dist/{chunk-UMXZTB3W-C4ypIY3V.js → chunk-UMXZTB3W-CmrAYToU.js} +1 -1
- package/dist/classDiagram-2ON5EDUG-BKvGPmV7.js +30 -0
- package/dist/classDiagram-v2-WZHVMYZB-CUmRCVhz.js +30 -0
- package/dist/{clike-CLJYUAWw.js → clike-jRoJKo3I.js} +1 -1
- package/dist/clojure-Dlp86hGI.js +4 -0
- package/dist/{clone-CEQ-pda1.js → clone-BM9_Wkaf.js} +1 -1
- package/dist/cmake-CW_qEITI.js +4 -0
- package/dist/cobol-XHu3WWjZ.js +4 -0
- package/dist/{code-block-37QAKDTI-DV_ZyoUh.js → code-block-37QAKDTI-Dae3xvB0.js} +2 -2
- package/dist/coffeescript-Bb6YS_bL.js +4 -0
- package/dist/commonlisp-BjSiOQCp.js +4 -0
- package/dist/{constants-CytQ_3LM.js → constants-LmeAawHa.js} +3 -3
- package/dist/{copy-BjkXCUxP.js → copy-B7XqFjF_.js} +2 -2
- package/dist/{cose-bilkent-S5V4N54A-BCDTZDay.js → cose-bilkent-S5V4N54A-DvPVjKwP.js} +2 -2
- package/dist/crystal-BqTYUvZ7.js +4 -0
- package/dist/css-DADryIYo.js +4 -0
- package/dist/cypher-CNn306Oc.js +4 -0
- package/dist/d-D-tppFsq.js +4 -0
- package/dist/{dagre-6UL2VRFP-DGEbtmgU.js → dagre-6UL2VRFP-ABg-WzQ3.js} +16 -16
- package/dist/{dagre-BVnNvbvD.js → dagre-B3-rUlCT.js} +14 -14
- package/dist/{data-grid-overlay-editor-BD0BFHzy.js → data-grid-overlay-editor-eVOR1Bqn.js} +3 -3
- package/dist/{diagram-PSM6KHXK-CG_usglE.js → diagram-PSM6KHXK-D6zP_W1d.js} +22 -22
- package/dist/{diagram-QEK2KX5R-CtGFEwzJ.js → diagram-QEK2KX5R-CuHhFHzr.js} +17 -17
- package/dist/{diagram-S2PKOQOG-ClKAGmbv.js → diagram-S2PKOQOG-B2AqkaRk.js} +17 -17
- package/dist/diff-BWHM7ple.js +4 -0
- package/dist/{dist-i-ud9aCA.js → dist-9a7ktdXy.js} +1 -1
- package/dist/{dist-D_-CGmlh.js → dist-B1fHT_HN.js} +2 -2
- package/dist/{dist-BpMlUdNO.js → dist-BFe8Nc_2.js} +3 -3
- package/dist/{dist-COpDrwi-.js → dist-BJ43gqCe.js} +1 -1
- package/dist/{dist-B9EjSb9T.js → dist-BS0c9rME.js} +1 -1
- package/dist/{dist-CseYuPtL.js → dist-BU99V51x.js} +2 -2
- package/dist/dist-BV8p87LG.js +5 -0
- package/dist/{dist-CSEWGuDq.js → dist-BYr4a-wE.js} +1 -1
- package/dist/{dist-RNGn_-uD.js → dist-BcxBN3cs.js} +1 -1
- package/dist/{dist-C0Rnbr-_.js → dist-BiNtCiQ9.js} +4 -4
- package/dist/{dist-D4gcY469.js → dist-BrJQDkv_.js} +2 -2
- package/dist/{dist-BSfYc7vq.js → dist-BwZY8Lt9.js} +2 -2
- package/dist/{dist-C4K7pumm.js → dist-C16JG-Ok.js} +2 -2
- package/dist/{dist-DodLQWPg.js → dist-C4UxHJAP.js} +1 -1
- package/dist/dist-C8N7114Z.js +5 -0
- package/dist/dist-CHmkCdpG.js +5 -0
- package/dist/{dist-CDHl2i1x.js → dist-CMY2xBYw.js} +4 -4
- package/dist/{dist-BGZ7TWS9.js → dist-CSiTW5NO.js} +3 -3
- package/dist/{dist-DEj2X26M.js → dist-CWmTJeFK.js} +2 -2
- package/dist/dist-CXayp1fR.js +6 -0
- package/dist/dist-CZ4qwYvJ.js +8 -0
- package/dist/dist-C__dRIDe.js +5 -0
- package/dist/dist-Cbkga3s5.js +5 -0
- package/dist/{dist-D5NMgbbv.js → dist-CiisiGJh.js} +2 -2
- package/dist/{dist-Ux6dL_VB.js → dist-Cm4SOB1A.js} +1 -1
- package/dist/dist-Cxn9man7.js +8 -0
- package/dist/{dist-Bq5eYK43.js → dist-D75XqRaT.js} +2 -2
- package/dist/{dist-HoZO6brh.js → dist-DD2s3ocF.js} +2 -2
- package/dist/dist-DUTgSV0a.js +8 -0
- package/dist/{dist-Bq9zYwJs.js → dist-DUg5n_x5.js} +5 -5
- package/dist/{dist-gc9KgJuA.js → dist-D_qEwdMV.js} +1 -1
- package/dist/{dist-lNe4i1Nm.js → dist-DaQ8gl6t.js} +1 -1
- package/dist/dist-DcoiQ51H.js +6 -0
- package/dist/{dist-CPlGUbk-.js → dist-Dd9vDQtp.js} +2 -2
- package/dist/{dist-CAKwXCWI.js → dist-Ddms9oaj.js} +2 -2
- package/dist/dist-DjYymnvA.js +5 -0
- package/dist/{dist-Cl5iM8xL.js → dist-DkQrPBbq.js} +3 -3
- package/dist/dist-Don9K0di.js +8 -0
- package/dist/dist-E9OVwuXi.js +5 -0
- package/dist/{dist-DUretbKK.js → dist-WV8DSzVp.js} +2 -2
- package/dist/{dist-BFxYppVR.js → dist-XYBhoeSX.js} +4 -4
- package/dist/{dist-BUrWeMEP.js → dist-XpVxGq0K.js} +1 -1
- package/dist/{dist-DERtJN02.js → dist-Y9GfSR6_.js} +2 -2
- package/dist/dist-s8cGIbEf.js +5 -0
- package/dist/{dockerfile-BxhYdLHL.js → dockerfile-Bhphd7by.js} +1 -1
- package/dist/dtd-_uCqoALQ.js +4 -0
- package/dist/dylan-C9RDQBgd.js +4 -0
- package/dist/ecl-D-cNcvrL.js +4 -0
- package/dist/eiffel-pwlnpFTa.js +4 -0
- package/dist/elm-Bw5cHXv0.js +4 -0
- package/dist/{erDiagram-Q2GNP2WA-DPMseVVp.js → erDiagram-Q2GNP2WA-DEGS1PP7.js} +15 -15
- package/dist/erlang-_hA30h6l.js +4 -0
- package/dist/{error-banner-Dmi5ujan.js → error-banner-D-KBGvBj.js} +3 -3
- package/dist/esm-CxoKu9RN.js +2805 -0
- package/dist/esm-dotk-2cB.js +1587 -0
- package/dist/{factor-Png_OsVt.js → factor-DNC3EI9I.js} +1 -1
- package/dist/factor-DmR0sS2X.js +4 -0
- package/dist/{flowDiagram-NV44I4VS-BpAIFwW7.js → flowDiagram-NV44I4VS-_NtC_MIa.js} +17 -17
- package/dist/forth-Cp4B_BYs.js +4 -0
- package/dist/fortran-2KtXs5Vb.js +4 -0
- package/dist/{ganttDiagram-JELNMOA3-DXYghZ9C.js → ganttDiagram-JELNMOA3-0iqJp9II.js} +10 -10
- package/dist/gas-106_zOMN.js +4 -0
- package/dist/gherkin-CHK85w0F.js +4 -0
- package/dist/{gitGraph-G5XIXVHT-ChHUSAop.js → gitGraph-G5XIXVHT-D5dIC-Yj.js} +3 -3
- package/dist/{gitGraphDiagram-V2S2FVAM-CBL-7g3_.js → gitGraphDiagram-V2S2FVAM-DmWsIkI5.js} +17 -17
- package/dist/{glide-data-editor-858wsVkd.js → glide-data-editor-BkO3-23t.js} +94 -93
- package/dist/{graphlib-D18eZCT4.js → graphlib-CIQjMxKw.js} +6 -6
- package/dist/groovy-Bl2mjKn9.js +4 -0
- package/dist/{hasIn-B9AbGLj3.js → hasIn-eLCPDloT.js} +5 -5
- package/dist/haskell-BzHGL977.js +4 -0
- package/dist/haxe-BWQFLp-3.js +5 -0
- package/dist/idl-C28UwC1n.js +4 -0
- package/dist/{info-VBDWY6EO-CwyXEo8E.js → info-VBDWY6EO-DTO3vFfS.js} +3 -3
- package/dist/infoDiagram-HS3SLOUP-UrOFax1c.js +30 -0
- package/dist/{types-CGc7peZV.js → input-B8CM-AuM.js} +208 -405
- package/dist/{isEmpty-C-xMag79.js → isEmpty-CI9akcsL.js} +2 -2
- package/dist/{isString-D-vNYDBA.js → isString-xiQUcgm4.js} +1 -1
- package/dist/{isSymbol-Dyt2NSnN.js → isSymbol-DFp8040B.js} +1 -1
- package/dist/javascript-DgLCEZTn.js +4 -0
- package/dist/{journeyDiagram-XKPGCS4Q-D5BIjS4N.js → journeyDiagram-XKPGCS4Q-m64vZmxT.js} +7 -7
- package/dist/julia-BPiwS_8t.js +4 -0
- package/dist/{kanban-definition-3W4ZIXB7-DhDkqxFB.js → kanban-definition-3W4ZIXB7-ZLe0Kp41.js} +12 -12
- package/dist/{katex-pyO_klYC.js → katex-DAGMFHph.js} +1 -1
- package/dist/{label-BbpGrh4j.js → label-e5-84vsp.js} +10 -10
- package/dist/{line-C1k1rG3Z.js → line-C5s_12ee.js} +3 -3
- package/dist/{linear-DIp6l9sg.js → linear-Cii2AMNm.js} +4 -4
- package/dist/livescript-D--_lQnE.js +4 -0
- package/dist/{loader-CABJs6GU.js → loader-C51Irhxm.js} +3 -3
- package/dist/lua-CsDs748O.js +4 -0
- package/dist/main.js +34824 -70985
- package/dist/mathematica-BYQ9GF6F.js +4 -0
- package/dist/mbox-C7kaFMhK.js +4 -0
- package/dist/{memoize-Cs8aS5RW.js → memoize-zYM53m8l.js} +1 -1
- package/dist/{merge-NuyC7LN7.js → merge-CqBPpP0q.js} +1 -1
- package/dist/mermaid-4DMBBIKO-0oQV6SKJ.js +6 -0
- package/dist/{mermaid-CrKqsE2j.js → mermaid-CP8gAOdP.js} +50 -50
- package/dist/{mermaid-parser.core-OkWZ8nr-.js → mermaid-parser.core-Ldbqm2U2.js} +8 -8
- package/dist/{mhchem-DckvwtV8.js → mhchem-BGHMIfq6.js} +1 -1
- package/dist/{min-ECVRnCdn.js → min-IJGSWMpU.js} +8 -8
- package/dist/{mindmap-definition-VGOIOE7T-BxQi78Vl.js → mindmap-definition-VGOIOE7T-BkJfqjP5.js} +14 -14
- package/dist/mirc-C2209Et3.js +4 -0
- package/dist/mllike-BLT4EygN.js +6 -0
- package/dist/modelica-DdJRZ_hL.js +4 -0
- package/dist/mscgen-CG9noCbk.js +6 -0
- package/dist/mumps-V-rMtaoS.js +4 -0
- package/dist/{now-BC2mX0ZT.js → now-CnuN5fN5.js} +1 -1
- package/dist/nsis-BaCxxbYc.js +4 -0
- package/dist/{nsis-BrAITej_.js → nsis-CROWDZ9a.js} +1 -1
- package/dist/ntriples-2dOF8Rwr.js +4 -0
- package/dist/{number-overlay-editor-CQrncFlP.js → number-overlay-editor-B5y1rc-k.js} +1 -1
- package/dist/octave-DgJBCpUf.js +4 -0
- package/dist/{once-BqS42WgZ.js → once-DjP4Kbhy.js} +1 -1
- package/dist/{ordinal-Dcvf4J1m.js → ordinal-Bz8O-XbW.js} +1 -1
- package/dist/oz-B4DqLn0e.js +4 -0
- package/dist/{packet-DYOGHKS2-C62XQjZh.js → packet-DYOGHKS2-BWNLyWLh.js} +3 -3
- package/dist/pascal-CzxJky4Q.js +4 -0
- package/dist/perl-BXxwSvR1.js +4 -0
- package/dist/{pie-VRWISCQL-nfAKQJw3.js → pie-VRWISCQL-BNm0ZeOM.js} +3 -3
- package/dist/{pieDiagram-ADFJNKIX-DfSJXUHa.js → pieDiagram-ADFJNKIX-CLJoguev.js} +22 -22
- package/dist/pig-C6uUbdgq.js +4 -0
- package/dist/powershell-ByH1IK0s.js +4 -0
- package/dist/{precisionRound-BAc-kQ3q.js → precisionRound-C-DW449D.js} +1 -1
- package/dist/process-output-BzDV74px.js +28595 -0
- package/dist/properties-D9ixNGHK.js +4 -0
- package/dist/protobuf-CL5MO5Bo.js +4 -0
- package/dist/{pug-CH-17az-.js → pug-CSWat1rd.js} +1 -1
- package/dist/pug-j1GtIGnO.js +4 -0
- package/dist/puppet-DAaSZQRF.js +4 -0
- package/dist/python-DWLse_Hh.js +4 -0
- package/dist/q-JRlUfaV4.js +4 -0
- package/dist/{quadrantDiagram-AYHSOK5B-CAcVWXc-.js → quadrantDiagram-AYHSOK5B-Bym-JxLx.js} +5 -5
- package/dist/r-J8uFHie7.js +4 -0
- package/dist/{radar-ZZBFDIW7-lopS8_4j.js → radar-ZZBFDIW7-CEhz-hUS.js} +3 -3
- package/dist/{range-BKaWvVUE.js → range-DffmqG6L.js} +4 -3
- package/dist/react-vega-CY82WAG3.js +9 -0
- package/dist/{react-vega-C6kwcd86.js → react-vega-DZOOS-W4.js} +19 -19
- package/dist/{reduce-CqQo8ppc.js → reduce-CGwzfrDo.js} +5 -5
- package/dist/{requirementDiagram-UZGBJVZJ-BU7dwzFM.js → requirementDiagram-UZGBJVZJ-CD_V4itb.js} +14 -14
- package/dist/rpm-C85hbO48.js +5 -0
- package/dist/ruby-D9HeYYQS.js +4 -0
- package/dist/{sankeyDiagram-TZEHDZUN-BVJnR4_b.js → sankeyDiagram-TZEHDZUN-CW3Bo_62.js} +5 -5
- package/dist/sas-D4mSim4H.js +4 -0
- package/dist/scheme-DNmM-DGy.js +4 -0
- package/dist/{sequenceDiagram-WL72ISMW-CQcFQTwX.js → sequenceDiagram-WL72ISMW-BfAHIhk3.js} +8 -8
- package/dist/shell-BS8ZwLUy.js +4 -0
- package/dist/sieve-B8TCe-_m.js +4 -0
- package/dist/{slides-component-GkilRW21.js → slides-component-oCf7w4PF.js} +3 -3
- package/dist/smalltalk-CkAXTqlf.js +4 -0
- package/dist/sparql-Bt75sj2n.js +4 -0
- package/dist/{spec-oVDndBz4.js → spec-UGFYIDJb.js} +12 -431
- package/dist/{src-CHUphWwL.js → src-Bf2iLOlr.js} +1 -1
- package/dist/{stateDiagram-FKZM4ZOC-Dx9AIGDe.js → stateDiagram-FKZM4ZOC-CCfvnS3_.js} +19 -19
- package/dist/stateDiagram-v2-4FDKWEC3-Dd_xAZiD.js +29 -0
- package/dist/{step-BbmiiQdf.js → step-CWipAYTY.js} +1 -1
- package/dist/stex-BvZqVamL.js +4 -0
- package/dist/style.css +1 -1
- package/dist/stylus-BM4XGc6j.js +4 -0
- package/dist/swift-BRG-gyk5.js +4 -0
- package/dist/tcl-Bp61skpb.js +4 -0
- package/dist/textile-vndc5V2p.js +4 -0
- package/dist/{time-DFFVNc1Q.js → time-B31vFOEZ.js} +4 -4
- package/dist/{timeline-definition-IT6M3QCI-D8B3p7ID.js → timeline-definition-IT6M3QCI-BwyDPLz1.js} +4 -4
- package/dist/toDate-COI3hP-5.js +637 -0
- package/dist/toInteger-BUeg_O0F.js +15 -0
- package/dist/{toNumber-CbZ70FdN.js → toNumber-xFPoy1OI.js} +2 -2
- package/dist/{toString-DbIAWQpF.js → toString-CtXX84W6.js} +2 -2
- package/dist/toml-CMpRzNl5.js +4 -0
- package/dist/{tooltip-CKG75XQa.js → tooltip-DnI4CwIS.js} +4 -4
- package/dist/{treemap-GDKQZRPO-CkR-5ai2.js → treemap-GDKQZRPO-BdsKcX7e.js} +3 -3
- package/dist/troff-BNSfnnQn.js +4 -0
- package/dist/ttcn-CILP7Q2P.js +4 -0
- package/dist/ttcn-cfg-Cs5Ekdhk.js +4 -0
- package/dist/turtle-1zFjsw2L.js +4 -0
- package/dist/types-BqLAaq-i.js +209 -0
- package/dist/{uniq-H2E5nMLq.js → uniq-CCKqEs7T.js} +1 -1
- package/dist/{useAsyncData-CEjJxwFB.js → useAsyncData-BtHYXgXF.js} +2 -2
- package/dist/useDeepCompareMemoize-9dXEtK7u.js +124 -0
- package/dist/useIframeCapabilities-CzVvBDe8.js +13 -0
- package/dist/useLifecycle-Be1LUuEg.js +427 -0
- package/dist/{useTheme-CPybHVFN.js → useTheme-5GTtjXjy.js} +4 -4
- package/dist/vb-CCqDJO0q.js +4 -0
- package/dist/vbscript-CtqCxNqL.js +4 -0
- package/dist/{vega-component-CuPTCRp5.js → vega-component-DX1QtRQE.js} +198 -197
- package/dist/{vega-loader.browser-CQ-lnUkI.js → vega-loader.browser-DnqN5nbz.js} +3 -3
- package/dist/velocity-BRacwoCp.js +4 -0
- package/dist/verilog-CdotQ5hS.js +4 -0
- package/dist/vhdl-CRMFlLc_.js +4 -0
- package/dist/webidl-Bo-4Hfyi.js +4 -0
- package/dist/xquery-CgMQN-7i.js +4 -0
- package/dist/{xychartDiagram-PRI3JC2R-XO8FiQjU.js → xychartDiagram-PRI3JC2R-D-Of-r2y.js} +13 -13
- package/dist/yacas-6ORYe5fj.js +4 -0
- package/dist/z80-tFLqkB9-.js +4 -0
- package/package.json +1 -1
- package/src/components/app-config/__tests__/get-dirty-values.test.ts +1 -1
- package/src/components/app-config/get-dirty-values.ts +100 -0
- package/src/components/app-config/user-config-form.tsx +1 -97
- package/src/components/editor/package-alert.tsx +1 -1
- package/src/plugins/impl/chat/ChatPlugin.tsx +6 -3
- package/dist/_basePickBy-pTDW2_2A.js +0 -47
- package/dist/apl-lHFVoxx7.js +0 -4
- package/dist/architecture-7HQA4BMR-BmtmhGMc.js +0 -6
- package/dist/asciiarmor-DqCdZUHI.js +0 -4
- package/dist/asn1-DEcwtw-q.js +0 -4
- package/dist/brainfuck-Bro9Oz5x.js +0 -4
- package/dist/classDiagram-2ON5EDUG-DphiMW3Y.js +0 -30
- package/dist/classDiagram-v2-WZHVMYZB-BH1x5h4a.js +0 -30
- package/dist/clojure-B2uhdQPa.js +0 -4
- package/dist/cmake-B9WXyQcc.js +0 -4
- package/dist/cobol-CPD3EJfO.js +0 -4
- package/dist/coffeescript-KD9TnEnS.js +0 -4
- package/dist/commonlisp-DNEULz_Q.js +0 -4
- package/dist/crystal-DVPNgAPQ.js +0 -4
- package/dist/css-fq3a1AH1.js +0 -4
- package/dist/cypher-Dtzq0BP7.js +0 -4
- package/dist/d-DcZudIhJ.js +0 -4
- package/dist/diff-D9BPDC3o.js +0 -4
- package/dist/dist-B4MxkKHf.js +0 -8
- package/dist/dist-BYghZv6b.js +0 -5
- package/dist/dist-Be-uQhz5.js +0 -6
- package/dist/dist-CB_xf0ju.js +0 -5
- package/dist/dist-CK0qFAbF.js +0 -8
- package/dist/dist-CYEk-qrr.js +0 -8
- package/dist/dist-CmKoWpMk.js +0 -5
- package/dist/dist-D1nf4IQl.js +0 -5
- package/dist/dist-Df3AcKpt.js +0 -6
- package/dist/dist-DgaFHt_I.js +0 -5
- package/dist/dist-Dk10C3ui.js +0 -5
- package/dist/dist-DtyPVMHR.js +0 -5
- package/dist/dist-ko7WnHAO.js +0 -5
- package/dist/dist-of7gLRFK.js +0 -8
- package/dist/dtd-FhG-tVom.js +0 -4
- package/dist/dylan-HWpZOBPw.js +0 -4
- package/dist/ecl-B_rcje1I.js +0 -4
- package/dist/eiffel-oqHyHs6f.js +0 -4
- package/dist/elm-B62RQEds.js +0 -4
- package/dist/erlang-CjRjjA-B.js +0 -4
- package/dist/esm-No_6eSQS.js +0 -4387
- package/dist/factor-CGH_TnIV.js +0 -4
- package/dist/forth-5N06oHNp.js +0 -4
- package/dist/fortran-wZ-sNg3h.js +0 -4
- package/dist/gas-3H4_FaS8.js +0 -4
- package/dist/gherkin-PEA2uy50.js +0 -4
- package/dist/groovy-DZzbvCP1.js +0 -4
- package/dist/haskell-CExLTzho.js +0 -4
- package/dist/haxe-f3pVb8qU.js +0 -5
- package/dist/idl-BbWlJ0gk.js +0 -4
- package/dist/infoDiagram-HS3SLOUP-BXGbfBss.js +0 -30
- package/dist/javascript-eMOhp6Aq.js +0 -4
- package/dist/julia-C6w3Rvqb.js +0 -4
- package/dist/livescript-ChQl9lD-.js +0 -4
- package/dist/lua-CiDvI96j.js +0 -4
- package/dist/mathematica-ClVO4k7N.js +0 -4
- package/dist/mbox-BEI7DeUg.js +0 -4
- package/dist/mermaid-4DMBBIKO-PVrJfEpX.js +0 -6
- package/dist/mirc-DwidJ3iH.js +0 -4
- package/dist/mllike-Dspdy0xJ.js +0 -6
- package/dist/modelica-CIUejP-L.js +0 -4
- package/dist/mscgen-BWXU4Omp.js +0 -6
- package/dist/mumps-PHFFoPk5.js +0 -4
- package/dist/nsis-B7xooKLf.js +0 -4
- package/dist/ntriples-DnOgtCzG.js +0 -4
- package/dist/octave-Cn5kH_QT.js +0 -4
- package/dist/oz-DR-sROpu.js +0 -4
- package/dist/pascal-CPKK1zcS.js +0 -4
- package/dist/perl-D7FuFdyd.js +0 -4
- package/dist/pig-CEXnOAnI.js +0 -4
- package/dist/powershell-BKvWab7q.js +0 -4
- package/dist/properties-7jnK_vYx.js +0 -4
- package/dist/protobuf-4rslMjEN.js +0 -4
- package/dist/pug-BVwdEv4r.js +0 -4
- package/dist/puppet-iSHg_1Z2.js +0 -4
- package/dist/python-tK3wUCn0.js +0 -4
- package/dist/q-DP_Dcoox.js +0 -4
- package/dist/r-C32wHLYu.js +0 -4
- package/dist/react-vega-CFUuchds.js +0 -9
- package/dist/rpm-BbDBUfs9.js +0 -5
- package/dist/ruby-COfWUiIr.js +0 -4
- package/dist/sas-y_Hue2-X.js +0 -4
- package/dist/scheme-7jTCqHw8.js +0 -4
- package/dist/shell-DAqJWXDk.js +0 -4
- package/dist/sieve-EaqnbCO3.js +0 -4
- package/dist/smalltalk-DL03YKLJ.js +0 -4
- package/dist/sparql-DTA-tQ_q.js +0 -4
- package/dist/stateDiagram-v2-4FDKWEC3-BIeUs-Ed.js +0 -29
- package/dist/stex-KfRnSHzF.js +0 -4
- package/dist/stylus-CfjeFry_.js +0 -4
- package/dist/swift-Dl0RRDbH.js +0 -4
- package/dist/tcl-wv9O7fLZ.js +0 -4
- package/dist/textile-DzMRCBcV.js +0 -4
- package/dist/toml-CyIWqgbe.js +0 -4
- package/dist/troff-_huin_CY.js +0 -4
- package/dist/ttcn-BEiJuYYc.js +0 -4
- package/dist/ttcn-cfg-DB6Ksh67.js +0 -4
- package/dist/turtle-DzhzGEum.js +0 -4
- package/dist/useDeepCompareMemoize-BWUwfh37.js +0 -755
- package/dist/useIframeCapabilities-OQaMKgZl.js +0 -46
- package/dist/vb-CngKZQHu.js +0 -4
- package/dist/vbscript-BV_8nbeM.js +0 -4
- package/dist/velocity-IqE7qYKE.js +0 -4
- package/dist/verilog-xtyaWTnc.js +0 -4
- package/dist/vhdl-BaqXCtf3.js +0 -4
- package/dist/webidl-BDB8PTTO.js +0 -4
- package/dist/xquery-BIC-qj9Z.js +0 -4
- package/dist/yacas-ifv5tftd.js +0 -4
- package/dist/z80-B8zOMVNt.js +0 -4
- /package/dist/{_arrayReduce-BfFy684W.js → _arrayReduce-6BJAuN54.js} +0 -0
- /package/dist/{_baseSlice-BrVixxuc.js → _baseSlice-bwIVgwNq.js} +0 -0
- /package/dist/{_hasUnicode-C32WqUu7.js → _hasUnicode-DOFcQHhs.js} +0 -0
- /package/dist/{apl-DRxKiEot.js → apl-hy2nkDJ0.js} +0 -0
- /package/dist/{array-D-nrDupM.js → array-tvvEqPy7.js} +0 -0
- /package/dist/{asciiarmor-C8HoXFIm.js → asciiarmor-Bp85a1XA.js} +0 -0
- /package/dist/{asn1-9Bo0DYT-.js → asn1-CCINh2Tb.js} +0 -0
- /package/dist/{asterisk-BsiuGzWq.js → asterisk-DaVJJDnV.js} +0 -0
- /package/dist/{brainfuck-Db8njC-p.js → brainfuck-CWERNqpi.js} +0 -0
- /package/dist/{chunk-DR5Q36YT-D4q96vNV.js → chunk-DR5Q36YT-BflwErH1.js} +0 -0
- /package/dist/{click-outside-container-CKfwEZqH.js → click-outside-container-D6Q_AEkf.js} +0 -0
- /package/dist/{clike-CFhUNtI5.js → clike-BclwMGdw.js} +0 -0
- /package/dist/{clojure-CX7oovsp.js → clojure-ygiDe_M6.js} +0 -0
- /package/dist/{clsx-D2KVTYnW.js → clsx-yW_RAw0K.js} +0 -0
- /package/dist/{cmake-C29AR2kk.js → cmake-CqV32d9p.js} +0 -0
- /package/dist/{cobol-CNkuRW9i.js → cobol-BC90RNzo.js} +0 -0
- /package/dist/{coffeescript-BJAbfGam.js → coffeescript-XlUo917R.js} +0 -0
- /package/dist/{colors-6nB_pSln.js → colors-CQAOa8cK.js} +0 -0
- /package/dist/{common-keywords-BAkLFdud.js → common-keywords-FBrXPTcz.js} +0 -0
- /package/dist/{commonlisp-BTNhj2l9.js → commonlisp-BlMWxO2z.js} +0 -0
- /package/dist/{crystal-CZc0nIm9.js → crystal-BJriHwL7.js} +0 -0
- /package/dist/{css-L2-0OTXc.js → css-De5CPzak.js} +0 -0
- /package/dist/{cypher-Dnc6MXl0.js → cypher-CF3pgZHB.js} +0 -0
- /package/dist/{cytoscape.esm-BXzSsA6N.js → cytoscape.esm-GAzDZorR.js} +0 -0
- /package/dist/{d-C6X9iIga.js → d-DnmSJuVB.js} +0 -0
- /package/dist/{defaultLocale-CfQ4kBaV.js → defaultLocale-Dr6Bz4JK.js} +0 -0
- /package/dist/{defaultLocale-Bklbu-Tp.js → defaultLocale-I3_GfJ4U.js} +0 -0
- /package/dist/{diff-ZzKinYqY.js → diff-5fTcVlce.js} +0 -0
- /package/dist/{dist-Bymy0kEH.js → dist-BGdYVvOu.js} +0 -0
- /package/dist/{dist-DOoqn-VL.js → dist-C4EV3aDt.js} +0 -0
- /package/dist/{dtd-CytEpkAo.js → dtd-CExSJ830.js} +0 -0
- /package/dist/{duckdb-keywords-C1WxmSfG.js → duckdb-keywords-CvJhR_Yd.js} +0 -0
- /package/dist/{dylan-CZByFBEQ.js → dylan-D45mme_B.js} +0 -0
- /package/dist/{ebnf-BF2FOt-m.js → ebnf-2D4Ctp3y.js} +0 -0
- /package/dist/{ecl-Cp7L1F5B.js → ecl-Dt8H2ySk.js} +0 -0
- /package/dist/{eiffel-C66yjnFL.js → eiffel-BVH48wKK.js} +0 -0
- /package/dist/{elm-DtHo-73e.js → elm-lLkDwz-w.js} +0 -0
- /package/dist/{emotion-is-prop-valid.esm-DtW2o230.js → emotion-is-prop-valid.esm-CflmeIys.js} +0 -0
- /package/dist/{erlang-C_sj44mF.js → erlang-Ct2FydHU.js} +0 -0
- /package/dist/{esm-BWftfC-A.js → esm-CuMA4YP0.js} +0 -0
- /package/dist/{fcl-BhLcvRo_.js → fcl-Ccj8Z5Xd.js} +0 -0
- /package/dist/{forth-CIDHh56T.js → forth-CXoVo3MY.js} +0 -0
- /package/dist/{fortran-BQrDVXRU.js → fortran-CgtioF-z.js} +0 -0
- /package/dist/{gas-D4HQPB0Q.js → gas-DA6wSQkj.js} +0 -0
- /package/dist/{gherkin-UB2gJHdT.js → gherkin-Cn3rybYZ.js} +0 -0
- /package/dist/{groovy-DVz6jkOx.js → groovy-CGOZjiuH.js} +0 -0
- /package/dist/{haskell-CpUdAPCz.js → haskell-BWI76WET.js} +0 -0
- /package/dist/{haxe-DCV5_cqD.js → haxe-CovtkFbk.js} +0 -0
- /package/dist/{http-C_TDb8VX.js → http-_DVAYWoR.js} +0 -0
- /package/dist/{idl-D7WCIgHw.js → idl-SJSctwSZ.js} +0 -0
- /package/dist/{init-Ci8VD8ZH.js → init-uv0kkh4g.js} +0 -0
- /package/dist/{invariant-D9QLJ4SZ.js → invariant-Ctm_8TNZ.js} +0 -0
- /package/dist/{isArrayLikeObject-BrYl-ETg.js → isArrayLikeObject-C-hFPChh.js} +0 -0
- /package/dist/{javascript-B2Rn0Lmd.js → javascript-BzIdRGKh.js} +0 -0
- /package/dist/{jsx-runtime-CTBg5pdT.js → jsx-runtime-9hcJiI23.js} +0 -0
- /package/dist/{julia-ApprtEaw.js → julia-B3EQ2bxh.js} +0 -0
- /package/dist/{katex-Bk_FvVSR.js → katex-CywHdYBC.js} +0 -0
- /package/dist/{livescript-BMLIlM7C.js → livescript-BtVSE9jj.js} +0 -0
- /package/dist/{lua-DdDaW3tC.js → lua-B1Esbvm1.js} +0 -0
- /package/dist/{main-Tj_-QTyF.js → main-sxFlUO_N.js} +0 -0
- /package/dist/{math-HUZifhTs.js → math-DFcdCCU8.js} +0 -0
- /package/dist/{mathematica-PnNN7c2Z.js → mathematica-BLPJnY-e.js} +0 -0
- /package/dist/{mbox-B84OtHBK.js → mbox-C86ZBpjz.js} +0 -0
- /package/dist/{mirc-BVWXJxIq.js → mirc-Cqv8ECOt.js} +0 -0
- /package/dist/{mllike-BawXWupH.js → mllike-BCn8p2Mf.js} +0 -0
- /package/dist/{modelica-C8-X4Hf_.js → modelica-eD-847KF.js} +0 -0
- /package/dist/{mscgen-BOM6dDj8.js → mscgen-BtzXm_zS.js} +0 -0
- /package/dist/{mumps-DQOY8n05.js → mumps-BUx23-bh.js} +0 -0
- /package/dist/{nginx-DkMgA__9.js → nginx-DasThI7R.js} +0 -0
- /package/dist/{node-sql-parser-D53LM_7b.js → node-sql-parser-CHcmQ9Ms.js} +0 -0
- /package/dist/{ntriples-DU8VrXdW.js → ntriples-naSVo-bH.js} +0 -0
- /package/dist/{octave-BzTIBsQ8.js → octave-B-zftwnK.js} +0 -0
- /package/dist/{oz-DKFcZsoi.js → oz-OUZbVKrv.js} +0 -0
- /package/dist/{pascal-DHBZ15pT.js → pascal-C-c-17Ts.js} +0 -0
- /package/dist/{path-BVI7RNUv.js → path-BGaWgPKg.js} +0 -0
- /package/dist/{perl-75NMI3w0.js → perl-BBIS1zw3.js} +0 -0
- /package/dist/{pig-B-HY1fo_.js → pig-B10mtuLC.js} +0 -0
- /package/dist/{powershell-DEH22U53.js → powershell-SyaENm-A.js} +0 -0
- /package/dist/{properties-B1MzBoJC.js → properties-BiiMVvre.js} +0 -0
- /package/dist/{protobuf-Dr14KV0p.js → protobuf-Cj2_antD.js} +0 -0
- /package/dist/{puppet-C4z38l7v.js → puppet-ZeJ9I40T.js} +0 -0
- /package/dist/{purify.es-DGenX2XH.js → purify.es-Co_dANLh.js} +0 -0
- /package/dist/{python-D2L7Nknt.js → python-mR64qk6D.js} +0 -0
- /package/dist/{q-PxipHfgS.js → q-C_IMU433.js} +0 -0
- /package/dist/{r-CEMMu_Tf.js → r-BKx4ZcIe.js} +0 -0
- /package/dist/{range-BToS7LsA.js → range-Bn3no95s.js} +0 -0
- /package/dist/{react-dom-CqtLRVZP.js → react-dom-BKwCWYPW.js} +0 -0
- /package/dist/{rpm-D3xyahkR.js → rpm-Dc3zEGCn.js} +0 -0
- /package/dist/{ruby-DwEkwdiu.js → ruby-eSClttk1.js} +0 -0
- /package/dist/{sas-L1W0BRft.js → sas-7VEmwDJB.js} +0 -0
- /package/dist/{scheme-CTybTrX0.js → scheme-CpP6oEOD.js} +0 -0
- /package/dist/{shell-BSx3LZnu.js → shell-CfNoZJks.js} +0 -0
- /package/dist/{sieve-BjUfbv-6.js → sieve-dzMMB941.js} +0 -0
- /package/dist/{simple-mode-IPZGFbI6.js → simple-mode-CnNH5BDk.js} +0 -0
- /package/dist/{smalltalk-BlzuYrMv.js → smalltalk-BVDNd2a5.js} +0 -0
- /package/dist/{solr-Cj_9RM4d.js → solr-RZ9uTl59.js} +0 -0
- /package/dist/{sparql-BXKjQ0cK.js → sparql-Br2qWoOi.js} +0 -0
- /package/dist/{spreadsheet-CifI10GO.js → spreadsheet-BNNUNXA2.js} +0 -0
- /package/dist/{sql-B0bFyY1c.js → sql-B4x8IkwU.js} +0 -0
- /package/dist/{stex-BIsgBmK4.js → stex-7yEw16Ww.js} +0 -0
- /package/dist/{stylus-CqrLLVnG.js → stylus-Ca_-WKcu.js} +0 -0
- /package/dist/{swift-DIqvj3_G.js → swift-CiBr8lL9.js} +0 -0
- /package/dist/{tcl-B8bOIGVK.js → tcl-DpMdOyXx.js} +0 -0
- /package/dist/{textile-DZsjavD_.js → textile-Dc0EKY-e.js} +0 -0
- /package/dist/{tiddlywiki-BbGdvEjx.js → tiddlywiki-DI0mF2WJ.js} +0 -0
- /package/dist/{tiki-BYesmRDo.js → tiki-2HU6XLLn.js} +0 -0
- /package/dist/{timer-CPsmIOdm.js → timer-YZl28NYN.js} +0 -0
- /package/dist/{toml-Uc7m08nl.js → toml-Cz56KCq3.js} +0 -0
- /package/dist/{treemap-DMn4tIJ7.js → treemap-D-ka1hvx.js} +0 -0
- /package/dist/{troff-GEl5wcXR.js → troff-QPYfPg8n.js} +0 -0
- /package/dist/{ttcn-pr4FDOLT.js → ttcn-Bd8ZFglh.js} +0 -0
- /package/dist/{ttcn-cfg-dZQ_fWTH.js → ttcn-cfg-BRegYnOz.js} +0 -0
- /package/dist/{turtle-TPRDOknA.js → turtle-BtxTFbJ2.js} +0 -0
- /package/dist/{vb-BJUAeTYr.js → vb-BPcnlamW.js} +0 -0
- /package/dist/{vbscript-CcJ6Z3ic.js → vbscript-RpXS5Rn-.js} +0 -0
- /package/dist/{velocity-pq4ZMzU3.js → velocity-toRwXi-i.js} +0 -0
- /package/dist/{verilog-timMNjHt.js → verilog-B1fdOBGb.js} +0 -0
- /package/dist/{vhdl-DYFbVKNm.js → vhdl-D-vWFb2W.js} +0 -0
- /package/dist/{webidl-pue9oqnb.js → webidl-QJDW0ZyQ.js} +0 -0
- /package/dist/{xquery-DeItGynK.js → xquery-DMMT83Vl.js} +0 -0
- /package/dist/{yacas-By2Qrjba.js → yacas-CvzqlDJ_.js} +0 -0
- /package/dist/{z80-C7iLsyPC.js → z80-DqdgHy0p.js} +0 -0
package/dist/esm-No_6eSQS.js
DELETED
|
@@ -1,4387 +0,0 @@
|
|
|
1
|
-
import { s as __toESM } from "./chunk-BNovOVIE.js";
|
|
2
|
-
import { t as require_react } from "./react-Bs6Z0kvn.js";
|
|
3
|
-
import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
|
|
4
|
-
import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BjkXCUxP.js";
|
|
5
|
-
import { t as Check } from "./check-Diwc5emq.js";
|
|
6
|
-
import { h as Events, y as cn } from "./button-BKkuUpZh.js";
|
|
7
|
-
import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
|
|
8
|
-
import { t as Tooltip } from "./tooltip-CKG75XQa.js";
|
|
9
|
-
import { $ as ViewPlugin, A as indentString, At as Prec, B as tags, Bt as combineConfig, C as foldKeymap, Ct as ChangeSet, D as getIndentation, Dt as EditorState, E as getIndentUnit, Et as EditorSelection, F as syntaxHighlighting, Ft as StateField, H as NodeProp, Ht as findClusterBreak, I as syntaxTree, It as Text, J as parseMixed, Lt as Transaction, Mt as RangeSetBuilder, N as matchBrackets, O as indentNodeProp, Ot as Facet, Pt as StateEffect, R as Tag, Rt as codePointAt, S as foldInside, St as ChangeDesc, Ut as fromCodePoint, Vt as countColumn, X as Direction, Y as Decoration, Z as EditorView, _t as showDialog, a as HighlightStyle, bt as crelt, ct as highlightActiveLineGutter, dt as keymap, et as WidgetType, f as StreamLanguage, ft as lineNumbers, g as defaultHighlightStyle, gt as runScopeHandlers, h as continuedIndent, ht as rectangularSelection, it as getPanel, j as indentUnit, jt as RangeSet, k as indentOnInput, lt as highlightSpecialChars, mt as placeholder, n as ExternalTokenizer, nt as drawSelection, o as IndentContext, p as bracketMatching, pt as logException, r as LRParser, rt as dropCursor, s as LRLanguage, st as highlightActiveLine, t as ContextTracker, tt as crosshairCursor, u as LanguageSupport, ut as hoverTooltip, v as delimitedIndent, vt as showPanel, w as foldNodeProp, wt as CharCategory, x as foldGutter, xt as Annotation, z as styleTags, zt as codePointSize } from "./dist-DOoqn-VL.js";
|
|
10
|
-
import { a as closeBracketsKeymap, c as completionKeymap, f as snippetCompletion, i as closeBrackets, l as ifNotIn, r as autocompletion, s as completeFromList } from "./dist-CSEWGuDq.js";
|
|
11
|
-
import { a as PLSQL, f as sql, l as StandardSQL, t as Cassandra } from "./dist-Bq5eYK43.js";
|
|
12
|
-
import { a as markdown } from "./dist-BGZ7TWS9.js";
|
|
13
|
-
import { n as html, r as htmlCompletionSource } from "./dist-BpMlUdNO.js";
|
|
14
|
-
import { r as cssLanguage, t as css } from "./dist-Ux6dL_VB.js";
|
|
15
|
-
import { c as typescriptLanguage, n as javascript, r as javascriptLanguage, u as parser$1 } from "./dist-D4gcY469.js";
|
|
16
|
-
import { r as python } from "./dist-C4K7pumm.js";
|
|
17
|
-
import { t as stex } from "./stex-BIsgBmK4.js";
|
|
18
|
-
import { t as cpp } from "./dist-lNe4i1Nm.js";
|
|
19
|
-
import { t as go } from "./dist-D5NMgbbv.js";
|
|
20
|
-
import { t as java } from "./dist-B9EjSb9T.js";
|
|
21
|
-
import { n as jinja } from "./dist-CseYuPtL.js";
|
|
22
|
-
import { t as json } from "./dist-gc9KgJuA.js";
|
|
23
|
-
import { t as less } from "./dist-D_-CGmlh.js";
|
|
24
|
-
import { n as liquid } from "./dist-DUretbKK.js";
|
|
25
|
-
import { t as php } from "./dist-DEj2X26M.js";
|
|
26
|
-
import { t as rust } from "./dist-i-ud9aCA.js";
|
|
27
|
-
import { t as sass } from "./dist-CAKwXCWI.js";
|
|
28
|
-
import { t as wast } from "./dist-RNGn_-uD.js";
|
|
29
|
-
import { r as xml } from "./dist-BUrWeMEP.js";
|
|
30
|
-
import { t as yaml } from "./dist-DodLQWPg.js";
|
|
31
|
-
import { t as apl } from "./apl-DRxKiEot.js";
|
|
32
|
-
import { t as asciiArmor } from "./asciiarmor-C8HoXFIm.js";
|
|
33
|
-
import { t as asn1 } from "./asn1-9Bo0DYT-.js";
|
|
34
|
-
import { t as brainfuck } from "./brainfuck-Db8njC-p.js";
|
|
35
|
-
import { t as cobol } from "./cobol-CNkuRW9i.js";
|
|
36
|
-
import { c as squirrel, i as kotlin, n as csharp, o as objectiveCpp, r as dart, s as scala } from "./clike-CFhUNtI5.js";
|
|
37
|
-
import { t as clojure } from "./clojure-CX7oovsp.js";
|
|
38
|
-
import { t as gss } from "./css-L2-0OTXc.js";
|
|
39
|
-
import { t as cmake } from "./cmake-C29AR2kk.js";
|
|
40
|
-
import { t as coffeeScript } from "./coffeescript-BJAbfGam.js";
|
|
41
|
-
import { t as commonLisp } from "./commonlisp-BTNhj2l9.js";
|
|
42
|
-
import { t as cypher } from "./cypher-Dnc6MXl0.js";
|
|
43
|
-
import { t as cython } from "./python-D2L7Nknt.js";
|
|
44
|
-
import { t as crystal } from "./crystal-CZc0nIm9.js";
|
|
45
|
-
import { t as d } from "./d-C6X9iIga.js";
|
|
46
|
-
import { t as diff } from "./diff-ZzKinYqY.js";
|
|
47
|
-
import { t as dtd } from "./dtd-CytEpkAo.js";
|
|
48
|
-
import { t as dylan } from "./dylan-CZByFBEQ.js";
|
|
49
|
-
import { t as ecl } from "./ecl-Cp7L1F5B.js";
|
|
50
|
-
import { t as eiffel } from "./eiffel-C66yjnFL.js";
|
|
51
|
-
import { t as elm } from "./elm-DtHo-73e.js";
|
|
52
|
-
import { t as erlang } from "./erlang-C_sj44mF.js";
|
|
53
|
-
import { t as factor } from "./factor-Png_OsVt.js";
|
|
54
|
-
import { t as forth } from "./forth-CIDHh56T.js";
|
|
55
|
-
import { t as fortran } from "./fortran-BQrDVXRU.js";
|
|
56
|
-
import { n as oCaml, r as sml, t as fSharp } from "./mllike-BawXWupH.js";
|
|
57
|
-
import { t as gas } from "./gas-D4HQPB0Q.js";
|
|
58
|
-
import { t as gherkin } from "./gherkin-UB2gJHdT.js";
|
|
59
|
-
import { t as groovy } from "./groovy-DVz6jkOx.js";
|
|
60
|
-
import { t as haskell } from "./haskell-CpUdAPCz.js";
|
|
61
|
-
import { n as hxml, t as haxe } from "./haxe-DCV5_cqD.js";
|
|
62
|
-
import { t as idl } from "./idl-D7WCIgHw.js";
|
|
63
|
-
import { n as jsonld } from "./javascript-B2Rn0Lmd.js";
|
|
64
|
-
import { t as julia } from "./julia-ApprtEaw.js";
|
|
65
|
-
import { t as liveScript } from "./livescript-BMLIlM7C.js";
|
|
66
|
-
import { t as lua } from "./lua-DdDaW3tC.js";
|
|
67
|
-
import { t as mirc } from "./mirc-BVWXJxIq.js";
|
|
68
|
-
import { t as mathematica } from "./mathematica-PnNN7c2Z.js";
|
|
69
|
-
import { t as modelica } from "./modelica-C8-X4Hf_.js";
|
|
70
|
-
import { t as mumps } from "./mumps-DQOY8n05.js";
|
|
71
|
-
import { t as mbox } from "./mbox-B84OtHBK.js";
|
|
72
|
-
import { t as nsis } from "./nsis-BrAITej_.js";
|
|
73
|
-
import { t as ntriples } from "./ntriples-DU8VrXdW.js";
|
|
74
|
-
import { t as octave } from "./octave-BzTIBsQ8.js";
|
|
75
|
-
import { t as oz } from "./oz-DKFcZsoi.js";
|
|
76
|
-
import { t as pascal } from "./pascal-DHBZ15pT.js";
|
|
77
|
-
import { t as perl } from "./perl-75NMI3w0.js";
|
|
78
|
-
import { t as pig } from "./pig-B-HY1fo_.js";
|
|
79
|
-
import { t as powerShell } from "./powershell-DEH22U53.js";
|
|
80
|
-
import { t as properties } from "./properties-B1MzBoJC.js";
|
|
81
|
-
import { t as protobuf } from "./protobuf-Dr14KV0p.js";
|
|
82
|
-
import { t as pug } from "./pug-CH-17az-.js";
|
|
83
|
-
import { t as puppet } from "./puppet-C4z38l7v.js";
|
|
84
|
-
import { t as q } from "./q-PxipHfgS.js";
|
|
85
|
-
import { t as r } from "./r-CEMMu_Tf.js";
|
|
86
|
-
import { n as rpmSpec } from "./rpm-D3xyahkR.js";
|
|
87
|
-
import { t as ruby } from "./ruby-DwEkwdiu.js";
|
|
88
|
-
import { t as sas } from "./sas-L1W0BRft.js";
|
|
89
|
-
import { t as scheme } from "./scheme-CTybTrX0.js";
|
|
90
|
-
import { t as shell } from "./shell-BSx3LZnu.js";
|
|
91
|
-
import { t as sieve } from "./sieve-BjUfbv-6.js";
|
|
92
|
-
import { t as smalltalk } from "./smalltalk-BlzuYrMv.js";
|
|
93
|
-
import { t as sparql } from "./sparql-BXKjQ0cK.js";
|
|
94
|
-
import { t as stylus } from "./stylus-CqrLLVnG.js";
|
|
95
|
-
import { t as swift } from "./swift-DIqvj3_G.js";
|
|
96
|
-
import { t as verilog } from "./verilog-timMNjHt.js";
|
|
97
|
-
import { t as tcl } from "./tcl-B8bOIGVK.js";
|
|
98
|
-
import { t as textile } from "./textile-DZsjavD_.js";
|
|
99
|
-
import { t as toml } from "./toml-Uc7m08nl.js";
|
|
100
|
-
import { t as troff } from "./troff-GEl5wcXR.js";
|
|
101
|
-
import { t as ttcn } from "./ttcn-pr4FDOLT.js";
|
|
102
|
-
import { t as ttcnCfg } from "./ttcn-cfg-dZQ_fWTH.js";
|
|
103
|
-
import { t as turtle } from "./turtle-TPRDOknA.js";
|
|
104
|
-
import { t as webIDL } from "./webidl-pue9oqnb.js";
|
|
105
|
-
import { t as vb } from "./vb-BJUAeTYr.js";
|
|
106
|
-
import { t as vbScript } from "./vbscript-CcJ6Z3ic.js";
|
|
107
|
-
import { t as velocity } from "./velocity-pq4ZMzU3.js";
|
|
108
|
-
import { t as vhdl } from "./vhdl-DYFbVKNm.js";
|
|
109
|
-
import { t as xQuery } from "./xquery-DeItGynK.js";
|
|
110
|
-
import { t as yacas } from "./yacas-By2Qrjba.js";
|
|
111
|
-
import { t as z80 } from "./z80-C7iLsyPC.js";
|
|
112
|
-
import { n as msgenny, r as xu, t as mscgen } from "./mscgen-BOM6dDj8.js";
|
|
113
|
-
import { t as vue } from "./dist-Cl5iM8xL.js";
|
|
114
|
-
var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1);
|
|
115
|
-
const CopyClipboardIcon = (e6) => {
|
|
116
|
-
let b = (0, import_compiler_runtime.c)(14), { value: x, className: O, buttonClassName: A, tooltip: j, toastTitle: M, ariaLabel: N } = e6, [P, F] = (0, import_react.useState)(false), I;
|
|
117
|
-
b[0] !== M || b[1] !== x ? (I = Events.stopPropagation(async (e7) => {
|
|
118
|
-
await copyToClipboard(typeof x == "function" ? x(e7) : x).then(() => {
|
|
119
|
-
F(true), setTimeout(() => F(false), 2e3), M && toast({ title: M });
|
|
120
|
-
});
|
|
121
|
-
}), b[0] = M, b[1] = x, b[2] = I) : I = b[2];
|
|
122
|
-
let L = I, R = N ?? "Copy to clipboard", z;
|
|
123
|
-
b[3] !== O || b[4] !== P ? (z = P ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: cn(O, "text-(--grass-11)") }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Copy, { className: O }), b[3] = O, b[4] = P, b[5] = z) : z = b[5];
|
|
124
|
-
let B;
|
|
125
|
-
b[6] !== A || b[7] !== L || b[8] !== R || b[9] !== z ? (B = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
126
|
-
type: "button",
|
|
127
|
-
onClick: L,
|
|
128
|
-
"aria-label": R,
|
|
129
|
-
className: A,
|
|
130
|
-
children: z
|
|
131
|
-
}), b[6] = A, b[7] = L, b[8] = R, b[9] = z, b[10] = B) : B = b[10];
|
|
132
|
-
let V = B;
|
|
133
|
-
if (j === false) return V;
|
|
134
|
-
let H = P ? "Copied!" : j ?? "Copy to clipboard", U;
|
|
135
|
-
return b[11] !== V || b[12] !== H ? (U = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
|
|
136
|
-
content: H,
|
|
137
|
-
delayDuration: 400,
|
|
138
|
-
children: V
|
|
139
|
-
}), b[11] = V, b[12] = H, b[13] = U) : U = b[13], U;
|
|
140
|
-
};
|
|
141
|
-
var toggleComment = (e6) => {
|
|
142
|
-
let { state: b } = e6, x = b.doc.lineAt(b.selection.main.from), S = getConfig(e6.state, x.from);
|
|
143
|
-
return S.line ? toggleLineComment(e6) : S.block ? toggleBlockCommentByLine(e6) : false;
|
|
144
|
-
};
|
|
145
|
-
function command(e6, b) {
|
|
146
|
-
return ({ state: x, dispatch: S }) => {
|
|
147
|
-
if (x.readOnly) return false;
|
|
148
|
-
let C = e6(b, x);
|
|
149
|
-
return C ? (S(x.update(C)), true) : false;
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
var toggleLineComment = /* @__PURE__ */ command(changeLineComment, 0), toggleBlockComment = /* @__PURE__ */ command(changeBlockComment, 0), toggleBlockCommentByLine = /* @__PURE__ */ command((e6, b) => changeBlockComment(e6, b, selectedLineRanges(b)), 0);
|
|
153
|
-
function getConfig(e6, b) {
|
|
154
|
-
let x = e6.languageDataAt("commentTokens", b, 1);
|
|
155
|
-
return x.length ? x[0] : {};
|
|
156
|
-
}
|
|
157
|
-
var SearchMargin = 50;
|
|
158
|
-
function findBlockComment(e6, { open: b, close: x }, S, C) {
|
|
159
|
-
let w = e6.sliceDoc(S - SearchMargin, S), T = e6.sliceDoc(C, C + SearchMargin), E = /\s*$/.exec(w)[0].length, D = /^\s*/.exec(T)[0].length, O = w.length - E;
|
|
160
|
-
if (w.slice(O - b.length, O) == b && T.slice(D, D + x.length) == x) return {
|
|
161
|
-
open: {
|
|
162
|
-
pos: S - E,
|
|
163
|
-
margin: E && 1
|
|
164
|
-
},
|
|
165
|
-
close: {
|
|
166
|
-
pos: C + D,
|
|
167
|
-
margin: D && 1
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
let k, A;
|
|
171
|
-
C - S <= 2 * SearchMargin ? k = A = e6.sliceDoc(S, C) : (k = e6.sliceDoc(S, S + SearchMargin), A = e6.sliceDoc(C - SearchMargin, C));
|
|
172
|
-
let j = /^\s*/.exec(k)[0].length, M = /\s*$/.exec(A)[0].length, N = A.length - M - x.length;
|
|
173
|
-
return k.slice(j, j + b.length) == b && A.slice(N, N + x.length) == x ? {
|
|
174
|
-
open: {
|
|
175
|
-
pos: S + j + b.length,
|
|
176
|
-
margin: /\s/.test(k.charAt(j + b.length)) ? 1 : 0
|
|
177
|
-
},
|
|
178
|
-
close: {
|
|
179
|
-
pos: C - M - x.length,
|
|
180
|
-
margin: /\s/.test(A.charAt(N - 1)) ? 1 : 0
|
|
181
|
-
}
|
|
182
|
-
} : null;
|
|
183
|
-
}
|
|
184
|
-
function selectedLineRanges(e6) {
|
|
185
|
-
let b = [];
|
|
186
|
-
for (let x of e6.selection.ranges) {
|
|
187
|
-
let S = e6.doc.lineAt(x.from), C = x.to <= S.to ? S : e6.doc.lineAt(x.to);
|
|
188
|
-
C.from > S.from && C.from == x.to && (C = x.to == S.to + 1 ? S : e6.doc.lineAt(x.to - 1));
|
|
189
|
-
let w = b.length - 1;
|
|
190
|
-
w >= 0 && b[w].to > S.from ? b[w].to = C.to : b.push({
|
|
191
|
-
from: S.from + /^\s*/.exec(S.text)[0].length,
|
|
192
|
-
to: C.to
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
return b;
|
|
196
|
-
}
|
|
197
|
-
function changeBlockComment(e6, b, x = b.selection.ranges) {
|
|
198
|
-
let S = x.map((e7) => getConfig(b, e7.from).block);
|
|
199
|
-
if (!S.every((e7) => e7)) return null;
|
|
200
|
-
let C = x.map((e7, x2) => findBlockComment(b, S[x2], e7.from, e7.to));
|
|
201
|
-
if (e6 != 2 && !C.every((e7) => e7)) return { changes: b.changes(x.map((e7, b2) => C[b2] ? [] : [{
|
|
202
|
-
from: e7.from,
|
|
203
|
-
insert: S[b2].open + " "
|
|
204
|
-
}, {
|
|
205
|
-
from: e7.to,
|
|
206
|
-
insert: " " + S[b2].close
|
|
207
|
-
}])) };
|
|
208
|
-
if (e6 != 1 && C.some((e7) => e7)) {
|
|
209
|
-
let e7 = [];
|
|
210
|
-
for (let b2 = 0, x2; b2 < C.length; b2++) if (x2 = C[b2]) {
|
|
211
|
-
let C2 = S[b2], { open: w, close: T } = x2;
|
|
212
|
-
e7.push({
|
|
213
|
-
from: w.pos - C2.open.length,
|
|
214
|
-
to: w.pos + w.margin
|
|
215
|
-
}, {
|
|
216
|
-
from: T.pos - T.margin,
|
|
217
|
-
to: T.pos + C2.close.length
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
return { changes: e7 };
|
|
221
|
-
}
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
function changeLineComment(e6, b, x = b.selection.ranges) {
|
|
225
|
-
let S = [], C = -1;
|
|
226
|
-
ranges: for (let { from: e7, to: w } of x) {
|
|
227
|
-
let x2 = S.length, T = 1e9, E;
|
|
228
|
-
for (let x3 = e7; x3 <= w; ) {
|
|
229
|
-
let D = b.doc.lineAt(x3);
|
|
230
|
-
if (E == null && (E = getConfig(b, D.from).line, !E)) continue ranges;
|
|
231
|
-
if (D.from > C && (e7 == w || w > D.from)) {
|
|
232
|
-
C = D.from;
|
|
233
|
-
let e8 = /^\s*/.exec(D.text)[0].length, b2 = e8 == D.length, x4 = D.text.slice(e8, e8 + E.length) == E ? e8 : -1;
|
|
234
|
-
e8 < D.text.length && e8 < T && (T = e8), S.push({
|
|
235
|
-
line: D,
|
|
236
|
-
comment: x4,
|
|
237
|
-
token: E,
|
|
238
|
-
indent: e8,
|
|
239
|
-
empty: b2,
|
|
240
|
-
single: false
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
x3 = D.to + 1;
|
|
244
|
-
}
|
|
245
|
-
if (T < 1e9) for (let e8 = x2; e8 < S.length; e8++) S[e8].indent < S[e8].line.text.length && (S[e8].indent = T);
|
|
246
|
-
S.length == x2 + 1 && (S[x2].single = true);
|
|
247
|
-
}
|
|
248
|
-
if (e6 != 2 && S.some((e7) => e7.comment < 0 && (!e7.empty || e7.single))) {
|
|
249
|
-
let e7 = [];
|
|
250
|
-
for (let { line: b2, token: x3, indent: C2, empty: w, single: T } of S) (T || !w) && e7.push({
|
|
251
|
-
from: b2.from + C2,
|
|
252
|
-
insert: x3 + " "
|
|
253
|
-
});
|
|
254
|
-
let x2 = b.changes(e7);
|
|
255
|
-
return {
|
|
256
|
-
changes: x2,
|
|
257
|
-
selection: b.selection.map(x2, 1)
|
|
258
|
-
};
|
|
259
|
-
} else if (e6 != 1 && S.some((e7) => e7.comment >= 0)) {
|
|
260
|
-
let e7 = [];
|
|
261
|
-
for (let { line: b2, comment: x2, token: C2 } of S) if (x2 >= 0) {
|
|
262
|
-
let S2 = b2.from + x2, w = S2 + C2.length;
|
|
263
|
-
b2.text[w - b2.from] == " " && w++, e7.push({
|
|
264
|
-
from: S2,
|
|
265
|
-
to: w
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
return { changes: e7 };
|
|
269
|
-
}
|
|
270
|
-
return null;
|
|
271
|
-
}
|
|
272
|
-
var fromHistory = /* @__PURE__ */ Annotation.define(), isolateHistory = /* @__PURE__ */ Annotation.define(), invertedEffects = /* @__PURE__ */ Facet.define(), historyConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
|
|
273
|
-
return combineConfig(e6, {
|
|
274
|
-
minDepth: 100,
|
|
275
|
-
newGroupDelay: 500,
|
|
276
|
-
joinToEvent: (e7, b) => b
|
|
277
|
-
}, {
|
|
278
|
-
minDepth: Math.max,
|
|
279
|
-
newGroupDelay: Math.min,
|
|
280
|
-
joinToEvent: (e7, b) => (x, S) => e7(x, S) || b(x, S)
|
|
281
|
-
});
|
|
282
|
-
} }), historyField_ = /* @__PURE__ */ StateField.define({
|
|
283
|
-
create() {
|
|
284
|
-
return HistoryState.empty;
|
|
285
|
-
},
|
|
286
|
-
update(e6, b) {
|
|
287
|
-
let x = b.state.facet(historyConfig), S = b.annotation(fromHistory);
|
|
288
|
-
if (S) {
|
|
289
|
-
let C2 = HistEvent.fromTransaction(b, S.selection), w2 = S.side, T2 = w2 == 0 ? e6.undone : e6.done;
|
|
290
|
-
return T2 = C2 ? updateBranch(T2, T2.length, x.minDepth, C2) : addSelection(T2, b.startState.selection), new HistoryState(w2 == 0 ? S.rest : T2, w2 == 0 ? T2 : S.rest);
|
|
291
|
-
}
|
|
292
|
-
let C = b.annotation(isolateHistory);
|
|
293
|
-
if ((C == "full" || C == "before") && (e6 = e6.isolate()), b.annotation(Transaction.addToHistory) === false) return b.changes.empty ? e6 : e6.addMapping(b.changes.desc);
|
|
294
|
-
let w = HistEvent.fromTransaction(b), T = b.annotation(Transaction.time), E = b.annotation(Transaction.userEvent);
|
|
295
|
-
return w ? e6 = e6.addChanges(w, T, E, x, b) : b.selection && (e6 = e6.addSelection(b.startState.selection, T, E, x.newGroupDelay)), (C == "full" || C == "after") && (e6 = e6.isolate()), e6;
|
|
296
|
-
},
|
|
297
|
-
toJSON(e6) {
|
|
298
|
-
return {
|
|
299
|
-
done: e6.done.map((e7) => e7.toJSON()),
|
|
300
|
-
undone: e6.undone.map((e7) => e7.toJSON())
|
|
301
|
-
};
|
|
302
|
-
},
|
|
303
|
-
fromJSON(e6) {
|
|
304
|
-
return new HistoryState(e6.done.map(HistEvent.fromJSON), e6.undone.map(HistEvent.fromJSON));
|
|
305
|
-
}
|
|
306
|
-
});
|
|
307
|
-
function history(e6 = {}) {
|
|
308
|
-
return [
|
|
309
|
-
historyField_,
|
|
310
|
-
historyConfig.of(e6),
|
|
311
|
-
EditorView.domEventHandlers({ beforeinput(e7, b) {
|
|
312
|
-
let x = e7.inputType == "historyUndo" ? undo : e7.inputType == "historyRedo" ? redo : null;
|
|
313
|
-
return x ? (e7.preventDefault(), x(b)) : false;
|
|
314
|
-
} })
|
|
315
|
-
];
|
|
316
|
-
}
|
|
317
|
-
var historyField = historyField_;
|
|
318
|
-
function cmd(e6, b) {
|
|
319
|
-
return function({ state: x, dispatch: S }) {
|
|
320
|
-
if (!b && x.readOnly) return false;
|
|
321
|
-
let C = x.field(historyField_, false);
|
|
322
|
-
if (!C) return false;
|
|
323
|
-
let w = C.pop(e6, x, b);
|
|
324
|
-
return w ? (S(w), true) : false;
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
var undo = /* @__PURE__ */ cmd(0, false), redo = /* @__PURE__ */ cmd(1, false), undoSelection = /* @__PURE__ */ cmd(0, true), redoSelection = /* @__PURE__ */ cmd(1, true), HistEvent = class e {
|
|
328
|
-
constructor(e6, b, x, S, C) {
|
|
329
|
-
this.changes = e6, this.effects = b, this.mapped = x, this.startSelection = S, this.selectionsAfter = C;
|
|
330
|
-
}
|
|
331
|
-
setSelAfter(b) {
|
|
332
|
-
return new e(this.changes, this.effects, this.mapped, this.startSelection, b);
|
|
333
|
-
}
|
|
334
|
-
toJSON() {
|
|
335
|
-
var _a, _b, _c;
|
|
336
|
-
return {
|
|
337
|
-
changes: (_a = this.changes) == null ? void 0 : _a.toJSON(),
|
|
338
|
-
mapped: (_b = this.mapped) == null ? void 0 : _b.toJSON(),
|
|
339
|
-
startSelection: (_c = this.startSelection) == null ? void 0 : _c.toJSON(),
|
|
340
|
-
selectionsAfter: this.selectionsAfter.map((e6) => e6.toJSON())
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
static fromJSON(b) {
|
|
344
|
-
return new e(b.changes && ChangeSet.fromJSON(b.changes), [], b.mapped && ChangeDesc.fromJSON(b.mapped), b.startSelection && EditorSelection.fromJSON(b.startSelection), b.selectionsAfter.map(EditorSelection.fromJSON));
|
|
345
|
-
}
|
|
346
|
-
static fromTransaction(b, x) {
|
|
347
|
-
let S = none;
|
|
348
|
-
for (let e6 of b.startState.facet(invertedEffects)) {
|
|
349
|
-
let x2 = e6(b);
|
|
350
|
-
x2.length && (S = S.concat(x2));
|
|
351
|
-
}
|
|
352
|
-
return !S.length && b.changes.empty ? null : new e(b.changes.invert(b.startState.doc), S, void 0, x || b.startState.selection, none);
|
|
353
|
-
}
|
|
354
|
-
static selection(b) {
|
|
355
|
-
return new e(void 0, none, void 0, void 0, b);
|
|
356
|
-
}
|
|
357
|
-
};
|
|
358
|
-
function updateBranch(e6, b, x, S) {
|
|
359
|
-
let C = b + 1 > x + 20 ? b - x - 1 : 0, w = e6.slice(C, b);
|
|
360
|
-
return w.push(S), w;
|
|
361
|
-
}
|
|
362
|
-
function isAdjacent(e6, b) {
|
|
363
|
-
let x = [], S = false;
|
|
364
|
-
return e6.iterChangedRanges((e7, b2) => x.push(e7, b2)), b.iterChangedRanges((e7, b2, C, w) => {
|
|
365
|
-
for (let e8 = 0; e8 < x.length; ) {
|
|
366
|
-
let b3 = x[e8++], T = x[e8++];
|
|
367
|
-
w >= b3 && C <= T && (S = true);
|
|
368
|
-
}
|
|
369
|
-
}), S;
|
|
370
|
-
}
|
|
371
|
-
function eqSelectionShape(e6, b) {
|
|
372
|
-
return e6.ranges.length == b.ranges.length && e6.ranges.filter((e7, x) => e7.empty != b.ranges[x].empty).length === 0;
|
|
373
|
-
}
|
|
374
|
-
function conc(e6, b) {
|
|
375
|
-
return e6.length ? b.length ? e6.concat(b) : e6 : b;
|
|
376
|
-
}
|
|
377
|
-
var none = [], MaxSelectionsPerEvent = 200;
|
|
378
|
-
function addSelection(e6, b) {
|
|
379
|
-
if (e6.length) {
|
|
380
|
-
let x = e6[e6.length - 1], S = x.selectionsAfter.slice(Math.max(0, x.selectionsAfter.length - MaxSelectionsPerEvent));
|
|
381
|
-
return S.length && S[S.length - 1].eq(b) ? e6 : (S.push(b), updateBranch(e6, e6.length - 1, 1e9, x.setSelAfter(S)));
|
|
382
|
-
} else return [HistEvent.selection([b])];
|
|
383
|
-
}
|
|
384
|
-
function popSelection(e6) {
|
|
385
|
-
let b = e6[e6.length - 1], x = e6.slice();
|
|
386
|
-
return x[e6.length - 1] = b.setSelAfter(b.selectionsAfter.slice(0, b.selectionsAfter.length - 1)), x;
|
|
387
|
-
}
|
|
388
|
-
function addMappingToBranch(e6, b) {
|
|
389
|
-
if (!e6.length) return e6;
|
|
390
|
-
let x = e6.length, S = none;
|
|
391
|
-
for (; x; ) {
|
|
392
|
-
let C = mapEvent(e6[x - 1], b, S);
|
|
393
|
-
if (C.changes && !C.changes.empty || C.effects.length) {
|
|
394
|
-
let b2 = e6.slice(0, x);
|
|
395
|
-
return b2[x - 1] = C, b2;
|
|
396
|
-
} else b = C.mapped, x--, S = C.selectionsAfter;
|
|
397
|
-
}
|
|
398
|
-
return S.length ? [HistEvent.selection(S)] : none;
|
|
399
|
-
}
|
|
400
|
-
function mapEvent(e6, b, x) {
|
|
401
|
-
let S = conc(e6.selectionsAfter.length ? e6.selectionsAfter.map((e7) => e7.map(b)) : none, x);
|
|
402
|
-
if (!e6.changes) return HistEvent.selection(S);
|
|
403
|
-
let C = e6.changes.map(b), w = b.mapDesc(e6.changes, true), T = e6.mapped ? e6.mapped.composeDesc(w) : w;
|
|
404
|
-
return new HistEvent(C, StateEffect.mapEffects(e6.effects, b), T, e6.startSelection.map(w), S);
|
|
405
|
-
}
|
|
406
|
-
var joinableUserEvent = /^(input\.type|delete)($|\.)/, HistoryState = class e2 {
|
|
407
|
-
constructor(e6, b, x = 0, S = void 0) {
|
|
408
|
-
this.done = e6, this.undone = b, this.prevTime = x, this.prevUserEvent = S;
|
|
409
|
-
}
|
|
410
|
-
isolate() {
|
|
411
|
-
return this.prevTime ? new e2(this.done, this.undone) : this;
|
|
412
|
-
}
|
|
413
|
-
addChanges(b, x, S, C, w) {
|
|
414
|
-
let T = this.done, E = T[T.length - 1];
|
|
415
|
-
return T = E && E.changes && !E.changes.empty && b.changes && (!S || joinableUserEvent.test(S)) && (!E.selectionsAfter.length && x - this.prevTime < C.newGroupDelay && C.joinToEvent(w, isAdjacent(E.changes, b.changes)) || S == "input.type.compose") ? updateBranch(T, T.length - 1, C.minDepth, new HistEvent(b.changes.compose(E.changes), conc(StateEffect.mapEffects(b.effects, E.changes), E.effects), E.mapped, E.startSelection, none)) : updateBranch(T, T.length, C.minDepth, b), new e2(T, none, x, S);
|
|
416
|
-
}
|
|
417
|
-
addSelection(b, x, S, C) {
|
|
418
|
-
let w = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;
|
|
419
|
-
return w.length > 0 && x - this.prevTime < C && S == this.prevUserEvent && S && /^select($|\.)/.test(S) && eqSelectionShape(w[w.length - 1], b) ? this : new e2(addSelection(this.done, b), this.undone, x, S);
|
|
420
|
-
}
|
|
421
|
-
addMapping(b) {
|
|
422
|
-
return new e2(addMappingToBranch(this.done, b), addMappingToBranch(this.undone, b), this.prevTime, this.prevUserEvent);
|
|
423
|
-
}
|
|
424
|
-
pop(e6, b, x) {
|
|
425
|
-
let S = e6 == 0 ? this.done : this.undone;
|
|
426
|
-
if (S.length == 0) return null;
|
|
427
|
-
let C = S[S.length - 1], w = C.selectionsAfter[0] || (C.startSelection ? C.startSelection.map(C.changes.invertedDesc, 1) : b.selection);
|
|
428
|
-
if (x && C.selectionsAfter.length) return b.update({
|
|
429
|
-
selection: C.selectionsAfter[C.selectionsAfter.length - 1],
|
|
430
|
-
annotations: fromHistory.of({
|
|
431
|
-
side: e6,
|
|
432
|
-
rest: popSelection(S),
|
|
433
|
-
selection: w
|
|
434
|
-
}),
|
|
435
|
-
userEvent: e6 == 0 ? "select.undo" : "select.redo",
|
|
436
|
-
scrollIntoView: true
|
|
437
|
-
});
|
|
438
|
-
if (C.changes) {
|
|
439
|
-
let x2 = S.length == 1 ? none : S.slice(0, S.length - 1);
|
|
440
|
-
return C.mapped && (x2 = addMappingToBranch(x2, C.mapped)), b.update({
|
|
441
|
-
changes: C.changes,
|
|
442
|
-
selection: C.startSelection,
|
|
443
|
-
effects: C.effects,
|
|
444
|
-
annotations: fromHistory.of({
|
|
445
|
-
side: e6,
|
|
446
|
-
rest: x2,
|
|
447
|
-
selection: w
|
|
448
|
-
}),
|
|
449
|
-
filter: false,
|
|
450
|
-
userEvent: e6 == 0 ? "undo" : "redo",
|
|
451
|
-
scrollIntoView: true
|
|
452
|
-
});
|
|
453
|
-
} else return null;
|
|
454
|
-
}
|
|
455
|
-
};
|
|
456
|
-
HistoryState.empty = /* @__PURE__ */ new HistoryState(none, none);
|
|
457
|
-
var historyKeymap = [
|
|
458
|
-
{
|
|
459
|
-
key: "Mod-z",
|
|
460
|
-
run: undo,
|
|
461
|
-
preventDefault: true
|
|
462
|
-
},
|
|
463
|
-
{
|
|
464
|
-
key: "Mod-y",
|
|
465
|
-
mac: "Mod-Shift-z",
|
|
466
|
-
run: redo,
|
|
467
|
-
preventDefault: true
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
linux: "Ctrl-Shift-z",
|
|
471
|
-
run: redo,
|
|
472
|
-
preventDefault: true
|
|
473
|
-
},
|
|
474
|
-
{
|
|
475
|
-
key: "Mod-u",
|
|
476
|
-
run: undoSelection,
|
|
477
|
-
preventDefault: true
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
key: "Alt-u",
|
|
481
|
-
mac: "Mod-Shift-u",
|
|
482
|
-
run: redoSelection,
|
|
483
|
-
preventDefault: true
|
|
484
|
-
}
|
|
485
|
-
];
|
|
486
|
-
function updateSel(e6, b) {
|
|
487
|
-
return EditorSelection.create(e6.ranges.map(b), e6.mainIndex);
|
|
488
|
-
}
|
|
489
|
-
function setSel(e6, b) {
|
|
490
|
-
return e6.update({
|
|
491
|
-
selection: b,
|
|
492
|
-
scrollIntoView: true,
|
|
493
|
-
userEvent: "select"
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
function moveSel({ state: e6, dispatch: b }, x) {
|
|
497
|
-
let S = updateSel(e6.selection, x);
|
|
498
|
-
return S.eq(e6.selection, true) ? false : (b(setSel(e6, S)), true);
|
|
499
|
-
}
|
|
500
|
-
function rangeEnd(e6, b) {
|
|
501
|
-
return EditorSelection.cursor(b ? e6.to : e6.from);
|
|
502
|
-
}
|
|
503
|
-
function cursorByChar(e6, b) {
|
|
504
|
-
return moveSel(e6, (x) => x.empty ? e6.moveByChar(x, b) : rangeEnd(x, b));
|
|
505
|
-
}
|
|
506
|
-
function ltrAtCursor(e6) {
|
|
507
|
-
return e6.textDirectionAt(e6.state.selection.main.head) == Direction.LTR;
|
|
508
|
-
}
|
|
509
|
-
var cursorCharLeft = (e6) => cursorByChar(e6, !ltrAtCursor(e6)), cursorCharRight = (e6) => cursorByChar(e6, ltrAtCursor(e6));
|
|
510
|
-
function cursorByGroup(e6, b) {
|
|
511
|
-
return moveSel(e6, (x) => x.empty ? e6.moveByGroup(x, b) : rangeEnd(x, b));
|
|
512
|
-
}
|
|
513
|
-
var cursorGroupLeft = (e6) => cursorByGroup(e6, !ltrAtCursor(e6)), cursorGroupRight = (e6) => cursorByGroup(e6, ltrAtCursor(e6));
|
|
514
|
-
typeof Intl < "u" && Intl.Segmenter;
|
|
515
|
-
function interestingNode(e6, b, x) {
|
|
516
|
-
if (b.type.prop(x)) return true;
|
|
517
|
-
let S = b.to - b.from;
|
|
518
|
-
return S && (S > 2 || /[^\s,.;:]/.test(e6.sliceDoc(b.from, b.to))) || b.firstChild;
|
|
519
|
-
}
|
|
520
|
-
function moveBySyntax(e6, b, x) {
|
|
521
|
-
let S = syntaxTree(e6).resolveInner(b.head), C = x ? NodeProp.closedBy : NodeProp.openedBy;
|
|
522
|
-
for (let w2 = b.head; ; ) {
|
|
523
|
-
let b2 = x ? S.childAfter(w2) : S.childBefore(w2);
|
|
524
|
-
if (!b2) break;
|
|
525
|
-
interestingNode(e6, b2, C) ? S = b2 : w2 = x ? b2.to : b2.from;
|
|
526
|
-
}
|
|
527
|
-
let w = S.type.prop(C), T, E;
|
|
528
|
-
return E = w && (T = x ? matchBrackets(e6, S.from, 1) : matchBrackets(e6, S.to, -1)) && T.matched ? x ? T.end.to : T.end.from : x ? S.to : S.from, EditorSelection.cursor(E, x ? -1 : 1);
|
|
529
|
-
}
|
|
530
|
-
var cursorSyntaxLeft = (e6) => moveSel(e6, (b) => moveBySyntax(e6.state, b, !ltrAtCursor(e6))), cursorSyntaxRight = (e6) => moveSel(e6, (b) => moveBySyntax(e6.state, b, ltrAtCursor(e6)));
|
|
531
|
-
function cursorByLine(e6, b) {
|
|
532
|
-
return moveSel(e6, (x) => {
|
|
533
|
-
if (!x.empty) return rangeEnd(x, b);
|
|
534
|
-
let S = e6.moveVertically(x, b);
|
|
535
|
-
return S.head == x.head ? e6.moveToLineBoundary(x, b) : S;
|
|
536
|
-
});
|
|
537
|
-
}
|
|
538
|
-
var cursorLineUp = (e6) => cursorByLine(e6, false), cursorLineDown = (e6) => cursorByLine(e6, true);
|
|
539
|
-
function pageInfo(e6) {
|
|
540
|
-
let b = e6.scrollDOM.clientHeight < e6.scrollDOM.scrollHeight - 2, x = 0, S = 0, C;
|
|
541
|
-
if (b) {
|
|
542
|
-
for (let b2 of e6.state.facet(EditorView.scrollMargins)) {
|
|
543
|
-
let C2 = b2(e6);
|
|
544
|
-
(C2 == null ? void 0 : C2.top) && (x = Math.max(C2 == null ? void 0 : C2.top, x)), (C2 == null ? void 0 : C2.bottom) && (S = Math.max(C2 == null ? void 0 : C2.bottom, S));
|
|
545
|
-
}
|
|
546
|
-
C = e6.scrollDOM.clientHeight - x - S;
|
|
547
|
-
} else C = (e6.dom.ownerDocument.defaultView || window).innerHeight;
|
|
548
|
-
return {
|
|
549
|
-
marginTop: x,
|
|
550
|
-
marginBottom: S,
|
|
551
|
-
selfScroll: b,
|
|
552
|
-
height: Math.max(e6.defaultLineHeight, C - 5)
|
|
553
|
-
};
|
|
554
|
-
}
|
|
555
|
-
function cursorByPage(e6, b) {
|
|
556
|
-
let x = pageInfo(e6), { state: S } = e6, C = updateSel(S.selection, (S2) => S2.empty ? e6.moveVertically(S2, b, x.height) : rangeEnd(S2, b));
|
|
557
|
-
if (C.eq(S.selection)) return false;
|
|
558
|
-
let w;
|
|
559
|
-
if (x.selfScroll) {
|
|
560
|
-
let b2 = e6.coordsAtPos(S.selection.main.head), T = e6.scrollDOM.getBoundingClientRect(), E = T.top + x.marginTop, D = T.bottom - x.marginBottom;
|
|
561
|
-
b2 && b2.top > E && b2.bottom < D && (w = EditorView.scrollIntoView(C.main.head, {
|
|
562
|
-
y: "start",
|
|
563
|
-
yMargin: b2.top - E
|
|
564
|
-
}));
|
|
565
|
-
}
|
|
566
|
-
return e6.dispatch(setSel(S, C), { effects: w }), true;
|
|
567
|
-
}
|
|
568
|
-
var cursorPageUp = (e6) => cursorByPage(e6, false), cursorPageDown = (e6) => cursorByPage(e6, true);
|
|
569
|
-
function moveByLineBoundary(e6, b, x) {
|
|
570
|
-
let S = e6.lineBlockAt(b.head), C = e6.moveToLineBoundary(b, x);
|
|
571
|
-
if (C.head == b.head && C.head != (x ? S.to : S.from) && (C = e6.moveToLineBoundary(b, x, false)), !x && C.head == S.from && S.length) {
|
|
572
|
-
let x2 = /^\s*/.exec(e6.state.sliceDoc(S.from, Math.min(S.from + 100, S.to)))[0].length;
|
|
573
|
-
x2 && b.head != S.from + x2 && (C = EditorSelection.cursor(S.from + x2));
|
|
574
|
-
}
|
|
575
|
-
return C;
|
|
576
|
-
}
|
|
577
|
-
var cursorLineBoundaryForward = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, true)), cursorLineBoundaryBackward = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, false)), cursorLineBoundaryLeft = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, !ltrAtCursor(e6))), cursorLineBoundaryRight = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, ltrAtCursor(e6))), cursorLineStart = (e6) => moveSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).from, 1)), cursorLineEnd = (e6) => moveSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).to, -1));
|
|
578
|
-
function toMatchingBracket(e6, b, x) {
|
|
579
|
-
let S = false, C = updateSel(e6.selection, (b2) => {
|
|
580
|
-
let C2 = matchBrackets(e6, b2.head, -1) || matchBrackets(e6, b2.head, 1) || b2.head > 0 && matchBrackets(e6, b2.head - 1, 1) || b2.head < e6.doc.length && matchBrackets(e6, b2.head + 1, -1);
|
|
581
|
-
if (!C2 || !C2.end) return b2;
|
|
582
|
-
S = true;
|
|
583
|
-
let w = C2.start.from == b2.head ? C2.end.to : C2.end.from;
|
|
584
|
-
return x ? EditorSelection.range(b2.anchor, w) : EditorSelection.cursor(w);
|
|
585
|
-
});
|
|
586
|
-
return S ? (b(setSel(e6, C)), true) : false;
|
|
587
|
-
}
|
|
588
|
-
var cursorMatchingBracket = ({ state: e6, dispatch: b }) => toMatchingBracket(e6, b, false);
|
|
589
|
-
function extendSel(e6, b) {
|
|
590
|
-
let x = updateSel(e6.state.selection, (e7) => {
|
|
591
|
-
let x2 = b(e7);
|
|
592
|
-
return EditorSelection.range(e7.anchor, x2.head, x2.goalColumn, x2.bidiLevel || void 0);
|
|
593
|
-
});
|
|
594
|
-
return x.eq(e6.state.selection) ? false : (e6.dispatch(setSel(e6.state, x)), true);
|
|
595
|
-
}
|
|
596
|
-
function selectByChar(e6, b) {
|
|
597
|
-
return extendSel(e6, (x) => e6.moveByChar(x, b));
|
|
598
|
-
}
|
|
599
|
-
var selectCharLeft = (e6) => selectByChar(e6, !ltrAtCursor(e6)), selectCharRight = (e6) => selectByChar(e6, ltrAtCursor(e6));
|
|
600
|
-
function selectByGroup(e6, b) {
|
|
601
|
-
return extendSel(e6, (x) => e6.moveByGroup(x, b));
|
|
602
|
-
}
|
|
603
|
-
var selectGroupLeft = (e6) => selectByGroup(e6, !ltrAtCursor(e6)), selectGroupRight = (e6) => selectByGroup(e6, ltrAtCursor(e6)), selectSyntaxLeft = (e6) => extendSel(e6, (b) => moveBySyntax(e6.state, b, !ltrAtCursor(e6))), selectSyntaxRight = (e6) => extendSel(e6, (b) => moveBySyntax(e6.state, b, ltrAtCursor(e6)));
|
|
604
|
-
function selectByLine(e6, b) {
|
|
605
|
-
return extendSel(e6, (x) => e6.moveVertically(x, b));
|
|
606
|
-
}
|
|
607
|
-
var selectLineUp = (e6) => selectByLine(e6, false), selectLineDown = (e6) => selectByLine(e6, true);
|
|
608
|
-
function selectByPage(e6, b) {
|
|
609
|
-
return extendSel(e6, (x) => e6.moveVertically(x, b, pageInfo(e6).height));
|
|
610
|
-
}
|
|
611
|
-
var selectPageUp = (e6) => selectByPage(e6, false), selectPageDown = (e6) => selectByPage(e6, true), selectLineBoundaryForward = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, true)), selectLineBoundaryBackward = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, false)), selectLineBoundaryLeft = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, !ltrAtCursor(e6))), selectLineBoundaryRight = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, ltrAtCursor(e6))), selectLineStart = (e6) => extendSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).from)), selectLineEnd = (e6) => extendSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).to)), cursorDocStart = ({ state: e6, dispatch: b }) => (b(setSel(e6, { anchor: 0 })), true), cursorDocEnd = ({ state: e6, dispatch: b }) => (b(setSel(e6, { anchor: e6.doc.length })), true), selectDocStart = ({ state: e6, dispatch: b }) => (b(setSel(e6, {
|
|
612
|
-
anchor: e6.selection.main.anchor,
|
|
613
|
-
head: 0
|
|
614
|
-
})), true), selectDocEnd = ({ state: e6, dispatch: b }) => (b(setSel(e6, {
|
|
615
|
-
anchor: e6.selection.main.anchor,
|
|
616
|
-
head: e6.doc.length
|
|
617
|
-
})), true), selectAll = ({ state: e6, dispatch: b }) => (b(e6.update({
|
|
618
|
-
selection: {
|
|
619
|
-
anchor: 0,
|
|
620
|
-
head: e6.doc.length
|
|
621
|
-
},
|
|
622
|
-
userEvent: "select"
|
|
623
|
-
})), true), selectLine = ({ state: e6, dispatch: b }) => {
|
|
624
|
-
let x = selectedLineBlocks(e6).map(({ from: b2, to: x2 }) => EditorSelection.range(b2, Math.min(x2 + 1, e6.doc.length)));
|
|
625
|
-
return b(e6.update({
|
|
626
|
-
selection: EditorSelection.create(x),
|
|
627
|
-
userEvent: "select"
|
|
628
|
-
})), true;
|
|
629
|
-
}, selectParentSyntax = ({ state: e6, dispatch: b }) => {
|
|
630
|
-
let x = updateSel(e6.selection, (b2) => {
|
|
631
|
-
let x2 = syntaxTree(e6), S = x2.resolveStack(b2.from, 1);
|
|
632
|
-
if (b2.empty) {
|
|
633
|
-
let e7 = x2.resolveStack(b2.from, -1);
|
|
634
|
-
e7.node.from >= S.node.from && e7.node.to <= S.node.to && (S = e7);
|
|
635
|
-
}
|
|
636
|
-
for (let e7 = S; e7; e7 = e7.next) {
|
|
637
|
-
let { node: x3 } = e7;
|
|
638
|
-
if ((x3.from < b2.from && x3.to >= b2.to || x3.to > b2.to && x3.from <= b2.from) && e7.next) return EditorSelection.range(x3.to, x3.from);
|
|
639
|
-
}
|
|
640
|
-
return b2;
|
|
641
|
-
});
|
|
642
|
-
return x.eq(e6.selection) ? false : (b(setSel(e6, x)), true);
|
|
643
|
-
};
|
|
644
|
-
function addCursorVertically(e6, b) {
|
|
645
|
-
let { state: x } = e6, S = x.selection, C = x.selection.ranges.slice();
|
|
646
|
-
for (let S2 of x.selection.ranges) {
|
|
647
|
-
let w = x.doc.lineAt(S2.head);
|
|
648
|
-
if (b ? w.to < e6.state.doc.length : w.from > 0) for (let x2 = S2; ; ) {
|
|
649
|
-
let S3 = e6.moveVertically(x2, b);
|
|
650
|
-
if (S3.head < w.from || S3.head > w.to) {
|
|
651
|
-
C.some((e7) => e7.head == S3.head) || C.push(S3);
|
|
652
|
-
break;
|
|
653
|
-
} else if (S3.head == x2.head) break;
|
|
654
|
-
else x2 = S3;
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
return C.length == S.ranges.length ? false : (e6.dispatch(setSel(x, EditorSelection.create(C, C.length - 1))), true);
|
|
658
|
-
}
|
|
659
|
-
var addCursorAbove = (e6) => addCursorVertically(e6, false), addCursorBelow = (e6) => addCursorVertically(e6, true), simplifySelection = ({ state: e6, dispatch: b }) => {
|
|
660
|
-
let x = e6.selection, S = null;
|
|
661
|
-
return x.ranges.length > 1 ? S = EditorSelection.create([x.main]) : x.main.empty || (S = EditorSelection.create([EditorSelection.cursor(x.main.head)])), S ? (b(setSel(e6, S)), true) : false;
|
|
662
|
-
};
|
|
663
|
-
function deleteBy(e6, b) {
|
|
664
|
-
if (e6.state.readOnly) return false;
|
|
665
|
-
let x = "delete.selection", { state: S } = e6, C = S.changeByRange((S2) => {
|
|
666
|
-
let { from: C2, to: w } = S2;
|
|
667
|
-
if (C2 == w) {
|
|
668
|
-
let T = b(S2);
|
|
669
|
-
T < C2 ? (x = "delete.backward", T = skipAtomic(e6, T, false)) : T > C2 && (x = "delete.forward", T = skipAtomic(e6, T, true)), C2 = Math.min(C2, T), w = Math.max(w, T);
|
|
670
|
-
} else C2 = skipAtomic(e6, C2, false), w = skipAtomic(e6, w, true);
|
|
671
|
-
return C2 == w ? { range: S2 } : {
|
|
672
|
-
changes: {
|
|
673
|
-
from: C2,
|
|
674
|
-
to: w
|
|
675
|
-
},
|
|
676
|
-
range: EditorSelection.cursor(C2, C2 < S2.head ? -1 : 1)
|
|
677
|
-
};
|
|
678
|
-
});
|
|
679
|
-
return C.changes.empty ? false : (e6.dispatch(S.update(C, {
|
|
680
|
-
scrollIntoView: true,
|
|
681
|
-
userEvent: x,
|
|
682
|
-
effects: x == "delete.selection" ? EditorView.announce.of(S.phrase("Selection deleted")) : void 0
|
|
683
|
-
})), true);
|
|
684
|
-
}
|
|
685
|
-
function skipAtomic(e6, b, x) {
|
|
686
|
-
if (e6 instanceof EditorView) for (let S of e6.state.facet(EditorView.atomicRanges).map((b2) => b2(e6))) S.between(b, b, (e7, S2) => {
|
|
687
|
-
e7 < b && S2 > b && (b = x ? S2 : e7);
|
|
688
|
-
});
|
|
689
|
-
return b;
|
|
690
|
-
}
|
|
691
|
-
var deleteByChar = (e6, b, x) => deleteBy(e6, (S) => {
|
|
692
|
-
let C = S.from, { state: w } = e6, T = w.doc.lineAt(C), E, D;
|
|
693
|
-
if (x && !b && C > T.from && C < T.from + 200 && !/[^ \t]/.test(E = T.text.slice(0, C - T.from))) {
|
|
694
|
-
if (E[E.length - 1] == " ") return C - 1;
|
|
695
|
-
let e7 = countColumn(E, w.tabSize) % getIndentUnit(w) || getIndentUnit(w);
|
|
696
|
-
for (let b2 = 0; b2 < e7 && E[E.length - 1 - b2] == " "; b2++) C--;
|
|
697
|
-
D = C;
|
|
698
|
-
} else D = findClusterBreak(T.text, C - T.from, b, b) + T.from, D == C && T.number != (b ? w.doc.lines : 1) ? D += b ? 1 : -1 : !b && /[\ufe00-\ufe0f]/.test(T.text.slice(D - T.from, C - T.from)) && (D = findClusterBreak(T.text, D - T.from, false, false) + T.from);
|
|
699
|
-
return D;
|
|
700
|
-
}), deleteCharBackward = (e6) => deleteByChar(e6, false, true), deleteCharForward = (e6) => deleteByChar(e6, true, false), deleteByGroup = (e6, b) => deleteBy(e6, (x) => {
|
|
701
|
-
let S = x.head, { state: C } = e6, w = C.doc.lineAt(S), T = C.charCategorizer(S);
|
|
702
|
-
for (let e7 = null; ; ) {
|
|
703
|
-
if (S == (b ? w.to : w.from)) {
|
|
704
|
-
S == x.head && w.number != (b ? C.doc.lines : 1) && (S += b ? 1 : -1);
|
|
705
|
-
break;
|
|
706
|
-
}
|
|
707
|
-
let E = findClusterBreak(w.text, S - w.from, b) + w.from, D = w.text.slice(Math.min(S, E) - w.from, Math.max(S, E) - w.from), O = T(D);
|
|
708
|
-
if (e7 != null && O != e7) break;
|
|
709
|
-
(D != " " || S != x.head) && (e7 = O), S = E;
|
|
710
|
-
}
|
|
711
|
-
return S;
|
|
712
|
-
}), deleteGroupBackward = (e6) => deleteByGroup(e6, false), deleteGroupForward = (e6) => deleteByGroup(e6, true), deleteToLineEnd = (e6) => deleteBy(e6, (b) => {
|
|
713
|
-
let x = e6.lineBlockAt(b.head).to;
|
|
714
|
-
return b.head < x ? x : Math.min(e6.state.doc.length, b.head + 1);
|
|
715
|
-
}), deleteLineBoundaryBackward = (e6) => deleteBy(e6, (b) => {
|
|
716
|
-
let x = e6.moveToLineBoundary(b, false).head;
|
|
717
|
-
return b.head > x ? x : Math.max(0, b.head - 1);
|
|
718
|
-
}), deleteLineBoundaryForward = (e6) => deleteBy(e6, (b) => {
|
|
719
|
-
let x = e6.moveToLineBoundary(b, true).head;
|
|
720
|
-
return b.head < x ? x : Math.min(e6.state.doc.length, b.head + 1);
|
|
721
|
-
}), splitLine = ({ state: e6, dispatch: b }) => {
|
|
722
|
-
if (e6.readOnly) return false;
|
|
723
|
-
let x = e6.changeByRange((e7) => ({
|
|
724
|
-
changes: {
|
|
725
|
-
from: e7.from,
|
|
726
|
-
to: e7.to,
|
|
727
|
-
insert: Text.of(["", ""])
|
|
728
|
-
},
|
|
729
|
-
range: EditorSelection.cursor(e7.from)
|
|
730
|
-
}));
|
|
731
|
-
return b(e6.update(x, {
|
|
732
|
-
scrollIntoView: true,
|
|
733
|
-
userEvent: "input"
|
|
734
|
-
})), true;
|
|
735
|
-
}, transposeChars = ({ state: e6, dispatch: b }) => {
|
|
736
|
-
if (e6.readOnly) return false;
|
|
737
|
-
let x = e6.changeByRange((b2) => {
|
|
738
|
-
if (!b2.empty || b2.from == 0 || b2.from == e6.doc.length) return { range: b2 };
|
|
739
|
-
let x2 = b2.from, S = e6.doc.lineAt(x2), C = x2 == S.from ? x2 - 1 : findClusterBreak(S.text, x2 - S.from, false) + S.from, w = x2 == S.to ? x2 + 1 : findClusterBreak(S.text, x2 - S.from, true) + S.from;
|
|
740
|
-
return {
|
|
741
|
-
changes: {
|
|
742
|
-
from: C,
|
|
743
|
-
to: w,
|
|
744
|
-
insert: e6.doc.slice(x2, w).append(e6.doc.slice(C, x2))
|
|
745
|
-
},
|
|
746
|
-
range: EditorSelection.cursor(w)
|
|
747
|
-
};
|
|
748
|
-
});
|
|
749
|
-
return x.changes.empty ? false : (b(e6.update(x, {
|
|
750
|
-
scrollIntoView: true,
|
|
751
|
-
userEvent: "move.character"
|
|
752
|
-
})), true);
|
|
753
|
-
};
|
|
754
|
-
function selectedLineBlocks(e6) {
|
|
755
|
-
let b = [], x = -1;
|
|
756
|
-
for (let S of e6.selection.ranges) {
|
|
757
|
-
let C = e6.doc.lineAt(S.from), w = e6.doc.lineAt(S.to);
|
|
758
|
-
if (!S.empty && S.to == w.from && (w = e6.doc.lineAt(S.to - 1)), x >= C.number) {
|
|
759
|
-
let e7 = b[b.length - 1];
|
|
760
|
-
e7.to = w.to, e7.ranges.push(S);
|
|
761
|
-
} else b.push({
|
|
762
|
-
from: C.from,
|
|
763
|
-
to: w.to,
|
|
764
|
-
ranges: [S]
|
|
765
|
-
});
|
|
766
|
-
x = w.number + 1;
|
|
767
|
-
}
|
|
768
|
-
return b;
|
|
769
|
-
}
|
|
770
|
-
function moveLine(e6, b, x) {
|
|
771
|
-
if (e6.readOnly) return false;
|
|
772
|
-
let S = [], C = [];
|
|
773
|
-
for (let b2 of selectedLineBlocks(e6)) {
|
|
774
|
-
if (x ? b2.to == e6.doc.length : b2.from == 0) continue;
|
|
775
|
-
let w = e6.doc.lineAt(x ? b2.to + 1 : b2.from - 1), T = w.length + 1;
|
|
776
|
-
if (x) {
|
|
777
|
-
S.push({
|
|
778
|
-
from: b2.to,
|
|
779
|
-
to: w.to
|
|
780
|
-
}, {
|
|
781
|
-
from: b2.from,
|
|
782
|
-
insert: w.text + e6.lineBreak
|
|
783
|
-
});
|
|
784
|
-
for (let x2 of b2.ranges) C.push(EditorSelection.range(Math.min(e6.doc.length, x2.anchor + T), Math.min(e6.doc.length, x2.head + T)));
|
|
785
|
-
} else {
|
|
786
|
-
S.push({
|
|
787
|
-
from: w.from,
|
|
788
|
-
to: b2.from
|
|
789
|
-
}, {
|
|
790
|
-
from: b2.to,
|
|
791
|
-
insert: e6.lineBreak + w.text
|
|
792
|
-
});
|
|
793
|
-
for (let e7 of b2.ranges) C.push(EditorSelection.range(e7.anchor - T, e7.head - T));
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
return S.length ? (b(e6.update({
|
|
797
|
-
changes: S,
|
|
798
|
-
scrollIntoView: true,
|
|
799
|
-
selection: EditorSelection.create(C, e6.selection.mainIndex),
|
|
800
|
-
userEvent: "move.line"
|
|
801
|
-
})), true) : false;
|
|
802
|
-
}
|
|
803
|
-
var moveLineUp = ({ state: e6, dispatch: b }) => moveLine(e6, b, false), moveLineDown = ({ state: e6, dispatch: b }) => moveLine(e6, b, true);
|
|
804
|
-
function copyLine(e6, b, x) {
|
|
805
|
-
if (e6.readOnly) return false;
|
|
806
|
-
let S = [];
|
|
807
|
-
for (let b2 of selectedLineBlocks(e6)) x ? S.push({
|
|
808
|
-
from: b2.from,
|
|
809
|
-
insert: e6.doc.slice(b2.from, b2.to) + e6.lineBreak
|
|
810
|
-
}) : S.push({
|
|
811
|
-
from: b2.to,
|
|
812
|
-
insert: e6.lineBreak + e6.doc.slice(b2.from, b2.to)
|
|
813
|
-
});
|
|
814
|
-
let C = e6.changes(S);
|
|
815
|
-
return b(e6.update({
|
|
816
|
-
changes: C,
|
|
817
|
-
selection: e6.selection.map(C, x ? 1 : -1),
|
|
818
|
-
scrollIntoView: true,
|
|
819
|
-
userEvent: "input.copyline"
|
|
820
|
-
})), true;
|
|
821
|
-
}
|
|
822
|
-
var copyLineUp = ({ state: e6, dispatch: b }) => copyLine(e6, b, false), copyLineDown = ({ state: e6, dispatch: b }) => copyLine(e6, b, true), deleteLine = (e6) => {
|
|
823
|
-
if (e6.state.readOnly) return false;
|
|
824
|
-
let { state: b } = e6, x = b.changes(selectedLineBlocks(b).map(({ from: e7, to: x2 }) => (e7 > 0 ? e7-- : x2 < b.doc.length && x2++, {
|
|
825
|
-
from: e7,
|
|
826
|
-
to: x2
|
|
827
|
-
}))), S = updateSel(b.selection, (b2) => {
|
|
828
|
-
let x2;
|
|
829
|
-
if (e6.lineWrapping) {
|
|
830
|
-
let S2 = e6.lineBlockAt(b2.head), C = e6.coordsAtPos(b2.head, b2.assoc || 1);
|
|
831
|
-
C && (x2 = S2.bottom + e6.documentTop - C.bottom + e6.defaultLineHeight / 2);
|
|
832
|
-
}
|
|
833
|
-
return e6.moveVertically(b2, true, x2);
|
|
834
|
-
}).map(x);
|
|
835
|
-
return e6.dispatch({
|
|
836
|
-
changes: x,
|
|
837
|
-
selection: S,
|
|
838
|
-
scrollIntoView: true,
|
|
839
|
-
userEvent: "delete.line"
|
|
840
|
-
}), true;
|
|
841
|
-
};
|
|
842
|
-
function isBetweenBrackets(e6, b) {
|
|
843
|
-
if (/\(\)|\[\]|\{\}/.test(e6.sliceDoc(b - 1, b + 1))) return {
|
|
844
|
-
from: b,
|
|
845
|
-
to: b
|
|
846
|
-
};
|
|
847
|
-
let x = syntaxTree(e6).resolveInner(b), S = x.childBefore(b), C = x.childAfter(b), w;
|
|
848
|
-
return S && C && S.to <= b && C.from >= b && (w = S.type.prop(NodeProp.closedBy)) && w.indexOf(C.name) > -1 && e6.doc.lineAt(S.to).from == e6.doc.lineAt(C.from).from && !/\S/.test(e6.sliceDoc(S.to, C.from)) ? {
|
|
849
|
-
from: S.to,
|
|
850
|
-
to: C.from
|
|
851
|
-
} : null;
|
|
852
|
-
}
|
|
853
|
-
var insertNewlineAndIndent = /* @__PURE__ */ newlineAndIndent(false), insertBlankLine = /* @__PURE__ */ newlineAndIndent(true);
|
|
854
|
-
function newlineAndIndent(e6) {
|
|
855
|
-
return ({ state: b, dispatch: x }) => {
|
|
856
|
-
if (b.readOnly) return false;
|
|
857
|
-
let S = b.changeByRange((x2) => {
|
|
858
|
-
let { from: S2, to: C } = x2, w = b.doc.lineAt(S2), T = !e6 && S2 == C && isBetweenBrackets(b, S2);
|
|
859
|
-
e6 && (S2 = C = (C <= w.to ? w : b.doc.lineAt(C)).to);
|
|
860
|
-
let E = new IndentContext(b, {
|
|
861
|
-
simulateBreak: S2,
|
|
862
|
-
simulateDoubleBreak: !!T
|
|
863
|
-
}), D = getIndentation(E, S2);
|
|
864
|
-
for (D ?? (D = countColumn(/^\s*/.exec(b.doc.lineAt(S2).text)[0], b.tabSize)); C < w.to && /\s/.test(w.text[C - w.from]); ) C++;
|
|
865
|
-
T ? { from: S2, to: C } = T : S2 > w.from && S2 < w.from + 100 && !/\S/.test(w.text.slice(0, S2)) && (S2 = w.from);
|
|
866
|
-
let O = ["", indentString(b, D)];
|
|
867
|
-
return T && O.push(indentString(b, E.lineIndent(w.from, -1))), {
|
|
868
|
-
changes: {
|
|
869
|
-
from: S2,
|
|
870
|
-
to: C,
|
|
871
|
-
insert: Text.of(O)
|
|
872
|
-
},
|
|
873
|
-
range: EditorSelection.cursor(S2 + 1 + O[1].length)
|
|
874
|
-
};
|
|
875
|
-
});
|
|
876
|
-
return x(b.update(S, {
|
|
877
|
-
scrollIntoView: true,
|
|
878
|
-
userEvent: "input"
|
|
879
|
-
})), true;
|
|
880
|
-
};
|
|
881
|
-
}
|
|
882
|
-
function changeBySelectedLine(e6, b) {
|
|
883
|
-
let x = -1;
|
|
884
|
-
return e6.changeByRange((S) => {
|
|
885
|
-
let C = [];
|
|
886
|
-
for (let w2 = S.from; w2 <= S.to; ) {
|
|
887
|
-
let T = e6.doc.lineAt(w2);
|
|
888
|
-
T.number > x && (S.empty || S.to > T.from) && (b(T, C, S), x = T.number), w2 = T.to + 1;
|
|
889
|
-
}
|
|
890
|
-
let w = e6.changes(C);
|
|
891
|
-
return {
|
|
892
|
-
changes: C,
|
|
893
|
-
range: EditorSelection.range(w.mapPos(S.anchor, 1), w.mapPos(S.head, 1))
|
|
894
|
-
};
|
|
895
|
-
});
|
|
896
|
-
}
|
|
897
|
-
var indentSelection = ({ state: e6, dispatch: b }) => {
|
|
898
|
-
if (e6.readOnly) return false;
|
|
899
|
-
let x = /* @__PURE__ */ Object.create(null), S = new IndentContext(e6, { overrideIndentation: (e7) => x[e7] ?? -1 }), C = changeBySelectedLine(e6, (b2, C2, w) => {
|
|
900
|
-
let T = getIndentation(S, b2.from);
|
|
901
|
-
if (T == null) return;
|
|
902
|
-
/\S/.test(b2.text) || (T = 0);
|
|
903
|
-
let E = /^\s*/.exec(b2.text)[0], D = indentString(e6, T);
|
|
904
|
-
(E != D || w.from < b2.from + E.length) && (x[b2.from] = T, C2.push({
|
|
905
|
-
from: b2.from,
|
|
906
|
-
to: b2.from + E.length,
|
|
907
|
-
insert: D
|
|
908
|
-
}));
|
|
909
|
-
});
|
|
910
|
-
return C.changes.empty || b(e6.update(C, { userEvent: "indent" })), true;
|
|
911
|
-
}, indentMore = ({ state: e6, dispatch: b }) => e6.readOnly ? false : (b(e6.update(changeBySelectedLine(e6, (b2, x) => {
|
|
912
|
-
x.push({
|
|
913
|
-
from: b2.from,
|
|
914
|
-
insert: e6.facet(indentUnit)
|
|
915
|
-
});
|
|
916
|
-
}), { userEvent: "input.indent" })), true), indentLess = ({ state: e6, dispatch: b }) => e6.readOnly ? false : (b(e6.update(changeBySelectedLine(e6, (b2, x) => {
|
|
917
|
-
let S = /^\s*/.exec(b2.text)[0];
|
|
918
|
-
if (!S) return;
|
|
919
|
-
let C = countColumn(S, e6.tabSize), w = 0, T = indentString(e6, Math.max(0, C - getIndentUnit(e6)));
|
|
920
|
-
for (; w < S.length && w < T.length && S.charCodeAt(w) == T.charCodeAt(w); ) w++;
|
|
921
|
-
x.push({
|
|
922
|
-
from: b2.from + w,
|
|
923
|
-
to: b2.from + S.length,
|
|
924
|
-
insert: T.slice(w)
|
|
925
|
-
});
|
|
926
|
-
}), { userEvent: "delete.dedent" })), true), toggleTabFocusMode = (e6) => (e6.setTabFocusMode(), true), insertTab = ({ state: e6, dispatch: b }) => e6.selection.ranges.some((e7) => !e7.empty) ? indentMore({
|
|
927
|
-
state: e6,
|
|
928
|
-
dispatch: b
|
|
929
|
-
}) : (b(e6.update(e6.replaceSelection(" "), {
|
|
930
|
-
scrollIntoView: true,
|
|
931
|
-
userEvent: "input"
|
|
932
|
-
})), true), emacsStyleKeymap = [
|
|
933
|
-
{
|
|
934
|
-
key: "Ctrl-b",
|
|
935
|
-
run: cursorCharLeft,
|
|
936
|
-
shift: selectCharLeft,
|
|
937
|
-
preventDefault: true
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
key: "Ctrl-f",
|
|
941
|
-
run: cursorCharRight,
|
|
942
|
-
shift: selectCharRight
|
|
943
|
-
},
|
|
944
|
-
{
|
|
945
|
-
key: "Ctrl-p",
|
|
946
|
-
run: cursorLineUp,
|
|
947
|
-
shift: selectLineUp
|
|
948
|
-
},
|
|
949
|
-
{
|
|
950
|
-
key: "Ctrl-n",
|
|
951
|
-
run: cursorLineDown,
|
|
952
|
-
shift: selectLineDown
|
|
953
|
-
},
|
|
954
|
-
{
|
|
955
|
-
key: "Ctrl-a",
|
|
956
|
-
run: cursorLineStart,
|
|
957
|
-
shift: selectLineStart
|
|
958
|
-
},
|
|
959
|
-
{
|
|
960
|
-
key: "Ctrl-e",
|
|
961
|
-
run: cursorLineEnd,
|
|
962
|
-
shift: selectLineEnd
|
|
963
|
-
},
|
|
964
|
-
{
|
|
965
|
-
key: "Ctrl-d",
|
|
966
|
-
run: deleteCharForward
|
|
967
|
-
},
|
|
968
|
-
{
|
|
969
|
-
key: "Ctrl-h",
|
|
970
|
-
run: deleteCharBackward
|
|
971
|
-
},
|
|
972
|
-
{
|
|
973
|
-
key: "Ctrl-k",
|
|
974
|
-
run: deleteToLineEnd
|
|
975
|
-
},
|
|
976
|
-
{
|
|
977
|
-
key: "Ctrl-Alt-h",
|
|
978
|
-
run: deleteGroupBackward
|
|
979
|
-
},
|
|
980
|
-
{
|
|
981
|
-
key: "Ctrl-o",
|
|
982
|
-
run: splitLine
|
|
983
|
-
},
|
|
984
|
-
{
|
|
985
|
-
key: "Ctrl-t",
|
|
986
|
-
run: transposeChars
|
|
987
|
-
},
|
|
988
|
-
{
|
|
989
|
-
key: "Ctrl-v",
|
|
990
|
-
run: cursorPageDown
|
|
991
|
-
}
|
|
992
|
-
], standardKeymap = /* @__PURE__ */ [
|
|
993
|
-
{
|
|
994
|
-
key: "ArrowLeft",
|
|
995
|
-
run: cursorCharLeft,
|
|
996
|
-
shift: selectCharLeft,
|
|
997
|
-
preventDefault: true
|
|
998
|
-
},
|
|
999
|
-
{
|
|
1000
|
-
key: "Mod-ArrowLeft",
|
|
1001
|
-
mac: "Alt-ArrowLeft",
|
|
1002
|
-
run: cursorGroupLeft,
|
|
1003
|
-
shift: selectGroupLeft,
|
|
1004
|
-
preventDefault: true
|
|
1005
|
-
},
|
|
1006
|
-
{
|
|
1007
|
-
mac: "Cmd-ArrowLeft",
|
|
1008
|
-
run: cursorLineBoundaryLeft,
|
|
1009
|
-
shift: selectLineBoundaryLeft,
|
|
1010
|
-
preventDefault: true
|
|
1011
|
-
},
|
|
1012
|
-
{
|
|
1013
|
-
key: "ArrowRight",
|
|
1014
|
-
run: cursorCharRight,
|
|
1015
|
-
shift: selectCharRight,
|
|
1016
|
-
preventDefault: true
|
|
1017
|
-
},
|
|
1018
|
-
{
|
|
1019
|
-
key: "Mod-ArrowRight",
|
|
1020
|
-
mac: "Alt-ArrowRight",
|
|
1021
|
-
run: cursorGroupRight,
|
|
1022
|
-
shift: selectGroupRight,
|
|
1023
|
-
preventDefault: true
|
|
1024
|
-
},
|
|
1025
|
-
{
|
|
1026
|
-
mac: "Cmd-ArrowRight",
|
|
1027
|
-
run: cursorLineBoundaryRight,
|
|
1028
|
-
shift: selectLineBoundaryRight,
|
|
1029
|
-
preventDefault: true
|
|
1030
|
-
},
|
|
1031
|
-
{
|
|
1032
|
-
key: "ArrowUp",
|
|
1033
|
-
run: cursorLineUp,
|
|
1034
|
-
shift: selectLineUp,
|
|
1035
|
-
preventDefault: true
|
|
1036
|
-
},
|
|
1037
|
-
{
|
|
1038
|
-
mac: "Cmd-ArrowUp",
|
|
1039
|
-
run: cursorDocStart,
|
|
1040
|
-
shift: selectDocStart
|
|
1041
|
-
},
|
|
1042
|
-
{
|
|
1043
|
-
mac: "Ctrl-ArrowUp",
|
|
1044
|
-
run: cursorPageUp,
|
|
1045
|
-
shift: selectPageUp
|
|
1046
|
-
},
|
|
1047
|
-
{
|
|
1048
|
-
key: "ArrowDown",
|
|
1049
|
-
run: cursorLineDown,
|
|
1050
|
-
shift: selectLineDown,
|
|
1051
|
-
preventDefault: true
|
|
1052
|
-
},
|
|
1053
|
-
{
|
|
1054
|
-
mac: "Cmd-ArrowDown",
|
|
1055
|
-
run: cursorDocEnd,
|
|
1056
|
-
shift: selectDocEnd
|
|
1057
|
-
},
|
|
1058
|
-
{
|
|
1059
|
-
mac: "Ctrl-ArrowDown",
|
|
1060
|
-
run: cursorPageDown,
|
|
1061
|
-
shift: selectPageDown
|
|
1062
|
-
},
|
|
1063
|
-
{
|
|
1064
|
-
key: "PageUp",
|
|
1065
|
-
run: cursorPageUp,
|
|
1066
|
-
shift: selectPageUp
|
|
1067
|
-
},
|
|
1068
|
-
{
|
|
1069
|
-
key: "PageDown",
|
|
1070
|
-
run: cursorPageDown,
|
|
1071
|
-
shift: selectPageDown
|
|
1072
|
-
},
|
|
1073
|
-
{
|
|
1074
|
-
key: "Home",
|
|
1075
|
-
run: cursorLineBoundaryBackward,
|
|
1076
|
-
shift: selectLineBoundaryBackward,
|
|
1077
|
-
preventDefault: true
|
|
1078
|
-
},
|
|
1079
|
-
{
|
|
1080
|
-
key: "Mod-Home",
|
|
1081
|
-
run: cursorDocStart,
|
|
1082
|
-
shift: selectDocStart
|
|
1083
|
-
},
|
|
1084
|
-
{
|
|
1085
|
-
key: "End",
|
|
1086
|
-
run: cursorLineBoundaryForward,
|
|
1087
|
-
shift: selectLineBoundaryForward,
|
|
1088
|
-
preventDefault: true
|
|
1089
|
-
},
|
|
1090
|
-
{
|
|
1091
|
-
key: "Mod-End",
|
|
1092
|
-
run: cursorDocEnd,
|
|
1093
|
-
shift: selectDocEnd
|
|
1094
|
-
},
|
|
1095
|
-
{
|
|
1096
|
-
key: "Enter",
|
|
1097
|
-
run: insertNewlineAndIndent,
|
|
1098
|
-
shift: insertNewlineAndIndent
|
|
1099
|
-
},
|
|
1100
|
-
{
|
|
1101
|
-
key: "Mod-a",
|
|
1102
|
-
run: selectAll
|
|
1103
|
-
},
|
|
1104
|
-
{
|
|
1105
|
-
key: "Backspace",
|
|
1106
|
-
run: deleteCharBackward,
|
|
1107
|
-
shift: deleteCharBackward,
|
|
1108
|
-
preventDefault: true
|
|
1109
|
-
},
|
|
1110
|
-
{
|
|
1111
|
-
key: "Delete",
|
|
1112
|
-
run: deleteCharForward,
|
|
1113
|
-
preventDefault: true
|
|
1114
|
-
},
|
|
1115
|
-
{
|
|
1116
|
-
key: "Mod-Backspace",
|
|
1117
|
-
mac: "Alt-Backspace",
|
|
1118
|
-
run: deleteGroupBackward,
|
|
1119
|
-
preventDefault: true
|
|
1120
|
-
},
|
|
1121
|
-
{
|
|
1122
|
-
key: "Mod-Delete",
|
|
1123
|
-
mac: "Alt-Delete",
|
|
1124
|
-
run: deleteGroupForward,
|
|
1125
|
-
preventDefault: true
|
|
1126
|
-
},
|
|
1127
|
-
{
|
|
1128
|
-
mac: "Mod-Backspace",
|
|
1129
|
-
run: deleteLineBoundaryBackward,
|
|
1130
|
-
preventDefault: true
|
|
1131
|
-
},
|
|
1132
|
-
{
|
|
1133
|
-
mac: "Mod-Delete",
|
|
1134
|
-
run: deleteLineBoundaryForward,
|
|
1135
|
-
preventDefault: true
|
|
1136
|
-
}
|
|
1137
|
-
].concat(/* @__PURE__ */ emacsStyleKeymap.map((e6) => ({
|
|
1138
|
-
mac: e6.key,
|
|
1139
|
-
run: e6.run,
|
|
1140
|
-
shift: e6.shift
|
|
1141
|
-
}))), defaultKeymap = /* @__PURE__ */ [
|
|
1142
|
-
{
|
|
1143
|
-
key: "Alt-ArrowLeft",
|
|
1144
|
-
mac: "Ctrl-ArrowLeft",
|
|
1145
|
-
run: cursorSyntaxLeft,
|
|
1146
|
-
shift: selectSyntaxLeft
|
|
1147
|
-
},
|
|
1148
|
-
{
|
|
1149
|
-
key: "Alt-ArrowRight",
|
|
1150
|
-
mac: "Ctrl-ArrowRight",
|
|
1151
|
-
run: cursorSyntaxRight,
|
|
1152
|
-
shift: selectSyntaxRight
|
|
1153
|
-
},
|
|
1154
|
-
{
|
|
1155
|
-
key: "Alt-ArrowUp",
|
|
1156
|
-
run: moveLineUp
|
|
1157
|
-
},
|
|
1158
|
-
{
|
|
1159
|
-
key: "Shift-Alt-ArrowUp",
|
|
1160
|
-
run: copyLineUp
|
|
1161
|
-
},
|
|
1162
|
-
{
|
|
1163
|
-
key: "Alt-ArrowDown",
|
|
1164
|
-
run: moveLineDown
|
|
1165
|
-
},
|
|
1166
|
-
{
|
|
1167
|
-
key: "Shift-Alt-ArrowDown",
|
|
1168
|
-
run: copyLineDown
|
|
1169
|
-
},
|
|
1170
|
-
{
|
|
1171
|
-
key: "Mod-Alt-ArrowUp",
|
|
1172
|
-
run: addCursorAbove
|
|
1173
|
-
},
|
|
1174
|
-
{
|
|
1175
|
-
key: "Mod-Alt-ArrowDown",
|
|
1176
|
-
run: addCursorBelow
|
|
1177
|
-
},
|
|
1178
|
-
{
|
|
1179
|
-
key: "Escape",
|
|
1180
|
-
run: simplifySelection
|
|
1181
|
-
},
|
|
1182
|
-
{
|
|
1183
|
-
key: "Mod-Enter",
|
|
1184
|
-
run: insertBlankLine
|
|
1185
|
-
},
|
|
1186
|
-
{
|
|
1187
|
-
key: "Alt-l",
|
|
1188
|
-
mac: "Ctrl-l",
|
|
1189
|
-
run: selectLine
|
|
1190
|
-
},
|
|
1191
|
-
{
|
|
1192
|
-
key: "Mod-i",
|
|
1193
|
-
run: selectParentSyntax,
|
|
1194
|
-
preventDefault: true
|
|
1195
|
-
},
|
|
1196
|
-
{
|
|
1197
|
-
key: "Mod-[",
|
|
1198
|
-
run: indentLess
|
|
1199
|
-
},
|
|
1200
|
-
{
|
|
1201
|
-
key: "Mod-]",
|
|
1202
|
-
run: indentMore
|
|
1203
|
-
},
|
|
1204
|
-
{
|
|
1205
|
-
key: "Mod-Alt-\\",
|
|
1206
|
-
run: indentSelection
|
|
1207
|
-
},
|
|
1208
|
-
{
|
|
1209
|
-
key: "Shift-Mod-k",
|
|
1210
|
-
run: deleteLine
|
|
1211
|
-
},
|
|
1212
|
-
{
|
|
1213
|
-
key: "Shift-Mod-\\",
|
|
1214
|
-
run: cursorMatchingBracket
|
|
1215
|
-
},
|
|
1216
|
-
{
|
|
1217
|
-
key: "Mod-/",
|
|
1218
|
-
run: toggleComment
|
|
1219
|
-
},
|
|
1220
|
-
{
|
|
1221
|
-
key: "Alt-A",
|
|
1222
|
-
run: toggleBlockComment
|
|
1223
|
-
},
|
|
1224
|
-
{
|
|
1225
|
-
key: "Ctrl-m",
|
|
1226
|
-
mac: "Shift-Alt-m",
|
|
1227
|
-
run: toggleTabFocusMode
|
|
1228
|
-
}
|
|
1229
|
-
].concat(standardKeymap), indentWithTab = {
|
|
1230
|
-
key: "Tab",
|
|
1231
|
-
run: indentMore,
|
|
1232
|
-
shift: indentLess
|
|
1233
|
-
}, SelectedDiagnostic = class {
|
|
1234
|
-
constructor(e6, b, x) {
|
|
1235
|
-
this.from = e6, this.to = b, this.diagnostic = x;
|
|
1236
|
-
}
|
|
1237
|
-
}, LintState = class e3 {
|
|
1238
|
-
constructor(e6, b, x) {
|
|
1239
|
-
this.diagnostics = e6, this.panel = b, this.selected = x;
|
|
1240
|
-
}
|
|
1241
|
-
static init(b, x, S) {
|
|
1242
|
-
let C = S.facet(lintConfig).markerFilter;
|
|
1243
|
-
C && (b = C(b, S));
|
|
1244
|
-
let w = b.slice().sort((e6, b2) => e6.from - b2.from || e6.to - b2.to), T = new RangeSetBuilder(), E = [], D = 0, O = S.doc.iter(), k = 0, A = S.doc.length;
|
|
1245
|
-
for (let e6 = 0; ; ) {
|
|
1246
|
-
let b2 = e6 == w.length ? null : w[e6];
|
|
1247
|
-
if (!b2 && !E.length) break;
|
|
1248
|
-
let x2, S2;
|
|
1249
|
-
if (E.length) x2 = D, S2 = E.reduce((e7, b3) => Math.min(e7, b3.to), b2 && b2.from > x2 ? b2.from : 1e8);
|
|
1250
|
-
else {
|
|
1251
|
-
if (x2 = b2.from, x2 > A) break;
|
|
1252
|
-
S2 = b2.to, E.push(b2), e6++;
|
|
1253
|
-
}
|
|
1254
|
-
for (; e6 < w.length; ) {
|
|
1255
|
-
let b3 = w[e6];
|
|
1256
|
-
if (b3.from == x2 && (b3.to > b3.from || b3.to == x2)) E.push(b3), e6++, S2 = Math.min(b3.to, S2);
|
|
1257
|
-
else {
|
|
1258
|
-
S2 = Math.min(b3.from, S2);
|
|
1259
|
-
break;
|
|
1260
|
-
}
|
|
1261
|
-
}
|
|
1262
|
-
S2 = Math.min(S2, A);
|
|
1263
|
-
let C2 = false;
|
|
1264
|
-
if (E.some((e7) => e7.from == x2 && (e7.to == S2 || S2 == A)) && (C2 = x2 == S2, !C2 && S2 - x2 < 10)) {
|
|
1265
|
-
let e7 = x2 - (k + O.value.length);
|
|
1266
|
-
e7 > 0 && (O.next(e7), k = x2);
|
|
1267
|
-
for (let e8 = x2; ; ) {
|
|
1268
|
-
if (e8 >= S2) {
|
|
1269
|
-
C2 = true;
|
|
1270
|
-
break;
|
|
1271
|
-
}
|
|
1272
|
-
if (!O.lineBreak && k + O.value.length > e8) break;
|
|
1273
|
-
e8 = k + O.value.length, k += O.value.length, O.next();
|
|
1274
|
-
}
|
|
1275
|
-
}
|
|
1276
|
-
let j2 = maxSeverity(E);
|
|
1277
|
-
if (C2) T.add(x2, x2, Decoration.widget({
|
|
1278
|
-
widget: new DiagnosticWidget(j2),
|
|
1279
|
-
diagnostics: E.slice()
|
|
1280
|
-
}));
|
|
1281
|
-
else {
|
|
1282
|
-
let e7 = E.reduce((e8, b3) => b3.markClass ? e8 + " " + b3.markClass : e8, "");
|
|
1283
|
-
T.add(x2, S2, Decoration.mark({
|
|
1284
|
-
class: "cm-lintRange cm-lintRange-" + j2 + e7,
|
|
1285
|
-
diagnostics: E.slice(),
|
|
1286
|
-
inclusiveEnd: E.some((e8) => e8.to > S2)
|
|
1287
|
-
}));
|
|
1288
|
-
}
|
|
1289
|
-
if (D = S2, D == A) break;
|
|
1290
|
-
for (let e7 = 0; e7 < E.length; e7++) E[e7].to <= D && E.splice(e7--, 1);
|
|
1291
|
-
}
|
|
1292
|
-
let j = T.finish();
|
|
1293
|
-
return new e3(j, x, findDiagnostic(j));
|
|
1294
|
-
}
|
|
1295
|
-
};
|
|
1296
|
-
function findDiagnostic(e6, b = null, x = 0) {
|
|
1297
|
-
let S = null;
|
|
1298
|
-
return e6.between(x, 1e9, (e7, x2, { spec: C }) => {
|
|
1299
|
-
if (!(b && C.diagnostics.indexOf(b) < 0)) if (!S) S = new SelectedDiagnostic(e7, x2, b || C.diagnostics[0]);
|
|
1300
|
-
else if (C.diagnostics.indexOf(S.diagnostic) < 0) return false;
|
|
1301
|
-
else S = new SelectedDiagnostic(S.from, x2, S.diagnostic);
|
|
1302
|
-
}), S;
|
|
1303
|
-
}
|
|
1304
|
-
function hideTooltip(e6, b) {
|
|
1305
|
-
let x = b.pos, S = b.end || x, C = e6.state.facet(lintConfig).hideOn(e6, x, S);
|
|
1306
|
-
if (C != null) return C;
|
|
1307
|
-
let w = e6.startState.doc.lineAt(b.pos);
|
|
1308
|
-
return !!(e6.effects.some((e7) => e7.is(setDiagnosticsEffect)) || e6.changes.touchesRange(w.from, Math.max(w.to, S)));
|
|
1309
|
-
}
|
|
1310
|
-
function maybeEnableLint(e6, b) {
|
|
1311
|
-
return e6.field(lintState, false) ? b : b.concat(StateEffect.appendConfig.of(lintExtensions));
|
|
1312
|
-
}
|
|
1313
|
-
function setDiagnostics(e6, b) {
|
|
1314
|
-
return { effects: maybeEnableLint(e6, [setDiagnosticsEffect.of(b)]) };
|
|
1315
|
-
}
|
|
1316
|
-
var setDiagnosticsEffect = /* @__PURE__ */ StateEffect.define(), togglePanel$1 = /* @__PURE__ */ StateEffect.define(), movePanelSelection = /* @__PURE__ */ StateEffect.define(), lintState = /* @__PURE__ */ StateField.define({
|
|
1317
|
-
create() {
|
|
1318
|
-
return new LintState(Decoration.none, null, null);
|
|
1319
|
-
},
|
|
1320
|
-
update(e6, b) {
|
|
1321
|
-
if (b.docChanged && e6.diagnostics.size) {
|
|
1322
|
-
let x = e6.diagnostics.map(b.changes), S = null, C = e6.panel;
|
|
1323
|
-
if (e6.selected) {
|
|
1324
|
-
let C2 = b.changes.mapPos(e6.selected.from, 1);
|
|
1325
|
-
S = findDiagnostic(x, e6.selected.diagnostic, C2) || findDiagnostic(x, null, C2);
|
|
1326
|
-
}
|
|
1327
|
-
!x.size && C && b.state.facet(lintConfig).autoPanel && (C = null), e6 = new LintState(x, C, S);
|
|
1328
|
-
}
|
|
1329
|
-
for (let x of b.effects) if (x.is(setDiagnosticsEffect)) {
|
|
1330
|
-
let S = b.state.facet(lintConfig).autoPanel ? x.value.length ? LintPanel.open : null : e6.panel;
|
|
1331
|
-
e6 = LintState.init(x.value, S, b.state);
|
|
1332
|
-
} else x.is(togglePanel$1) ? e6 = new LintState(e6.diagnostics, x.value ? LintPanel.open : null, e6.selected) : x.is(movePanelSelection) && (e6 = new LintState(e6.diagnostics, e6.panel, x.value));
|
|
1333
|
-
return e6;
|
|
1334
|
-
},
|
|
1335
|
-
provide: (e6) => [showPanel.from(e6, (e7) => e7.panel), EditorView.decorations.from(e6, (e7) => e7.diagnostics)]
|
|
1336
|
-
}), activeMark = /* @__PURE__ */ Decoration.mark({ class: "cm-lintRange cm-lintRange-active" });
|
|
1337
|
-
function lintTooltip(e6, b, x) {
|
|
1338
|
-
let { diagnostics: S } = e6.state.field(lintState), C, w = -1, T = -1;
|
|
1339
|
-
S.between(b - (x < 0 ? 1 : 0), b + (x > 0 ? 1 : 0), (e7, S2, { spec: E2 }) => {
|
|
1340
|
-
if (b >= e7 && b <= S2 && (e7 == S2 || (b > e7 || x > 0) && (b < S2 || x < 0))) return C = E2.diagnostics, w = e7, T = S2, false;
|
|
1341
|
-
});
|
|
1342
|
-
let E = e6.state.facet(lintConfig).tooltipFilter;
|
|
1343
|
-
return C && E && (C = E(C, e6.state)), C ? {
|
|
1344
|
-
pos: w,
|
|
1345
|
-
end: T,
|
|
1346
|
-
above: e6.state.doc.lineAt(w).to < T,
|
|
1347
|
-
create() {
|
|
1348
|
-
return { dom: diagnosticsTooltip(e6, C) };
|
|
1349
|
-
}
|
|
1350
|
-
} : null;
|
|
1351
|
-
}
|
|
1352
|
-
function diagnosticsTooltip(e6, b) {
|
|
1353
|
-
return crelt("ul", { class: "cm-tooltip-lint" }, b.map((b2) => renderDiagnostic(e6, b2, false)));
|
|
1354
|
-
}
|
|
1355
|
-
var openLintPanel = (e6) => {
|
|
1356
|
-
let b = e6.state.field(lintState, false);
|
|
1357
|
-
(!b || !b.panel) && e6.dispatch({ effects: maybeEnableLint(e6.state, [togglePanel$1.of(true)]) });
|
|
1358
|
-
let x = getPanel(e6, LintPanel.open);
|
|
1359
|
-
return x && x.dom.querySelector(".cm-panel-lint ul").focus(), true;
|
|
1360
|
-
}, closeLintPanel = (e6) => {
|
|
1361
|
-
let b = e6.state.field(lintState, false);
|
|
1362
|
-
return !b || !b.panel ? false : (e6.dispatch({ effects: togglePanel$1.of(false) }), true);
|
|
1363
|
-
}, lintKeymap = [{
|
|
1364
|
-
key: "Mod-Shift-m",
|
|
1365
|
-
run: openLintPanel,
|
|
1366
|
-
preventDefault: true
|
|
1367
|
-
}, {
|
|
1368
|
-
key: "F8",
|
|
1369
|
-
run: (e6) => {
|
|
1370
|
-
let b = e6.state.field(lintState, false);
|
|
1371
|
-
if (!b) return false;
|
|
1372
|
-
let x = e6.state.selection.main, S = findDiagnostic(b.diagnostics, null, x.to + 1);
|
|
1373
|
-
return !S && (S = findDiagnostic(b.diagnostics, null, 0), !S || S.from == x.from && S.to == x.to) ? false : (e6.dispatch({
|
|
1374
|
-
selection: {
|
|
1375
|
-
anchor: S.from,
|
|
1376
|
-
head: S.to
|
|
1377
|
-
},
|
|
1378
|
-
scrollIntoView: true
|
|
1379
|
-
}), true);
|
|
1380
|
-
}
|
|
1381
|
-
}], lintPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class {
|
|
1382
|
-
constructor(e6) {
|
|
1383
|
-
this.view = e6, this.timeout = -1, this.set = true;
|
|
1384
|
-
let { delay: b } = e6.state.facet(lintConfig);
|
|
1385
|
-
this.lintTime = Date.now() + b, this.run = this.run.bind(this), this.timeout = setTimeout(this.run, b);
|
|
1386
|
-
}
|
|
1387
|
-
run() {
|
|
1388
|
-
clearTimeout(this.timeout);
|
|
1389
|
-
let e6 = Date.now();
|
|
1390
|
-
if (e6 < this.lintTime - 10) this.timeout = setTimeout(this.run, this.lintTime - e6);
|
|
1391
|
-
else {
|
|
1392
|
-
this.set = false;
|
|
1393
|
-
let { state: e7 } = this.view, { sources: b } = e7.facet(lintConfig);
|
|
1394
|
-
b.length && batchResults(b.map((e8) => Promise.resolve(e8(this.view))), (b2) => {
|
|
1395
|
-
this.view.state.doc == e7.doc && this.view.dispatch(setDiagnostics(this.view.state, b2.reduce((e8, b3) => e8.concat(b3))));
|
|
1396
|
-
}, (e8) => {
|
|
1397
|
-
logException(this.view.state, e8);
|
|
1398
|
-
});
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
update(e6) {
|
|
1402
|
-
let b = e6.state.facet(lintConfig);
|
|
1403
|
-
(e6.docChanged || b != e6.startState.facet(lintConfig) || b.needsRefresh && b.needsRefresh(e6)) && (this.lintTime = Date.now() + b.delay, this.set || (this.set = true, this.timeout = setTimeout(this.run, b.delay)));
|
|
1404
|
-
}
|
|
1405
|
-
force() {
|
|
1406
|
-
this.set && (this.lintTime = Date.now(), this.run());
|
|
1407
|
-
}
|
|
1408
|
-
destroy() {
|
|
1409
|
-
clearTimeout(this.timeout);
|
|
1410
|
-
}
|
|
1411
|
-
});
|
|
1412
|
-
function batchResults(e6, b, x) {
|
|
1413
|
-
let S = [], C = -1;
|
|
1414
|
-
for (let w of e6) w.then((x2) => {
|
|
1415
|
-
S.push(x2), clearTimeout(C), S.length == e6.length ? b(S) : C = setTimeout(() => b(S), 200);
|
|
1416
|
-
}, x);
|
|
1417
|
-
}
|
|
1418
|
-
var lintConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
|
|
1419
|
-
return {
|
|
1420
|
-
sources: e6.map((e7) => e7.source).filter((e7) => e7 != null),
|
|
1421
|
-
...combineConfig(e6.map((e7) => e7.config), {
|
|
1422
|
-
delay: 750,
|
|
1423
|
-
markerFilter: null,
|
|
1424
|
-
tooltipFilter: null,
|
|
1425
|
-
needsRefresh: null,
|
|
1426
|
-
hideOn: () => null
|
|
1427
|
-
}, {
|
|
1428
|
-
delay: Math.max,
|
|
1429
|
-
markerFilter: combineFilter,
|
|
1430
|
-
tooltipFilter: combineFilter,
|
|
1431
|
-
needsRefresh: (e7, b) => e7 ? b ? (x) => e7(x) || b(x) : e7 : b,
|
|
1432
|
-
hideOn: (e7, b) => e7 ? b ? (x, S, C) => e7(x, S, C) || b(x, S, C) : e7 : b,
|
|
1433
|
-
autoPanel: (e7, b) => e7 || b
|
|
1434
|
-
})
|
|
1435
|
-
};
|
|
1436
|
-
} });
|
|
1437
|
-
function combineFilter(e6, b) {
|
|
1438
|
-
return e6 ? b ? (x, S) => b(e6(x, S), S) : e6 : b;
|
|
1439
|
-
}
|
|
1440
|
-
function linter(e6, b = {}) {
|
|
1441
|
-
return [
|
|
1442
|
-
lintConfig.of({
|
|
1443
|
-
source: e6,
|
|
1444
|
-
config: b
|
|
1445
|
-
}),
|
|
1446
|
-
lintPlugin,
|
|
1447
|
-
lintExtensions
|
|
1448
|
-
];
|
|
1449
|
-
}
|
|
1450
|
-
function assignKeys(e6) {
|
|
1451
|
-
let b = [];
|
|
1452
|
-
if (e6) actions: for (let { name: x } of e6) {
|
|
1453
|
-
for (let e7 = 0; e7 < x.length; e7++) {
|
|
1454
|
-
let S = x[e7];
|
|
1455
|
-
if (/[a-zA-Z]/.test(S) && !b.some((e8) => e8.toLowerCase() == S.toLowerCase())) {
|
|
1456
|
-
b.push(S);
|
|
1457
|
-
continue actions;
|
|
1458
|
-
}
|
|
1459
|
-
}
|
|
1460
|
-
b.push("");
|
|
1461
|
-
}
|
|
1462
|
-
return b;
|
|
1463
|
-
}
|
|
1464
|
-
function renderDiagnostic(e6, b, x) {
|
|
1465
|
-
var _a;
|
|
1466
|
-
let S = x ? assignKeys(b.actions) : [];
|
|
1467
|
-
return crelt("li", { class: "cm-diagnostic cm-diagnostic-" + b.severity }, crelt("span", { class: "cm-diagnosticText" }, b.renderMessage ? b.renderMessage(e6) : b.message), (_a = b.actions) == null ? void 0 : _a.map((x2, C) => {
|
|
1468
|
-
let w = false, T = (S2) => {
|
|
1469
|
-
if (S2.preventDefault(), w) return;
|
|
1470
|
-
w = true;
|
|
1471
|
-
let C2 = findDiagnostic(e6.state.field(lintState).diagnostics, b);
|
|
1472
|
-
C2 && x2.apply(e6, C2.from, C2.to);
|
|
1473
|
-
}, { name: E } = x2, D = S[C] ? E.indexOf(S[C]) : -1, O = D < 0 ? E : [
|
|
1474
|
-
E.slice(0, D),
|
|
1475
|
-
crelt("u", E.slice(D, D + 1)),
|
|
1476
|
-
E.slice(D + 1)
|
|
1477
|
-
];
|
|
1478
|
-
return crelt("button", {
|
|
1479
|
-
type: "button",
|
|
1480
|
-
class: "cm-diagnosticAction" + (x2.markClass ? " " + x2.markClass : ""),
|
|
1481
|
-
onclick: T,
|
|
1482
|
-
onmousedown: T,
|
|
1483
|
-
"aria-label": ` Action: ${E}${D < 0 ? "" : ` (access key "${S[C]})"`}.`
|
|
1484
|
-
}, O);
|
|
1485
|
-
}), b.source && crelt("div", { class: "cm-diagnosticSource" }, b.source));
|
|
1486
|
-
}
|
|
1487
|
-
var DiagnosticWidget = class extends WidgetType {
|
|
1488
|
-
constructor(e6) {
|
|
1489
|
-
super(), this.sev = e6;
|
|
1490
|
-
}
|
|
1491
|
-
eq(e6) {
|
|
1492
|
-
return e6.sev == this.sev;
|
|
1493
|
-
}
|
|
1494
|
-
toDOM() {
|
|
1495
|
-
return crelt("span", { class: "cm-lintPoint cm-lintPoint-" + this.sev });
|
|
1496
|
-
}
|
|
1497
|
-
}, PanelItem = class {
|
|
1498
|
-
constructor(e6, b) {
|
|
1499
|
-
this.diagnostic = b, this.id = "item_" + Math.floor(Math.random() * 4294967295).toString(16), this.dom = renderDiagnostic(e6, b, true), this.dom.id = this.id, this.dom.setAttribute("role", "option");
|
|
1500
|
-
}
|
|
1501
|
-
}, LintPanel = class e4 {
|
|
1502
|
-
constructor(e6) {
|
|
1503
|
-
this.view = e6, this.items = [];
|
|
1504
|
-
let b = (b2) => {
|
|
1505
|
-
if (!(b2.ctrlKey || b2.altKey || b2.metaKey)) {
|
|
1506
|
-
if (b2.keyCode == 27) closeLintPanel(this.view), this.view.focus();
|
|
1507
|
-
else if (b2.keyCode == 38 || b2.keyCode == 33) this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);
|
|
1508
|
-
else if (b2.keyCode == 40 || b2.keyCode == 34) this.moveSelection((this.selectedIndex + 1) % this.items.length);
|
|
1509
|
-
else if (b2.keyCode == 36) this.moveSelection(0);
|
|
1510
|
-
else if (b2.keyCode == 35) this.moveSelection(this.items.length - 1);
|
|
1511
|
-
else if (b2.keyCode == 13) this.view.focus();
|
|
1512
|
-
else if (b2.keyCode >= 65 && b2.keyCode <= 90 && this.selectedIndex >= 0) {
|
|
1513
|
-
let { diagnostic: x2 } = this.items[this.selectedIndex], S = assignKeys(x2.actions);
|
|
1514
|
-
for (let C = 0; C < S.length; C++) if (S[C].toUpperCase().charCodeAt(0) == b2.keyCode) {
|
|
1515
|
-
let b3 = findDiagnostic(this.view.state.field(lintState).diagnostics, x2);
|
|
1516
|
-
b3 && x2.actions[C].apply(e6, b3.from, b3.to);
|
|
1517
|
-
}
|
|
1518
|
-
} else return;
|
|
1519
|
-
b2.preventDefault();
|
|
1520
|
-
}
|
|
1521
|
-
}, x = (e7) => {
|
|
1522
|
-
for (let b2 = 0; b2 < this.items.length; b2++) this.items[b2].dom.contains(e7.target) && this.moveSelection(b2);
|
|
1523
|
-
};
|
|
1524
|
-
this.list = crelt("ul", {
|
|
1525
|
-
tabIndex: 0,
|
|
1526
|
-
role: "listbox",
|
|
1527
|
-
"aria-label": this.view.state.phrase("Diagnostics"),
|
|
1528
|
-
onkeydown: b,
|
|
1529
|
-
onclick: x
|
|
1530
|
-
}), this.dom = crelt("div", { class: "cm-panel-lint" }, this.list, crelt("button", {
|
|
1531
|
-
type: "button",
|
|
1532
|
-
name: "close",
|
|
1533
|
-
"aria-label": this.view.state.phrase("close"),
|
|
1534
|
-
onclick: () => closeLintPanel(this.view)
|
|
1535
|
-
}, "\xD7")), this.update();
|
|
1536
|
-
}
|
|
1537
|
-
get selectedIndex() {
|
|
1538
|
-
let e6 = this.view.state.field(lintState).selected;
|
|
1539
|
-
if (!e6) return -1;
|
|
1540
|
-
for (let b = 0; b < this.items.length; b++) if (this.items[b].diagnostic == e6.diagnostic) return b;
|
|
1541
|
-
return -1;
|
|
1542
|
-
}
|
|
1543
|
-
update() {
|
|
1544
|
-
let { diagnostics: e6, selected: b } = this.view.state.field(lintState), x = 0, S = false, C = null, w = /* @__PURE__ */ new Set();
|
|
1545
|
-
for (e6.between(0, this.view.state.doc.length, (e7, T, { spec: E }) => {
|
|
1546
|
-
for (let e8 of E.diagnostics) {
|
|
1547
|
-
if (w.has(e8)) continue;
|
|
1548
|
-
w.add(e8);
|
|
1549
|
-
let T2 = -1, E2;
|
|
1550
|
-
for (let b2 = x; b2 < this.items.length; b2++) if (this.items[b2].diagnostic == e8) {
|
|
1551
|
-
T2 = b2;
|
|
1552
|
-
break;
|
|
1553
|
-
}
|
|
1554
|
-
T2 < 0 ? (E2 = new PanelItem(this.view, e8), this.items.splice(x, 0, E2), S = true) : (E2 = this.items[T2], T2 > x && (this.items.splice(x, T2 - x), S = true)), b && E2.diagnostic == b.diagnostic ? E2.dom.hasAttribute("aria-selected") || (E2.dom.setAttribute("aria-selected", "true"), C = E2) : E2.dom.hasAttribute("aria-selected") && E2.dom.removeAttribute("aria-selected"), x++;
|
|
1555
|
-
}
|
|
1556
|
-
}); x < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0); ) S = true, this.items.pop();
|
|
1557
|
-
this.items.length == 0 && (this.items.push(new PanelItem(this.view, {
|
|
1558
|
-
from: -1,
|
|
1559
|
-
to: -1,
|
|
1560
|
-
severity: "info",
|
|
1561
|
-
message: this.view.state.phrase("No diagnostics")
|
|
1562
|
-
})), S = true), C ? (this.list.setAttribute("aria-activedescendant", C.id), this.view.requestMeasure({
|
|
1563
|
-
key: this,
|
|
1564
|
-
read: () => ({
|
|
1565
|
-
sel: C.dom.getBoundingClientRect(),
|
|
1566
|
-
panel: this.list.getBoundingClientRect()
|
|
1567
|
-
}),
|
|
1568
|
-
write: ({ sel: e7, panel: b2 }) => {
|
|
1569
|
-
let x2 = b2.height / this.list.offsetHeight;
|
|
1570
|
-
e7.top < b2.top ? this.list.scrollTop -= (b2.top - e7.top) / x2 : e7.bottom > b2.bottom && (this.list.scrollTop += (e7.bottom - b2.bottom) / x2);
|
|
1571
|
-
}
|
|
1572
|
-
})) : this.selectedIndex < 0 && this.list.removeAttribute("aria-activedescendant"), S && this.sync();
|
|
1573
|
-
}
|
|
1574
|
-
sync() {
|
|
1575
|
-
let e6 = this.list.firstChild;
|
|
1576
|
-
function b() {
|
|
1577
|
-
let b2 = e6;
|
|
1578
|
-
e6 = b2.nextSibling, b2.remove();
|
|
1579
|
-
}
|
|
1580
|
-
for (let x of this.items) if (x.dom.parentNode == this.list) {
|
|
1581
|
-
for (; e6 != x.dom; ) b();
|
|
1582
|
-
e6 = x.dom.nextSibling;
|
|
1583
|
-
} else this.list.insertBefore(x.dom, e6);
|
|
1584
|
-
for (; e6; ) b();
|
|
1585
|
-
}
|
|
1586
|
-
moveSelection(e6) {
|
|
1587
|
-
if (this.selectedIndex < 0) return;
|
|
1588
|
-
let b = findDiagnostic(this.view.state.field(lintState).diagnostics, this.items[e6].diagnostic);
|
|
1589
|
-
b && this.view.dispatch({
|
|
1590
|
-
selection: {
|
|
1591
|
-
anchor: b.from,
|
|
1592
|
-
head: b.to
|
|
1593
|
-
},
|
|
1594
|
-
scrollIntoView: true,
|
|
1595
|
-
effects: movePanelSelection.of(b)
|
|
1596
|
-
});
|
|
1597
|
-
}
|
|
1598
|
-
static open(b) {
|
|
1599
|
-
return new e4(b);
|
|
1600
|
-
}
|
|
1601
|
-
};
|
|
1602
|
-
function svg(e6, b = 'viewBox="0 0 40 40"') {
|
|
1603
|
-
return `url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${b}>${encodeURIComponent(e6)}</svg>')`;
|
|
1604
|
-
}
|
|
1605
|
-
function underline(e6) {
|
|
1606
|
-
return svg(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e6}" fill="none" stroke-width=".7"/>`, 'width="6" height="3"');
|
|
1607
|
-
}
|
|
1608
|
-
var baseTheme$1 = /* @__PURE__ */ EditorView.baseTheme({
|
|
1609
|
-
".cm-diagnostic": {
|
|
1610
|
-
padding: "3px 6px 3px 8px",
|
|
1611
|
-
marginLeft: "-1px",
|
|
1612
|
-
display: "block",
|
|
1613
|
-
whiteSpace: "pre-wrap"
|
|
1614
|
-
},
|
|
1615
|
-
".cm-diagnostic-error": { borderLeft: "5px solid #d11" },
|
|
1616
|
-
".cm-diagnostic-warning": { borderLeft: "5px solid orange" },
|
|
1617
|
-
".cm-diagnostic-info": { borderLeft: "5px solid #999" },
|
|
1618
|
-
".cm-diagnostic-hint": { borderLeft: "5px solid #66d" },
|
|
1619
|
-
".cm-diagnosticAction": {
|
|
1620
|
-
font: "inherit",
|
|
1621
|
-
border: "none",
|
|
1622
|
-
padding: "2px 4px",
|
|
1623
|
-
backgroundColor: "#444",
|
|
1624
|
-
color: "white",
|
|
1625
|
-
borderRadius: "3px",
|
|
1626
|
-
marginLeft: "8px",
|
|
1627
|
-
cursor: "pointer"
|
|
1628
|
-
},
|
|
1629
|
-
".cm-diagnosticSource": {
|
|
1630
|
-
fontSize: "70%",
|
|
1631
|
-
opacity: 0.7
|
|
1632
|
-
},
|
|
1633
|
-
".cm-lintRange": {
|
|
1634
|
-
backgroundPosition: "left bottom",
|
|
1635
|
-
backgroundRepeat: "repeat-x",
|
|
1636
|
-
paddingBottom: "0.7px"
|
|
1637
|
-
},
|
|
1638
|
-
".cm-lintRange-error": { backgroundImage: /* @__PURE__ */ underline("#d11") },
|
|
1639
|
-
".cm-lintRange-warning": { backgroundImage: /* @__PURE__ */ underline("orange") },
|
|
1640
|
-
".cm-lintRange-info": { backgroundImage: /* @__PURE__ */ underline("#999") },
|
|
1641
|
-
".cm-lintRange-hint": { backgroundImage: /* @__PURE__ */ underline("#66d") },
|
|
1642
|
-
".cm-lintRange-active": { backgroundColor: "#ffdd9980" },
|
|
1643
|
-
".cm-tooltip-lint": {
|
|
1644
|
-
padding: 0,
|
|
1645
|
-
margin: 0
|
|
1646
|
-
},
|
|
1647
|
-
".cm-lintPoint": {
|
|
1648
|
-
position: "relative",
|
|
1649
|
-
"&:after": {
|
|
1650
|
-
content: '""',
|
|
1651
|
-
position: "absolute",
|
|
1652
|
-
bottom: 0,
|
|
1653
|
-
left: "-2px",
|
|
1654
|
-
borderLeft: "3px solid transparent",
|
|
1655
|
-
borderRight: "3px solid transparent",
|
|
1656
|
-
borderBottom: "4px solid #d11"
|
|
1657
|
-
}
|
|
1658
|
-
},
|
|
1659
|
-
".cm-lintPoint-warning": { "&:after": { borderBottomColor: "orange" } },
|
|
1660
|
-
".cm-lintPoint-info": { "&:after": { borderBottomColor: "#999" } },
|
|
1661
|
-
".cm-lintPoint-hint": { "&:after": { borderBottomColor: "#66d" } },
|
|
1662
|
-
".cm-panel.cm-panel-lint": {
|
|
1663
|
-
position: "relative",
|
|
1664
|
-
"& ul": {
|
|
1665
|
-
maxHeight: "100px",
|
|
1666
|
-
overflowY: "auto",
|
|
1667
|
-
"& [aria-selected]": {
|
|
1668
|
-
backgroundColor: "#ddd",
|
|
1669
|
-
"& u": { textDecoration: "underline" }
|
|
1670
|
-
},
|
|
1671
|
-
"&:focus [aria-selected]": {
|
|
1672
|
-
background_fallback: "#bdf",
|
|
1673
|
-
backgroundColor: "Highlight",
|
|
1674
|
-
color_fallback: "white",
|
|
1675
|
-
color: "HighlightText"
|
|
1676
|
-
},
|
|
1677
|
-
"& u": { textDecoration: "none" },
|
|
1678
|
-
padding: 0,
|
|
1679
|
-
margin: 0
|
|
1680
|
-
},
|
|
1681
|
-
"& [name=close]": {
|
|
1682
|
-
position: "absolute",
|
|
1683
|
-
top: "0",
|
|
1684
|
-
right: "2px",
|
|
1685
|
-
background: "inherit",
|
|
1686
|
-
border: "none",
|
|
1687
|
-
font: "inherit",
|
|
1688
|
-
padding: 0,
|
|
1689
|
-
margin: 0
|
|
1690
|
-
}
|
|
1691
|
-
},
|
|
1692
|
-
"&dark .cm-lintRange-active": { backgroundColor: "#86714a80" },
|
|
1693
|
-
"&dark .cm-panel.cm-panel-lint ul": { "& [aria-selected]": { backgroundColor: "#2e343e" } }
|
|
1694
|
-
});
|
|
1695
|
-
function severityWeight(e6) {
|
|
1696
|
-
return e6 == "error" ? 4 : e6 == "warning" ? 3 : e6 == "info" ? 2 : 1;
|
|
1697
|
-
}
|
|
1698
|
-
function maxSeverity(e6) {
|
|
1699
|
-
let b = "hint", x = 1;
|
|
1700
|
-
for (let S of e6) {
|
|
1701
|
-
let e7 = severityWeight(S.severity);
|
|
1702
|
-
e7 > x && (x = e7, b = S.severity);
|
|
1703
|
-
}
|
|
1704
|
-
return b;
|
|
1705
|
-
}
|
|
1706
|
-
var lintExtensions = [
|
|
1707
|
-
lintState,
|
|
1708
|
-
/* @__PURE__ */ EditorView.decorations.compute([lintState], (e6) => {
|
|
1709
|
-
let { selected: b, panel: x } = e6.field(lintState);
|
|
1710
|
-
return !b || !x || b.from == b.to ? Decoration.none : Decoration.set([activeMark.range(b.from, b.to)]);
|
|
1711
|
-
}),
|
|
1712
|
-
/* @__PURE__ */ hoverTooltip(lintTooltip, { hideOn: hideTooltip }),
|
|
1713
|
-
baseTheme$1
|
|
1714
|
-
];
|
|
1715
|
-
function forEachDiagnostic(e6, b) {
|
|
1716
|
-
let x = e6.field(lintState, false);
|
|
1717
|
-
if (x && x.diagnostics.size) {
|
|
1718
|
-
let e7 = [], S = [], C = -1;
|
|
1719
|
-
for (let w = RangeSet.iter([x.diagnostics]); ; w.next()) {
|
|
1720
|
-
for (let x2 = 0; x2 < e7.length; x2++) (!w.value || w.value.spec.diagnostics.indexOf(e7[x2]) < 0) && (b(e7[x2], S[x2], C), e7.splice(x2, 1), S.splice(x2--, 1));
|
|
1721
|
-
if (!w.value) break;
|
|
1722
|
-
for (let b2 of w.value.spec.diagnostics) e7.indexOf(b2) < 0 && (e7.push(b2), S.push(w.from));
|
|
1723
|
-
C = w.to;
|
|
1724
|
-
}
|
|
1725
|
-
}
|
|
1726
|
-
}
|
|
1727
|
-
var basicNormalize = typeof String.prototype.normalize == "function" ? (e6) => e6.normalize("NFKD") : (e6) => e6, SearchCursor = class {
|
|
1728
|
-
constructor(e6, b, x = 0, S = e6.length, C, w) {
|
|
1729
|
-
this.test = w, this.value = {
|
|
1730
|
-
from: 0,
|
|
1731
|
-
to: 0
|
|
1732
|
-
}, this.done = false, this.matches = [], this.buffer = "", this.bufferPos = 0, this.iter = e6.iterRange(x, S), this.bufferStart = x, this.normalize = C ? (e7) => C(basicNormalize(e7)) : basicNormalize, this.query = this.normalize(b);
|
|
1733
|
-
}
|
|
1734
|
-
peek() {
|
|
1735
|
-
if (this.bufferPos == this.buffer.length) {
|
|
1736
|
-
if (this.bufferStart += this.buffer.length, this.iter.next(), this.iter.done) return -1;
|
|
1737
|
-
this.bufferPos = 0, this.buffer = this.iter.value;
|
|
1738
|
-
}
|
|
1739
|
-
return codePointAt(this.buffer, this.bufferPos);
|
|
1740
|
-
}
|
|
1741
|
-
next() {
|
|
1742
|
-
for (; this.matches.length; ) this.matches.pop();
|
|
1743
|
-
return this.nextOverlapping();
|
|
1744
|
-
}
|
|
1745
|
-
nextOverlapping() {
|
|
1746
|
-
for (; ; ) {
|
|
1747
|
-
let e6 = this.peek();
|
|
1748
|
-
if (e6 < 0) return this.done = true, this;
|
|
1749
|
-
let b = fromCodePoint(e6), x = this.bufferStart + this.bufferPos;
|
|
1750
|
-
this.bufferPos += codePointSize(e6);
|
|
1751
|
-
let S = this.normalize(b);
|
|
1752
|
-
if (S.length) for (let e7 = 0, C = x; ; e7++) {
|
|
1753
|
-
let w = S.charCodeAt(e7), T = this.match(w, C, this.bufferPos + this.bufferStart);
|
|
1754
|
-
if (e7 == S.length - 1) {
|
|
1755
|
-
if (T) return this.value = T, this;
|
|
1756
|
-
break;
|
|
1757
|
-
}
|
|
1758
|
-
C == x && e7 < b.length && b.charCodeAt(e7) == w && C++;
|
|
1759
|
-
}
|
|
1760
|
-
}
|
|
1761
|
-
}
|
|
1762
|
-
match(e6, b, x) {
|
|
1763
|
-
let S = null;
|
|
1764
|
-
for (let b2 = 0; b2 < this.matches.length; b2 += 2) {
|
|
1765
|
-
let C = this.matches[b2], w = false;
|
|
1766
|
-
this.query.charCodeAt(C) == e6 && (C == this.query.length - 1 ? S = {
|
|
1767
|
-
from: this.matches[b2 + 1],
|
|
1768
|
-
to: x
|
|
1769
|
-
} : (this.matches[b2]++, w = true)), w || (this.matches.splice(b2, 2), b2 -= 2);
|
|
1770
|
-
}
|
|
1771
|
-
return this.query.charCodeAt(0) == e6 && (this.query.length == 1 ? S = {
|
|
1772
|
-
from: b,
|
|
1773
|
-
to: x
|
|
1774
|
-
} : this.matches.push(1, b)), S && this.test && !this.test(S.from, S.to, this.buffer, this.bufferStart) && (S = null), S;
|
|
1775
|
-
}
|
|
1776
|
-
};
|
|
1777
|
-
typeof Symbol < "u" && (SearchCursor.prototype[Symbol.iterator] = function() {
|
|
1778
|
-
return this;
|
|
1779
|
-
});
|
|
1780
|
-
var empty = {
|
|
1781
|
-
from: -1,
|
|
1782
|
-
to: -1,
|
|
1783
|
-
match: /* @__PURE__ */ /.*/.exec("")
|
|
1784
|
-
}, baseFlags = "gm" + (/x/.unicode == null ? "" : "u"), RegExpCursor = class {
|
|
1785
|
-
constructor(e6, b, x, S = 0, C = e6.length) {
|
|
1786
|
-
if (this.text = e6, this.to = C, this.curLine = "", this.done = false, this.value = empty, /\\[sWDnr]|\n|\r|\[\^/.test(b)) return new MultilineRegExpCursor(e6, b, x, S, C);
|
|
1787
|
-
this.re = new RegExp(b, baseFlags + ((x == null ? void 0 : x.ignoreCase) ? "i" : "")), this.test = x == null ? void 0 : x.test, this.iter = e6.iter(), this.curLineStart = e6.lineAt(S).from, this.matchPos = toCharEnd(e6, S), this.getLine(this.curLineStart);
|
|
1788
|
-
}
|
|
1789
|
-
getLine(e6) {
|
|
1790
|
-
this.iter.next(e6), this.iter.lineBreak ? this.curLine = "" : (this.curLine = this.iter.value, this.curLineStart + this.curLine.length > this.to && (this.curLine = this.curLine.slice(0, this.to - this.curLineStart)), this.iter.next());
|
|
1791
|
-
}
|
|
1792
|
-
nextLine() {
|
|
1793
|
-
this.curLineStart = this.curLineStart + this.curLine.length + 1, this.curLineStart > this.to ? this.curLine = "" : this.getLine(0);
|
|
1794
|
-
}
|
|
1795
|
-
next() {
|
|
1796
|
-
for (let e6 = this.matchPos - this.curLineStart; ; ) {
|
|
1797
|
-
this.re.lastIndex = e6;
|
|
1798
|
-
let b = this.matchPos <= this.to && this.re.exec(this.curLine);
|
|
1799
|
-
if (b) {
|
|
1800
|
-
let x = this.curLineStart + b.index, S = x + b[0].length;
|
|
1801
|
-
if (this.matchPos = toCharEnd(this.text, S + (x == S ? 1 : 0)), x == this.curLineStart + this.curLine.length && this.nextLine(), (x < S || x > this.value.to) && (!this.test || this.test(x, S, b))) return this.value = {
|
|
1802
|
-
from: x,
|
|
1803
|
-
to: S,
|
|
1804
|
-
match: b
|
|
1805
|
-
}, this;
|
|
1806
|
-
e6 = this.matchPos - this.curLineStart;
|
|
1807
|
-
} else if (this.curLineStart + this.curLine.length < this.to) this.nextLine(), e6 = 0;
|
|
1808
|
-
else return this.done = true, this;
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
}, flattened = /* @__PURE__ */ new WeakMap(), FlattenedDoc = class e5 {
|
|
1812
|
-
constructor(e6, b) {
|
|
1813
|
-
this.from = e6, this.text = b;
|
|
1814
|
-
}
|
|
1815
|
-
get to() {
|
|
1816
|
-
return this.from + this.text.length;
|
|
1817
|
-
}
|
|
1818
|
-
static get(b, x, S) {
|
|
1819
|
-
let C = flattened.get(b);
|
|
1820
|
-
if (!C || C.from >= S || C.to <= x) {
|
|
1821
|
-
let C2 = new e5(x, b.sliceString(x, S));
|
|
1822
|
-
return flattened.set(b, C2), C2;
|
|
1823
|
-
}
|
|
1824
|
-
if (C.from == x && C.to == S) return C;
|
|
1825
|
-
let { text: w, from: T } = C;
|
|
1826
|
-
return T > x && (w = b.sliceString(x, T) + w, T = x), C.to < S && (w += b.sliceString(C.to, S)), flattened.set(b, new e5(T, w)), new e5(x, w.slice(x - T, S - T));
|
|
1827
|
-
}
|
|
1828
|
-
}, MultilineRegExpCursor = class {
|
|
1829
|
-
constructor(e6, b, x, S, C) {
|
|
1830
|
-
this.text = e6, this.to = C, this.done = false, this.value = empty, this.matchPos = toCharEnd(e6, S), this.re = new RegExp(b, baseFlags + ((x == null ? void 0 : x.ignoreCase) ? "i" : "")), this.test = x == null ? void 0 : x.test, this.flat = FlattenedDoc.get(e6, S, this.chunkEnd(S + 5e3));
|
|
1831
|
-
}
|
|
1832
|
-
chunkEnd(e6) {
|
|
1833
|
-
return e6 >= this.to ? this.to : this.text.lineAt(e6).to;
|
|
1834
|
-
}
|
|
1835
|
-
next() {
|
|
1836
|
-
for (; ; ) {
|
|
1837
|
-
let e6 = this.re.lastIndex = this.matchPos - this.flat.from, b = this.re.exec(this.flat.text);
|
|
1838
|
-
if (b && !b[0] && b.index == e6 && (this.re.lastIndex = e6 + 1, b = this.re.exec(this.flat.text)), b) {
|
|
1839
|
-
let e7 = this.flat.from + b.index, x = e7 + b[0].length;
|
|
1840
|
-
if ((this.flat.to >= this.to || b.index + b[0].length <= this.flat.text.length - 10) && (!this.test || this.test(e7, x, b))) return this.value = {
|
|
1841
|
-
from: e7,
|
|
1842
|
-
to: x,
|
|
1843
|
-
match: b
|
|
1844
|
-
}, this.matchPos = toCharEnd(this.text, x + (e7 == x ? 1 : 0)), this;
|
|
1845
|
-
}
|
|
1846
|
-
if (this.flat.to == this.to) return this.done = true, this;
|
|
1847
|
-
this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));
|
|
1848
|
-
}
|
|
1849
|
-
}
|
|
1850
|
-
};
|
|
1851
|
-
typeof Symbol < "u" && (RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] = function() {
|
|
1852
|
-
return this;
|
|
1853
|
-
});
|
|
1854
|
-
function validRegExp(e6) {
|
|
1855
|
-
try {
|
|
1856
|
-
return new RegExp(e6, baseFlags), true;
|
|
1857
|
-
} catch {
|
|
1858
|
-
return false;
|
|
1859
|
-
}
|
|
1860
|
-
}
|
|
1861
|
-
function toCharEnd(e6, b) {
|
|
1862
|
-
if (b >= e6.length) return b;
|
|
1863
|
-
let x = e6.lineAt(b), S;
|
|
1864
|
-
for (; b < x.to && (S = x.text.charCodeAt(b - x.from)) >= 56320 && S < 57344; ) b++;
|
|
1865
|
-
return b;
|
|
1866
|
-
}
|
|
1867
|
-
var gotoLine = (e6) => {
|
|
1868
|
-
let { state: b } = e6, x = String(b.doc.lineAt(e6.state.selection.main.head).number), { close: S, result: C } = showDialog(e6, {
|
|
1869
|
-
label: b.phrase("Go to line"),
|
|
1870
|
-
input: {
|
|
1871
|
-
type: "text",
|
|
1872
|
-
name: "line",
|
|
1873
|
-
value: x
|
|
1874
|
-
},
|
|
1875
|
-
focus: true,
|
|
1876
|
-
submitLabel: b.phrase("go")
|
|
1877
|
-
});
|
|
1878
|
-
return C.then((x2) => {
|
|
1879
|
-
let C2 = x2 && /^([+-])?(\d+)?(:\d+)?(%)?$/.exec(x2.elements.line.value);
|
|
1880
|
-
if (!C2) {
|
|
1881
|
-
e6.dispatch({ effects: S });
|
|
1882
|
-
return;
|
|
1883
|
-
}
|
|
1884
|
-
let w = b.doc.lineAt(b.selection.main.head), [, T, E, D, O] = C2, k = D ? +D.slice(1) : 0, A = E ? +E : w.number;
|
|
1885
|
-
if (E && O) {
|
|
1886
|
-
let e7 = A / 100;
|
|
1887
|
-
T && (e7 = e7 * (T == "-" ? -1 : 1) + w.number / b.doc.lines), A = Math.round(b.doc.lines * e7);
|
|
1888
|
-
} else E && T && (A = A * (T == "-" ? -1 : 1) + w.number);
|
|
1889
|
-
let j = b.doc.line(Math.max(1, Math.min(b.doc.lines, A))), M = EditorSelection.cursor(j.from + Math.max(0, Math.min(k, j.length)));
|
|
1890
|
-
e6.dispatch({
|
|
1891
|
-
effects: [S, EditorView.scrollIntoView(M.from, { y: "center" })],
|
|
1892
|
-
selection: M
|
|
1893
|
-
});
|
|
1894
|
-
}), true;
|
|
1895
|
-
}, defaultHighlightOptions = {
|
|
1896
|
-
highlightWordAroundCursor: false,
|
|
1897
|
-
minSelectionLength: 1,
|
|
1898
|
-
maxMatches: 100,
|
|
1899
|
-
wholeWords: false
|
|
1900
|
-
}, highlightConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
|
|
1901
|
-
return combineConfig(e6, defaultHighlightOptions, {
|
|
1902
|
-
highlightWordAroundCursor: (e7, b) => e7 || b,
|
|
1903
|
-
minSelectionLength: Math.min,
|
|
1904
|
-
maxMatches: Math.min
|
|
1905
|
-
});
|
|
1906
|
-
} });
|
|
1907
|
-
function highlightSelectionMatches(e6) {
|
|
1908
|
-
let b = [defaultTheme, matchHighlighter];
|
|
1909
|
-
return e6 && b.push(highlightConfig.of(e6)), b;
|
|
1910
|
-
}
|
|
1911
|
-
var matchDeco = /* @__PURE__ */ Decoration.mark({ class: "cm-selectionMatch" }), mainMatchDeco = /* @__PURE__ */ Decoration.mark({ class: "cm-selectionMatch cm-selectionMatch-main" });
|
|
1912
|
-
function insideWordBoundaries(e6, b, x, S) {
|
|
1913
|
-
return (x == 0 || e6(b.sliceDoc(x - 1, x)) != CharCategory.Word) && (S == b.doc.length || e6(b.sliceDoc(S, S + 1)) != CharCategory.Word);
|
|
1914
|
-
}
|
|
1915
|
-
function insideWord(e6, b, x, S) {
|
|
1916
|
-
return e6(b.sliceDoc(x, x + 1)) == CharCategory.Word && e6(b.sliceDoc(S - 1, S)) == CharCategory.Word;
|
|
1917
|
-
}
|
|
1918
|
-
var matchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class {
|
|
1919
|
-
constructor(e6) {
|
|
1920
|
-
this.decorations = this.getDeco(e6);
|
|
1921
|
-
}
|
|
1922
|
-
update(e6) {
|
|
1923
|
-
(e6.selectionSet || e6.docChanged || e6.viewportChanged) && (this.decorations = this.getDeco(e6.view));
|
|
1924
|
-
}
|
|
1925
|
-
getDeco(e6) {
|
|
1926
|
-
let b = e6.state.facet(highlightConfig), { state: x } = e6, S = x.selection;
|
|
1927
|
-
if (S.ranges.length > 1) return Decoration.none;
|
|
1928
|
-
let C = S.main, w, T = null;
|
|
1929
|
-
if (C.empty) {
|
|
1930
|
-
if (!b.highlightWordAroundCursor) return Decoration.none;
|
|
1931
|
-
let e7 = x.wordAt(C.head);
|
|
1932
|
-
if (!e7) return Decoration.none;
|
|
1933
|
-
T = x.charCategorizer(C.head), w = x.sliceDoc(e7.from, e7.to);
|
|
1934
|
-
} else {
|
|
1935
|
-
let e7 = C.to - C.from;
|
|
1936
|
-
if (e7 < b.minSelectionLength || e7 > 200) return Decoration.none;
|
|
1937
|
-
if (b.wholeWords) {
|
|
1938
|
-
if (w = x.sliceDoc(C.from, C.to), T = x.charCategorizer(C.head), !(insideWordBoundaries(T, x, C.from, C.to) && insideWord(T, x, C.from, C.to))) return Decoration.none;
|
|
1939
|
-
} else if (w = x.sliceDoc(C.from, C.to), !w) return Decoration.none;
|
|
1940
|
-
}
|
|
1941
|
-
let E = [];
|
|
1942
|
-
for (let S2 of e6.visibleRanges) {
|
|
1943
|
-
let e7 = new SearchCursor(x.doc, w, S2.from, S2.to);
|
|
1944
|
-
for (; !e7.next().done; ) {
|
|
1945
|
-
let { from: S3, to: w2 } = e7.value;
|
|
1946
|
-
if ((!T || insideWordBoundaries(T, x, S3, w2)) && (C.empty && S3 <= C.from && w2 >= C.to ? E.push(mainMatchDeco.range(S3, w2)) : (S3 >= C.to || w2 <= C.from) && E.push(matchDeco.range(S3, w2)), E.length > b.maxMatches)) return Decoration.none;
|
|
1947
|
-
}
|
|
1948
|
-
}
|
|
1949
|
-
return Decoration.set(E);
|
|
1950
|
-
}
|
|
1951
|
-
}, { decorations: (e6) => e6.decorations }), defaultTheme = /* @__PURE__ */ EditorView.baseTheme({
|
|
1952
|
-
".cm-selectionMatch": { backgroundColor: "#99ff7780" },
|
|
1953
|
-
".cm-searchMatch .cm-selectionMatch": { backgroundColor: "transparent" }
|
|
1954
|
-
}), selectWord = ({ state: e6, dispatch: b }) => {
|
|
1955
|
-
let { selection: x } = e6, S = EditorSelection.create(x.ranges.map((b2) => e6.wordAt(b2.head) || EditorSelection.cursor(b2.head)), x.mainIndex);
|
|
1956
|
-
return S.eq(x) ? false : (b(e6.update({ selection: S })), true);
|
|
1957
|
-
};
|
|
1958
|
-
function findNextOccurrence(e6, b) {
|
|
1959
|
-
let { main: x, ranges: S } = e6.selection, C = e6.wordAt(x.head), w = C && C.from == x.from && C.to == x.to;
|
|
1960
|
-
for (let x2 = false, C2 = new SearchCursor(e6.doc, b, S[S.length - 1].to); ; ) if (C2.next(), C2.done) {
|
|
1961
|
-
if (x2) return null;
|
|
1962
|
-
C2 = new SearchCursor(e6.doc, b, 0, Math.max(0, S[S.length - 1].from - 1)), x2 = true;
|
|
1963
|
-
} else {
|
|
1964
|
-
if (x2 && S.some((e7) => e7.from == C2.value.from)) continue;
|
|
1965
|
-
if (w) {
|
|
1966
|
-
let b2 = e6.wordAt(C2.value.from);
|
|
1967
|
-
if (!b2 || b2.from != C2.value.from || b2.to != C2.value.to) continue;
|
|
1968
|
-
}
|
|
1969
|
-
return C2.value;
|
|
1970
|
-
}
|
|
1971
|
-
}
|
|
1972
|
-
var selectNextOccurrence = ({ state: e6, dispatch: b }) => {
|
|
1973
|
-
let { ranges: x } = e6.selection;
|
|
1974
|
-
if (x.some((e7) => e7.from === e7.to)) return selectWord({
|
|
1975
|
-
state: e6,
|
|
1976
|
-
dispatch: b
|
|
1977
|
-
});
|
|
1978
|
-
let S = e6.sliceDoc(x[0].from, x[0].to);
|
|
1979
|
-
if (e6.selection.ranges.some((b2) => e6.sliceDoc(b2.from, b2.to) != S)) return false;
|
|
1980
|
-
let C = findNextOccurrence(e6, S);
|
|
1981
|
-
return C ? (b(e6.update({
|
|
1982
|
-
selection: e6.selection.addRange(EditorSelection.range(C.from, C.to), false),
|
|
1983
|
-
effects: EditorView.scrollIntoView(C.to)
|
|
1984
|
-
})), true) : false;
|
|
1985
|
-
}, searchConfigFacet = /* @__PURE__ */ Facet.define({ combine(e6) {
|
|
1986
|
-
return combineConfig(e6, {
|
|
1987
|
-
top: false,
|
|
1988
|
-
caseSensitive: false,
|
|
1989
|
-
literal: false,
|
|
1990
|
-
regexp: false,
|
|
1991
|
-
wholeWord: false,
|
|
1992
|
-
createPanel: (e7) => new SearchPanel(e7),
|
|
1993
|
-
scrollToMatch: (e7) => EditorView.scrollIntoView(e7)
|
|
1994
|
-
});
|
|
1995
|
-
} }), SearchQuery = class {
|
|
1996
|
-
constructor(e6) {
|
|
1997
|
-
this.search = e6.search, this.caseSensitive = !!e6.caseSensitive, this.literal = !!e6.literal, this.regexp = !!e6.regexp, this.replace = e6.replace || "", this.valid = !!this.search && (!this.regexp || validRegExp(this.search)), this.unquoted = this.unquote(this.search), this.wholeWord = !!e6.wholeWord, this.test = e6.test;
|
|
1998
|
-
}
|
|
1999
|
-
unquote(e6) {
|
|
2000
|
-
return this.literal ? e6 : e6.replace(/\\([nrt\\])/g, (e7, b) => b == "n" ? "\n" : b == "r" ? "\r" : b == "t" ? " " : "\\");
|
|
2001
|
-
}
|
|
2002
|
-
eq(e6) {
|
|
2003
|
-
return this.search == e6.search && this.replace == e6.replace && this.caseSensitive == e6.caseSensitive && this.regexp == e6.regexp && this.wholeWord == e6.wholeWord && this.test == e6.test;
|
|
2004
|
-
}
|
|
2005
|
-
create() {
|
|
2006
|
-
return this.regexp ? new RegExpQuery(this) : new StringQuery(this);
|
|
2007
|
-
}
|
|
2008
|
-
getCursor(e6, b = 0, x) {
|
|
2009
|
-
let S = e6.doc ? e6 : EditorState.create({ doc: e6 });
|
|
2010
|
-
return x ?? (x = S.doc.length), this.regexp ? regexpCursor(this, S, b, x) : stringCursor(this, S, b, x);
|
|
2011
|
-
}
|
|
2012
|
-
}, QueryType = class {
|
|
2013
|
-
constructor(e6) {
|
|
2014
|
-
this.spec = e6;
|
|
2015
|
-
}
|
|
2016
|
-
};
|
|
2017
|
-
function wrapStringTest(e6, b, x) {
|
|
2018
|
-
return (S, C, w, T) => x && !x(S, C, w, T) ? false : e6(S >= T && C <= T + w.length ? w.slice(S - T, C - T) : b.doc.sliceString(S, C), b, S, C);
|
|
2019
|
-
}
|
|
2020
|
-
function stringCursor(e6, b, x, S) {
|
|
2021
|
-
let C;
|
|
2022
|
-
return e6.wholeWord && (C = stringWordTest(b.doc, b.charCategorizer(b.selection.main.head))), e6.test && (C = wrapStringTest(e6.test, b, C)), new SearchCursor(b.doc, e6.unquoted, x, S, e6.caseSensitive ? void 0 : (e7) => e7.toLowerCase(), C);
|
|
2023
|
-
}
|
|
2024
|
-
function stringWordTest(e6, b) {
|
|
2025
|
-
return (x, S, C, w) => ((w > x || w + C.length < S) && (w = Math.max(0, x - 2), C = e6.sliceString(w, Math.min(e6.length, S + 2))), (b(charBefore(C, x - w)) != CharCategory.Word || b(charAfter(C, x - w)) != CharCategory.Word) && (b(charAfter(C, S - w)) != CharCategory.Word || b(charBefore(C, S - w)) != CharCategory.Word));
|
|
2026
|
-
}
|
|
2027
|
-
var StringQuery = class extends QueryType {
|
|
2028
|
-
constructor(e6) {
|
|
2029
|
-
super(e6);
|
|
2030
|
-
}
|
|
2031
|
-
nextMatch(e6, b, x) {
|
|
2032
|
-
let S = stringCursor(this.spec, e6, x, e6.doc.length).nextOverlapping();
|
|
2033
|
-
if (S.done) {
|
|
2034
|
-
let x2 = Math.min(e6.doc.length, b + this.spec.unquoted.length);
|
|
2035
|
-
S = stringCursor(this.spec, e6, 0, x2).nextOverlapping();
|
|
2036
|
-
}
|
|
2037
|
-
return S.done || S.value.from == b && S.value.to == x ? null : S.value;
|
|
2038
|
-
}
|
|
2039
|
-
prevMatchInRange(e6, b, x) {
|
|
2040
|
-
for (let S = x; ; ) {
|
|
2041
|
-
let x2 = Math.max(b, S - 1e4 - this.spec.unquoted.length), C = stringCursor(this.spec, e6, x2, S), w = null;
|
|
2042
|
-
for (; !C.nextOverlapping().done; ) w = C.value;
|
|
2043
|
-
if (w) return w;
|
|
2044
|
-
if (x2 == b) return null;
|
|
2045
|
-
S -= 1e4;
|
|
2046
|
-
}
|
|
2047
|
-
}
|
|
2048
|
-
prevMatch(e6, b, x) {
|
|
2049
|
-
let S = this.prevMatchInRange(e6, 0, b);
|
|
2050
|
-
return S || (S = this.prevMatchInRange(e6, Math.max(0, x - this.spec.unquoted.length), e6.doc.length)), S && (S.from != b || S.to != x) ? S : null;
|
|
2051
|
-
}
|
|
2052
|
-
getReplacement(e6) {
|
|
2053
|
-
return this.spec.unquote(this.spec.replace);
|
|
2054
|
-
}
|
|
2055
|
-
matchAll(e6, b) {
|
|
2056
|
-
let x = stringCursor(this.spec, e6, 0, e6.doc.length), S = [];
|
|
2057
|
-
for (; !x.next().done; ) {
|
|
2058
|
-
if (S.length >= b) return null;
|
|
2059
|
-
S.push(x.value);
|
|
2060
|
-
}
|
|
2061
|
-
return S;
|
|
2062
|
-
}
|
|
2063
|
-
highlight(e6, b, x, S) {
|
|
2064
|
-
let C = stringCursor(this.spec, e6, Math.max(0, b - this.spec.unquoted.length), Math.min(x + this.spec.unquoted.length, e6.doc.length));
|
|
2065
|
-
for (; !C.next().done; ) S(C.value.from, C.value.to);
|
|
2066
|
-
}
|
|
2067
|
-
};
|
|
2068
|
-
function wrapRegexpTest(e6, b, x) {
|
|
2069
|
-
return (S, C, w) => (!x || x(S, C, w)) && e6(w[0], b, S, C);
|
|
2070
|
-
}
|
|
2071
|
-
function regexpCursor(e6, b, x, S) {
|
|
2072
|
-
let C;
|
|
2073
|
-
return e6.wholeWord && (C = regexpWordTest(b.charCategorizer(b.selection.main.head))), e6.test && (C = wrapRegexpTest(e6.test, b, C)), new RegExpCursor(b.doc, e6.search, {
|
|
2074
|
-
ignoreCase: !e6.caseSensitive,
|
|
2075
|
-
test: C
|
|
2076
|
-
}, x, S);
|
|
2077
|
-
}
|
|
2078
|
-
function charBefore(e6, b) {
|
|
2079
|
-
return e6.slice(findClusterBreak(e6, b, false), b);
|
|
2080
|
-
}
|
|
2081
|
-
function charAfter(e6, b) {
|
|
2082
|
-
return e6.slice(b, findClusterBreak(e6, b));
|
|
2083
|
-
}
|
|
2084
|
-
function regexpWordTest(e6) {
|
|
2085
|
-
return (b, x, S) => !S[0].length || (e6(charBefore(S.input, S.index)) != CharCategory.Word || e6(charAfter(S.input, S.index)) != CharCategory.Word) && (e6(charAfter(S.input, S.index + S[0].length)) != CharCategory.Word || e6(charBefore(S.input, S.index + S[0].length)) != CharCategory.Word);
|
|
2086
|
-
}
|
|
2087
|
-
var RegExpQuery = class extends QueryType {
|
|
2088
|
-
nextMatch(e6, b, x) {
|
|
2089
|
-
let S = regexpCursor(this.spec, e6, x, e6.doc.length).next();
|
|
2090
|
-
return S.done && (S = regexpCursor(this.spec, e6, 0, b).next()), S.done ? null : S.value;
|
|
2091
|
-
}
|
|
2092
|
-
prevMatchInRange(e6, b, x) {
|
|
2093
|
-
for (let S = 1; ; S++) {
|
|
2094
|
-
let C = Math.max(b, x - S * 1e4), w = regexpCursor(this.spec, e6, C, x), T = null;
|
|
2095
|
-
for (; !w.next().done; ) T = w.value;
|
|
2096
|
-
if (T && (C == b || T.from > C + 10)) return T;
|
|
2097
|
-
if (C == b) return null;
|
|
2098
|
-
}
|
|
2099
|
-
}
|
|
2100
|
-
prevMatch(e6, b, x) {
|
|
2101
|
-
return this.prevMatchInRange(e6, 0, b) || this.prevMatchInRange(e6, x, e6.doc.length);
|
|
2102
|
-
}
|
|
2103
|
-
getReplacement(e6) {
|
|
2104
|
-
return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g, (b, x) => {
|
|
2105
|
-
if (x == "&") return e6.match[0];
|
|
2106
|
-
if (x == "$") return "$";
|
|
2107
|
-
for (let b2 = x.length; b2 > 0; b2--) {
|
|
2108
|
-
let S = +x.slice(0, b2);
|
|
2109
|
-
if (S > 0 && S < e6.match.length) return e6.match[S] + x.slice(b2);
|
|
2110
|
-
}
|
|
2111
|
-
return b;
|
|
2112
|
-
});
|
|
2113
|
-
}
|
|
2114
|
-
matchAll(e6, b) {
|
|
2115
|
-
let x = regexpCursor(this.spec, e6, 0, e6.doc.length), S = [];
|
|
2116
|
-
for (; !x.next().done; ) {
|
|
2117
|
-
if (S.length >= b) return null;
|
|
2118
|
-
S.push(x.value);
|
|
2119
|
-
}
|
|
2120
|
-
return S;
|
|
2121
|
-
}
|
|
2122
|
-
highlight(e6, b, x, S) {
|
|
2123
|
-
let C = regexpCursor(this.spec, e6, Math.max(0, b - 250), Math.min(x + 250, e6.doc.length));
|
|
2124
|
-
for (; !C.next().done; ) S(C.value.from, C.value.to);
|
|
2125
|
-
}
|
|
2126
|
-
}, setSearchQuery = /* @__PURE__ */ StateEffect.define(), togglePanel = /* @__PURE__ */ StateEffect.define(), searchState = /* @__PURE__ */ StateField.define({
|
|
2127
|
-
create(e6) {
|
|
2128
|
-
return new SearchState(defaultQuery(e6).create(), null);
|
|
2129
|
-
},
|
|
2130
|
-
update(e6, b) {
|
|
2131
|
-
for (let x of b.effects) x.is(setSearchQuery) ? e6 = new SearchState(x.value.create(), e6.panel) : x.is(togglePanel) && (e6 = new SearchState(e6.query, x.value ? createSearchPanel : null));
|
|
2132
|
-
return e6;
|
|
2133
|
-
},
|
|
2134
|
-
provide: (e6) => showPanel.from(e6, (e7) => e7.panel)
|
|
2135
|
-
}), SearchState = class {
|
|
2136
|
-
constructor(e6, b) {
|
|
2137
|
-
this.query = e6, this.panel = b;
|
|
2138
|
-
}
|
|
2139
|
-
}, matchMark = /* @__PURE__ */ Decoration.mark({ class: "cm-searchMatch" }), selectedMatchMark = /* @__PURE__ */ Decoration.mark({ class: "cm-searchMatch cm-searchMatch-selected" }), searchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class {
|
|
2140
|
-
constructor(e6) {
|
|
2141
|
-
this.view = e6, this.decorations = this.highlight(e6.state.field(searchState));
|
|
2142
|
-
}
|
|
2143
|
-
update(e6) {
|
|
2144
|
-
let b = e6.state.field(searchState);
|
|
2145
|
-
(b != e6.startState.field(searchState) || e6.docChanged || e6.selectionSet || e6.viewportChanged) && (this.decorations = this.highlight(b));
|
|
2146
|
-
}
|
|
2147
|
-
highlight({ query: e6, panel: b }) {
|
|
2148
|
-
if (!b || !e6.spec.valid) return Decoration.none;
|
|
2149
|
-
let { view: x } = this, S = new RangeSetBuilder();
|
|
2150
|
-
for (let b2 = 0, C = x.visibleRanges, w = C.length; b2 < w; b2++) {
|
|
2151
|
-
let { from: T, to: E } = C[b2];
|
|
2152
|
-
for (; b2 < w - 1 && E > C[b2 + 1].from - 500; ) E = C[++b2].to;
|
|
2153
|
-
e6.highlight(x.state, T, E, (e7, b3) => {
|
|
2154
|
-
let C2 = x.state.selection.ranges.some((x2) => x2.from == e7 && x2.to == b3);
|
|
2155
|
-
S.add(e7, b3, C2 ? selectedMatchMark : matchMark);
|
|
2156
|
-
});
|
|
2157
|
-
}
|
|
2158
|
-
return S.finish();
|
|
2159
|
-
}
|
|
2160
|
-
}, { decorations: (e6) => e6.decorations });
|
|
2161
|
-
function searchCommand(e6) {
|
|
2162
|
-
return (b) => {
|
|
2163
|
-
let x = b.state.field(searchState, false);
|
|
2164
|
-
return x && x.query.spec.valid ? e6(b, x) : openSearchPanel(b);
|
|
2165
|
-
};
|
|
2166
|
-
}
|
|
2167
|
-
var findNext = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
|
|
2168
|
-
let { to: x } = e6.state.selection.main, S = b.nextMatch(e6.state, x, x);
|
|
2169
|
-
if (!S) return false;
|
|
2170
|
-
let C = EditorSelection.single(S.from, S.to), w = e6.state.facet(searchConfigFacet);
|
|
2171
|
-
return e6.dispatch({
|
|
2172
|
-
selection: C,
|
|
2173
|
-
effects: [announceMatch(e6, S), w.scrollToMatch(C.main, e6)],
|
|
2174
|
-
userEvent: "select.search"
|
|
2175
|
-
}), selectSearchInput(e6), true;
|
|
2176
|
-
}), findPrevious = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
|
|
2177
|
-
let { state: x } = e6, { from: S } = x.selection.main, C = b.prevMatch(x, S, S);
|
|
2178
|
-
if (!C) return false;
|
|
2179
|
-
let w = EditorSelection.single(C.from, C.to), T = e6.state.facet(searchConfigFacet);
|
|
2180
|
-
return e6.dispatch({
|
|
2181
|
-
selection: w,
|
|
2182
|
-
effects: [announceMatch(e6, C), T.scrollToMatch(w.main, e6)],
|
|
2183
|
-
userEvent: "select.search"
|
|
2184
|
-
}), selectSearchInput(e6), true;
|
|
2185
|
-
}), selectMatches = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
|
|
2186
|
-
let x = b.matchAll(e6.state, 1e3);
|
|
2187
|
-
return !x || !x.length ? false : (e6.dispatch({
|
|
2188
|
-
selection: EditorSelection.create(x.map((e7) => EditorSelection.range(e7.from, e7.to))),
|
|
2189
|
-
userEvent: "select.search.matches"
|
|
2190
|
-
}), true);
|
|
2191
|
-
}), selectSelectionMatches = ({ state: e6, dispatch: b }) => {
|
|
2192
|
-
let x = e6.selection;
|
|
2193
|
-
if (x.ranges.length > 1 || x.main.empty) return false;
|
|
2194
|
-
let { from: S, to: C } = x.main, w = [], T = 0;
|
|
2195
|
-
for (let b2 = new SearchCursor(e6.doc, e6.sliceDoc(S, C)); !b2.next().done; ) {
|
|
2196
|
-
if (w.length > 1e3) return false;
|
|
2197
|
-
b2.value.from == S && (T = w.length), w.push(EditorSelection.range(b2.value.from, b2.value.to));
|
|
2198
|
-
}
|
|
2199
|
-
return b(e6.update({
|
|
2200
|
-
selection: EditorSelection.create(w, T),
|
|
2201
|
-
userEvent: "select.search.matches"
|
|
2202
|
-
})), true;
|
|
2203
|
-
}, replaceNext = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
|
|
2204
|
-
let { state: x } = e6, { from: S, to: C } = x.selection.main;
|
|
2205
|
-
if (x.readOnly) return false;
|
|
2206
|
-
let w = b.nextMatch(x, S, S);
|
|
2207
|
-
if (!w) return false;
|
|
2208
|
-
let T = w, E = [], D, O, k = [];
|
|
2209
|
-
T.from == S && T.to == C && (O = x.toText(b.getReplacement(T)), E.push({
|
|
2210
|
-
from: T.from,
|
|
2211
|
-
to: T.to,
|
|
2212
|
-
insert: O
|
|
2213
|
-
}), T = b.nextMatch(x, T.from, T.to), k.push(EditorView.announce.of(x.phrase("replaced match on line $", x.doc.lineAt(S).number) + ".")));
|
|
2214
|
-
let A = e6.state.changes(E);
|
|
2215
|
-
return T && (D = EditorSelection.single(T.from, T.to).map(A), k.push(announceMatch(e6, T)), k.push(x.facet(searchConfigFacet).scrollToMatch(D.main, e6))), e6.dispatch({
|
|
2216
|
-
changes: A,
|
|
2217
|
-
selection: D,
|
|
2218
|
-
effects: k,
|
|
2219
|
-
userEvent: "input.replace"
|
|
2220
|
-
}), true;
|
|
2221
|
-
}), replaceAll = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
|
|
2222
|
-
if (e6.state.readOnly) return false;
|
|
2223
|
-
let x = b.matchAll(e6.state, 1e9).map((e7) => {
|
|
2224
|
-
let { from: x2, to: S2 } = e7;
|
|
2225
|
-
return {
|
|
2226
|
-
from: x2,
|
|
2227
|
-
to: S2,
|
|
2228
|
-
insert: b.getReplacement(e7)
|
|
2229
|
-
};
|
|
2230
|
-
});
|
|
2231
|
-
if (!x.length) return false;
|
|
2232
|
-
let S = e6.state.phrase("replaced $ matches", x.length) + ".";
|
|
2233
|
-
return e6.dispatch({
|
|
2234
|
-
changes: x,
|
|
2235
|
-
effects: EditorView.announce.of(S),
|
|
2236
|
-
userEvent: "input.replace.all"
|
|
2237
|
-
}), true;
|
|
2238
|
-
});
|
|
2239
|
-
function createSearchPanel(e6) {
|
|
2240
|
-
return e6.state.facet(searchConfigFacet).createPanel(e6);
|
|
2241
|
-
}
|
|
2242
|
-
function defaultQuery(e6, b) {
|
|
2243
|
-
let x = e6.selection.main, S = x.empty || x.to > x.from + 100 ? "" : e6.sliceDoc(x.from, x.to);
|
|
2244
|
-
if (b && !S) return b;
|
|
2245
|
-
let C = e6.facet(searchConfigFacet);
|
|
2246
|
-
return new SearchQuery({
|
|
2247
|
-
search: (b == null ? void 0 : b.literal) ?? C.literal ? S : S.replace(/\n/g, "\\n"),
|
|
2248
|
-
caseSensitive: (b == null ? void 0 : b.caseSensitive) ?? C.caseSensitive,
|
|
2249
|
-
literal: (b == null ? void 0 : b.literal) ?? C.literal,
|
|
2250
|
-
regexp: (b == null ? void 0 : b.regexp) ?? C.regexp,
|
|
2251
|
-
wholeWord: (b == null ? void 0 : b.wholeWord) ?? C.wholeWord
|
|
2252
|
-
});
|
|
2253
|
-
}
|
|
2254
|
-
function getSearchInput(e6) {
|
|
2255
|
-
let b = getPanel(e6, createSearchPanel);
|
|
2256
|
-
return b && b.dom.querySelector("[main-field]");
|
|
2257
|
-
}
|
|
2258
|
-
function selectSearchInput(e6) {
|
|
2259
|
-
let b = getSearchInput(e6);
|
|
2260
|
-
b && b == e6.root.activeElement && b.select();
|
|
2261
|
-
}
|
|
2262
|
-
var openSearchPanel = (e6) => {
|
|
2263
|
-
let b = e6.state.field(searchState, false);
|
|
2264
|
-
if (b && b.panel) {
|
|
2265
|
-
let x = getSearchInput(e6);
|
|
2266
|
-
if (x && x != e6.root.activeElement) {
|
|
2267
|
-
let S = defaultQuery(e6.state, b.query.spec);
|
|
2268
|
-
S.valid && e6.dispatch({ effects: setSearchQuery.of(S) }), x.focus(), x.select();
|
|
2269
|
-
}
|
|
2270
|
-
} else e6.dispatch({ effects: [togglePanel.of(true), b ? setSearchQuery.of(defaultQuery(e6.state, b.query.spec)) : StateEffect.appendConfig.of(searchExtensions)] });
|
|
2271
|
-
return true;
|
|
2272
|
-
}, closeSearchPanel = (e6) => {
|
|
2273
|
-
let b = e6.state.field(searchState, false);
|
|
2274
|
-
if (!b || !b.panel) return false;
|
|
2275
|
-
let x = getPanel(e6, createSearchPanel);
|
|
2276
|
-
return x && x.dom.contains(e6.root.activeElement) && e6.focus(), e6.dispatch({ effects: togglePanel.of(false) }), true;
|
|
2277
|
-
}, searchKeymap = [
|
|
2278
|
-
{
|
|
2279
|
-
key: "Mod-f",
|
|
2280
|
-
run: openSearchPanel,
|
|
2281
|
-
scope: "editor search-panel"
|
|
2282
|
-
},
|
|
2283
|
-
{
|
|
2284
|
-
key: "F3",
|
|
2285
|
-
run: findNext,
|
|
2286
|
-
shift: findPrevious,
|
|
2287
|
-
scope: "editor search-panel",
|
|
2288
|
-
preventDefault: true
|
|
2289
|
-
},
|
|
2290
|
-
{
|
|
2291
|
-
key: "Mod-g",
|
|
2292
|
-
run: findNext,
|
|
2293
|
-
shift: findPrevious,
|
|
2294
|
-
scope: "editor search-panel",
|
|
2295
|
-
preventDefault: true
|
|
2296
|
-
},
|
|
2297
|
-
{
|
|
2298
|
-
key: "Escape",
|
|
2299
|
-
run: closeSearchPanel,
|
|
2300
|
-
scope: "editor search-panel"
|
|
2301
|
-
},
|
|
2302
|
-
{
|
|
2303
|
-
key: "Mod-Shift-l",
|
|
2304
|
-
run: selectSelectionMatches
|
|
2305
|
-
},
|
|
2306
|
-
{
|
|
2307
|
-
key: "Mod-Alt-g",
|
|
2308
|
-
run: gotoLine
|
|
2309
|
-
},
|
|
2310
|
-
{
|
|
2311
|
-
key: "Mod-d",
|
|
2312
|
-
run: selectNextOccurrence,
|
|
2313
|
-
preventDefault: true
|
|
2314
|
-
}
|
|
2315
|
-
], SearchPanel = class {
|
|
2316
|
-
constructor(e6) {
|
|
2317
|
-
this.view = e6;
|
|
2318
|
-
let b = this.query = e6.state.field(searchState).query.spec;
|
|
2319
|
-
this.commit = this.commit.bind(this), this.searchField = crelt("input", {
|
|
2320
|
-
value: b.search,
|
|
2321
|
-
placeholder: phrase(e6, "Find"),
|
|
2322
|
-
"aria-label": phrase(e6, "Find"),
|
|
2323
|
-
class: "cm-textfield",
|
|
2324
|
-
name: "search",
|
|
2325
|
-
form: "",
|
|
2326
|
-
"main-field": "true",
|
|
2327
|
-
onchange: this.commit,
|
|
2328
|
-
onkeyup: this.commit
|
|
2329
|
-
}), this.replaceField = crelt("input", {
|
|
2330
|
-
value: b.replace,
|
|
2331
|
-
placeholder: phrase(e6, "Replace"),
|
|
2332
|
-
"aria-label": phrase(e6, "Replace"),
|
|
2333
|
-
class: "cm-textfield",
|
|
2334
|
-
name: "replace",
|
|
2335
|
-
form: "",
|
|
2336
|
-
onchange: this.commit,
|
|
2337
|
-
onkeyup: this.commit
|
|
2338
|
-
}), this.caseField = crelt("input", {
|
|
2339
|
-
type: "checkbox",
|
|
2340
|
-
name: "case",
|
|
2341
|
-
form: "",
|
|
2342
|
-
checked: b.caseSensitive,
|
|
2343
|
-
onchange: this.commit
|
|
2344
|
-
}), this.reField = crelt("input", {
|
|
2345
|
-
type: "checkbox",
|
|
2346
|
-
name: "re",
|
|
2347
|
-
form: "",
|
|
2348
|
-
checked: b.regexp,
|
|
2349
|
-
onchange: this.commit
|
|
2350
|
-
}), this.wordField = crelt("input", {
|
|
2351
|
-
type: "checkbox",
|
|
2352
|
-
name: "word",
|
|
2353
|
-
form: "",
|
|
2354
|
-
checked: b.wholeWord,
|
|
2355
|
-
onchange: this.commit
|
|
2356
|
-
});
|
|
2357
|
-
function x(e7, b2, x2) {
|
|
2358
|
-
return crelt("button", {
|
|
2359
|
-
class: "cm-button",
|
|
2360
|
-
name: e7,
|
|
2361
|
-
onclick: b2,
|
|
2362
|
-
type: "button"
|
|
2363
|
-
}, x2);
|
|
2364
|
-
}
|
|
2365
|
-
this.dom = crelt("div", {
|
|
2366
|
-
onkeydown: (e7) => this.keydown(e7),
|
|
2367
|
-
class: "cm-search"
|
|
2368
|
-
}, [
|
|
2369
|
-
this.searchField,
|
|
2370
|
-
x("next", () => findNext(e6), [phrase(e6, "next")]),
|
|
2371
|
-
x("prev", () => findPrevious(e6), [phrase(e6, "previous")]),
|
|
2372
|
-
x("select", () => selectMatches(e6), [phrase(e6, "all")]),
|
|
2373
|
-
crelt("label", null, [this.caseField, phrase(e6, "match case")]),
|
|
2374
|
-
crelt("label", null, [this.reField, phrase(e6, "regexp")]),
|
|
2375
|
-
crelt("label", null, [this.wordField, phrase(e6, "by word")]),
|
|
2376
|
-
...e6.state.readOnly ? [] : [
|
|
2377
|
-
crelt("br"),
|
|
2378
|
-
this.replaceField,
|
|
2379
|
-
x("replace", () => replaceNext(e6), [phrase(e6, "replace")]),
|
|
2380
|
-
x("replaceAll", () => replaceAll(e6), [phrase(e6, "replace all")])
|
|
2381
|
-
],
|
|
2382
|
-
crelt("button", {
|
|
2383
|
-
name: "close",
|
|
2384
|
-
onclick: () => closeSearchPanel(e6),
|
|
2385
|
-
"aria-label": phrase(e6, "close"),
|
|
2386
|
-
type: "button"
|
|
2387
|
-
}, ["\xD7"])
|
|
2388
|
-
]);
|
|
2389
|
-
}
|
|
2390
|
-
commit() {
|
|
2391
|
-
let e6 = new SearchQuery({
|
|
2392
|
-
search: this.searchField.value,
|
|
2393
|
-
caseSensitive: this.caseField.checked,
|
|
2394
|
-
regexp: this.reField.checked,
|
|
2395
|
-
wholeWord: this.wordField.checked,
|
|
2396
|
-
replace: this.replaceField.value
|
|
2397
|
-
});
|
|
2398
|
-
e6.eq(this.query) || (this.query = e6, this.view.dispatch({ effects: setSearchQuery.of(e6) }));
|
|
2399
|
-
}
|
|
2400
|
-
keydown(e6) {
|
|
2401
|
-
runScopeHandlers(this.view, e6, "search-panel") ? e6.preventDefault() : e6.keyCode == 13 && e6.target == this.searchField ? (e6.preventDefault(), (e6.shiftKey ? findPrevious : findNext)(this.view)) : e6.keyCode == 13 && e6.target == this.replaceField && (e6.preventDefault(), replaceNext(this.view));
|
|
2402
|
-
}
|
|
2403
|
-
update(e6) {
|
|
2404
|
-
for (let b of e6.transactions) for (let e7 of b.effects) e7.is(setSearchQuery) && !e7.value.eq(this.query) && this.setQuery(e7.value);
|
|
2405
|
-
}
|
|
2406
|
-
setQuery(e6) {
|
|
2407
|
-
this.query = e6, this.searchField.value = e6.search, this.replaceField.value = e6.replace, this.caseField.checked = e6.caseSensitive, this.reField.checked = e6.regexp, this.wordField.checked = e6.wholeWord;
|
|
2408
|
-
}
|
|
2409
|
-
mount() {
|
|
2410
|
-
this.searchField.select();
|
|
2411
|
-
}
|
|
2412
|
-
get pos() {
|
|
2413
|
-
return 80;
|
|
2414
|
-
}
|
|
2415
|
-
get top() {
|
|
2416
|
-
return this.view.state.facet(searchConfigFacet).top;
|
|
2417
|
-
}
|
|
2418
|
-
};
|
|
2419
|
-
function phrase(e6, b) {
|
|
2420
|
-
return e6.state.phrase(b);
|
|
2421
|
-
}
|
|
2422
|
-
var AnnounceMargin = 30, Break = /[\s\.,:;?!]/;
|
|
2423
|
-
function announceMatch(e6, { from: b, to: x }) {
|
|
2424
|
-
let S = e6.state.doc.lineAt(b), C = e6.state.doc.lineAt(x).to, w = Math.max(S.from, b - AnnounceMargin), T = Math.min(C, x + AnnounceMargin), E = e6.state.sliceDoc(w, T);
|
|
2425
|
-
if (w != S.from) {
|
|
2426
|
-
for (let e7 = 0; e7 < AnnounceMargin; e7++) if (!Break.test(E[e7 + 1]) && Break.test(E[e7])) {
|
|
2427
|
-
E = E.slice(e7);
|
|
2428
|
-
break;
|
|
2429
|
-
}
|
|
2430
|
-
}
|
|
2431
|
-
if (T != C) {
|
|
2432
|
-
for (let e7 = E.length - 1; e7 > E.length - AnnounceMargin; e7--) if (!Break.test(E[e7 - 1]) && Break.test(E[e7])) {
|
|
2433
|
-
E = E.slice(0, e7);
|
|
2434
|
-
break;
|
|
2435
|
-
}
|
|
2436
|
-
}
|
|
2437
|
-
return EditorView.announce.of(`${e6.state.phrase("current match")}. ${E} ${e6.state.phrase("on line")} ${S.number}.`);
|
|
2438
|
-
}
|
|
2439
|
-
var baseTheme = /* @__PURE__ */ EditorView.baseTheme({
|
|
2440
|
-
".cm-panel.cm-search": {
|
|
2441
|
-
padding: "2px 6px 4px",
|
|
2442
|
-
position: "relative",
|
|
2443
|
-
"& [name=close]": {
|
|
2444
|
-
position: "absolute",
|
|
2445
|
-
top: "0",
|
|
2446
|
-
right: "4px",
|
|
2447
|
-
backgroundColor: "inherit",
|
|
2448
|
-
border: "none",
|
|
2449
|
-
font: "inherit",
|
|
2450
|
-
padding: 0,
|
|
2451
|
-
margin: 0
|
|
2452
|
-
},
|
|
2453
|
-
"& input, & button, & label": { margin: ".2em .6em .2em 0" },
|
|
2454
|
-
"& input[type=checkbox]": { marginRight: ".2em" },
|
|
2455
|
-
"& label": {
|
|
2456
|
-
fontSize: "80%",
|
|
2457
|
-
whiteSpace: "pre"
|
|
2458
|
-
}
|
|
2459
|
-
},
|
|
2460
|
-
"&light .cm-searchMatch": { backgroundColor: "#ffff0054" },
|
|
2461
|
-
"&dark .cm-searchMatch": { backgroundColor: "#00ffff8a" },
|
|
2462
|
-
"&light .cm-searchMatch-selected": { backgroundColor: "#ff6a0054" },
|
|
2463
|
-
"&dark .cm-searchMatch-selected": { backgroundColor: "#ff00ff8a" }
|
|
2464
|
-
}), searchExtensions = [
|
|
2465
|
-
searchState,
|
|
2466
|
-
/* @__PURE__ */ Prec.low(searchHighlighter),
|
|
2467
|
-
baseTheme
|
|
2468
|
-
];
|
|
2469
|
-
function _extends() {
|
|
2470
|
-
return _extends = Object.assign ? Object.assign.bind() : function(e6) {
|
|
2471
|
-
for (var b = 1; b < arguments.length; b++) {
|
|
2472
|
-
var x = arguments[b];
|
|
2473
|
-
for (var S in x) ({}).hasOwnProperty.call(x, S) && (e6[S] = x[S]);
|
|
2474
|
-
}
|
|
2475
|
-
return e6;
|
|
2476
|
-
}, _extends.apply(null, arguments);
|
|
2477
|
-
}
|
|
2478
|
-
function _objectWithoutPropertiesLoose(e6, b) {
|
|
2479
|
-
if (e6 == null) return {};
|
|
2480
|
-
var x = {};
|
|
2481
|
-
for (var S in e6) if ({}.hasOwnProperty.call(e6, S)) {
|
|
2482
|
-
if (b.indexOf(S) !== -1) continue;
|
|
2483
|
-
x[S] = e6[S];
|
|
2484
|
-
}
|
|
2485
|
-
return x;
|
|
2486
|
-
}
|
|
2487
|
-
var basicSetup = function(e6) {
|
|
2488
|
-
e6 === void 0 && (e6 = {});
|
|
2489
|
-
var { crosshairCursor: b = false } = e6, x = [];
|
|
2490
|
-
e6.closeBracketsKeymap !== false && (x = x.concat(closeBracketsKeymap)), e6.defaultKeymap !== false && (x = x.concat(defaultKeymap)), e6.searchKeymap !== false && (x = x.concat(searchKeymap)), e6.historyKeymap !== false && (x = x.concat(historyKeymap)), e6.foldKeymap !== false && (x = x.concat(foldKeymap)), e6.completionKeymap !== false && (x = x.concat(completionKeymap)), e6.lintKeymap !== false && (x = x.concat(lintKeymap));
|
|
2491
|
-
var S = [];
|
|
2492
|
-
return e6.lineNumbers !== false && S.push(lineNumbers()), e6.highlightActiveLineGutter !== false && S.push(highlightActiveLineGutter()), e6.highlightSpecialChars !== false && S.push(highlightSpecialChars()), e6.history !== false && S.push(history()), e6.foldGutter !== false && S.push(foldGutter()), e6.drawSelection !== false && S.push(drawSelection()), e6.dropCursor !== false && S.push(dropCursor()), e6.allowMultipleSelections !== false && S.push(EditorState.allowMultipleSelections.of(true)), e6.indentOnInput !== false && S.push(indentOnInput()), e6.syntaxHighlighting !== false && S.push(syntaxHighlighting(defaultHighlightStyle, { fallback: true })), e6.bracketMatching !== false && S.push(bracketMatching()), e6.closeBrackets !== false && S.push(closeBrackets()), e6.autocompletion !== false && S.push(autocompletion()), e6.rectangularSelection !== false && S.push(rectangularSelection()), b !== false && S.push(crosshairCursor()), e6.highlightActiveLine !== false && S.push(highlightActiveLine()), e6.highlightSelectionMatches !== false && S.push(highlightSelectionMatches()), e6.tabSize && typeof e6.tabSize == "number" && S.push(indentUnit.of(" ".repeat(e6.tabSize))), S.concat([keymap.of(x.flat())]).filter(Boolean);
|
|
2493
|
-
}, minimalSetup = function(e6) {
|
|
2494
|
-
e6 === void 0 && (e6 = {});
|
|
2495
|
-
var b = [];
|
|
2496
|
-
e6.defaultKeymap !== false && (b = b.concat(defaultKeymap)), e6.historyKeymap !== false && (b = b.concat(historyKeymap));
|
|
2497
|
-
var x = [];
|
|
2498
|
-
return e6.highlightSpecialChars !== false && x.push(highlightSpecialChars()), e6.history !== false && x.push(history()), e6.drawSelection !== false && x.push(drawSelection()), e6.syntaxHighlighting !== false && x.push(syntaxHighlighting(defaultHighlightStyle, { fallback: true })), x.concat([keymap.of(b.flat())]).filter(Boolean);
|
|
2499
|
-
}, chalky = "#e5c07b", coral = "#e06c75", cyan = "#56b6c2", invalid = "#ffffff", ivory = "#abb2bf", stone = "#7d8799", malibu = "#61afef", sage = "#98c379", whiskey = "#d19a66", violet = "#c678dd", darkBackground = "#21252b", highlightBackground = "#2c313a", background = "#282c34", tooltipBackground = "#353a42", selection = "#3E4451", cursor = "#528bff", oneDark = [/* @__PURE__ */ EditorView.theme({
|
|
2500
|
-
"&": {
|
|
2501
|
-
color: ivory,
|
|
2502
|
-
backgroundColor: background
|
|
2503
|
-
},
|
|
2504
|
-
".cm-content": { caretColor: cursor },
|
|
2505
|
-
".cm-cursor, .cm-dropCursor": { borderLeftColor: cursor },
|
|
2506
|
-
"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection": { backgroundColor: selection },
|
|
2507
|
-
".cm-panels": {
|
|
2508
|
-
backgroundColor: darkBackground,
|
|
2509
|
-
color: ivory
|
|
2510
|
-
},
|
|
2511
|
-
".cm-panels.cm-panels-top": { borderBottom: "2px solid black" },
|
|
2512
|
-
".cm-panels.cm-panels-bottom": { borderTop: "2px solid black" },
|
|
2513
|
-
".cm-searchMatch": {
|
|
2514
|
-
backgroundColor: "#72a1ff59",
|
|
2515
|
-
outline: "1px solid #457dff"
|
|
2516
|
-
},
|
|
2517
|
-
".cm-searchMatch.cm-searchMatch-selected": { backgroundColor: "#6199ff2f" },
|
|
2518
|
-
".cm-activeLine": { backgroundColor: "#6699ff0b" },
|
|
2519
|
-
".cm-selectionMatch": { backgroundColor: "#aafe661a" },
|
|
2520
|
-
"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket": { backgroundColor: "#bad0f847" },
|
|
2521
|
-
".cm-gutters": {
|
|
2522
|
-
backgroundColor: background,
|
|
2523
|
-
color: stone,
|
|
2524
|
-
border: "none"
|
|
2525
|
-
},
|
|
2526
|
-
".cm-activeLineGutter": { backgroundColor: highlightBackground },
|
|
2527
|
-
".cm-foldPlaceholder": {
|
|
2528
|
-
backgroundColor: "transparent",
|
|
2529
|
-
border: "none",
|
|
2530
|
-
color: "#ddd"
|
|
2531
|
-
},
|
|
2532
|
-
".cm-tooltip": {
|
|
2533
|
-
border: "none",
|
|
2534
|
-
backgroundColor: tooltipBackground
|
|
2535
|
-
},
|
|
2536
|
-
".cm-tooltip .cm-tooltip-arrow:before": {
|
|
2537
|
-
borderTopColor: "transparent",
|
|
2538
|
-
borderBottomColor: "transparent"
|
|
2539
|
-
},
|
|
2540
|
-
".cm-tooltip .cm-tooltip-arrow:after": {
|
|
2541
|
-
borderTopColor: tooltipBackground,
|
|
2542
|
-
borderBottomColor: tooltipBackground
|
|
2543
|
-
},
|
|
2544
|
-
".cm-tooltip-autocomplete": { "& > ul > li[aria-selected]": {
|
|
2545
|
-
backgroundColor: highlightBackground,
|
|
2546
|
-
color: ivory
|
|
2547
|
-
} }
|
|
2548
|
-
}, { dark: true }), /* @__PURE__ */ syntaxHighlighting(/* @__PURE__ */ HighlightStyle.define([
|
|
2549
|
-
{
|
|
2550
|
-
tag: tags.keyword,
|
|
2551
|
-
color: violet
|
|
2552
|
-
},
|
|
2553
|
-
{
|
|
2554
|
-
tag: [
|
|
2555
|
-
tags.name,
|
|
2556
|
-
tags.deleted,
|
|
2557
|
-
tags.character,
|
|
2558
|
-
tags.propertyName,
|
|
2559
|
-
tags.macroName
|
|
2560
|
-
],
|
|
2561
|
-
color: coral
|
|
2562
|
-
},
|
|
2563
|
-
{
|
|
2564
|
-
tag: [/* @__PURE__ */ tags.function(tags.variableName), tags.labelName],
|
|
2565
|
-
color: malibu
|
|
2566
|
-
},
|
|
2567
|
-
{
|
|
2568
|
-
tag: [
|
|
2569
|
-
tags.color,
|
|
2570
|
-
/* @__PURE__ */ tags.constant(tags.name),
|
|
2571
|
-
/* @__PURE__ */ tags.standard(tags.name)
|
|
2572
|
-
],
|
|
2573
|
-
color: whiskey
|
|
2574
|
-
},
|
|
2575
|
-
{
|
|
2576
|
-
tag: [/* @__PURE__ */ tags.definition(tags.name), tags.separator],
|
|
2577
|
-
color: ivory
|
|
2578
|
-
},
|
|
2579
|
-
{
|
|
2580
|
-
tag: [
|
|
2581
|
-
tags.typeName,
|
|
2582
|
-
tags.className,
|
|
2583
|
-
tags.number,
|
|
2584
|
-
tags.changed,
|
|
2585
|
-
tags.annotation,
|
|
2586
|
-
tags.modifier,
|
|
2587
|
-
tags.self,
|
|
2588
|
-
tags.namespace
|
|
2589
|
-
],
|
|
2590
|
-
color: chalky
|
|
2591
|
-
},
|
|
2592
|
-
{
|
|
2593
|
-
tag: [
|
|
2594
|
-
tags.operator,
|
|
2595
|
-
tags.operatorKeyword,
|
|
2596
|
-
tags.url,
|
|
2597
|
-
tags.escape,
|
|
2598
|
-
tags.regexp,
|
|
2599
|
-
tags.link,
|
|
2600
|
-
/* @__PURE__ */ tags.special(tags.string)
|
|
2601
|
-
],
|
|
2602
|
-
color: cyan
|
|
2603
|
-
},
|
|
2604
|
-
{
|
|
2605
|
-
tag: [tags.meta, tags.comment],
|
|
2606
|
-
color: stone
|
|
2607
|
-
},
|
|
2608
|
-
{
|
|
2609
|
-
tag: tags.strong,
|
|
2610
|
-
fontWeight: "bold"
|
|
2611
|
-
},
|
|
2612
|
-
{
|
|
2613
|
-
tag: tags.emphasis,
|
|
2614
|
-
fontStyle: "italic"
|
|
2615
|
-
},
|
|
2616
|
-
{
|
|
2617
|
-
tag: tags.strikethrough,
|
|
2618
|
-
textDecoration: "line-through"
|
|
2619
|
-
},
|
|
2620
|
-
{
|
|
2621
|
-
tag: tags.link,
|
|
2622
|
-
color: stone,
|
|
2623
|
-
textDecoration: "underline"
|
|
2624
|
-
},
|
|
2625
|
-
{
|
|
2626
|
-
tag: tags.heading,
|
|
2627
|
-
fontWeight: "bold",
|
|
2628
|
-
color: coral
|
|
2629
|
-
},
|
|
2630
|
-
{
|
|
2631
|
-
tag: [
|
|
2632
|
-
tags.atom,
|
|
2633
|
-
tags.bool,
|
|
2634
|
-
/* @__PURE__ */ tags.special(tags.variableName)
|
|
2635
|
-
],
|
|
2636
|
-
color: whiskey
|
|
2637
|
-
},
|
|
2638
|
-
{
|
|
2639
|
-
tag: [
|
|
2640
|
-
tags.processingInstruction,
|
|
2641
|
-
tags.string,
|
|
2642
|
-
tags.inserted
|
|
2643
|
-
],
|
|
2644
|
-
color: sage
|
|
2645
|
-
},
|
|
2646
|
-
{
|
|
2647
|
-
tag: tags.invalid,
|
|
2648
|
-
color: invalid
|
|
2649
|
-
}
|
|
2650
|
-
]))], defaultLightThemeOption = EditorView.theme({ "&": { backgroundColor: "#fff" } }, { dark: false }), getDefaultExtensions = function(e6) {
|
|
2651
|
-
e6 === void 0 && (e6 = {});
|
|
2652
|
-
var { indentWithTab: b = true, editable: x = true, readOnly: S = false, theme: C = "light", placeholder: w = "", basicSetup: T = true } = e6, E = [];
|
|
2653
|
-
switch (b && E.unshift(keymap.of([indentWithTab])), T && (typeof T == "boolean" ? E.unshift(basicSetup()) : E.unshift(basicSetup(T))), w && E.unshift(placeholder(w)), C) {
|
|
2654
|
-
case "light":
|
|
2655
|
-
E.push(defaultLightThemeOption);
|
|
2656
|
-
break;
|
|
2657
|
-
case "dark":
|
|
2658
|
-
E.push(oneDark);
|
|
2659
|
-
break;
|
|
2660
|
-
case "none":
|
|
2661
|
-
break;
|
|
2662
|
-
default:
|
|
2663
|
-
E.push(C);
|
|
2664
|
-
break;
|
|
2665
|
-
}
|
|
2666
|
-
return x === false && E.push(EditorView.editable.of(false)), S && E.push(EditorState.readOnly.of(true)), [...E];
|
|
2667
|
-
}, getStatistics = (e6) => ({
|
|
2668
|
-
line: e6.state.doc.lineAt(e6.state.selection.main.from),
|
|
2669
|
-
lineCount: e6.state.doc.lines,
|
|
2670
|
-
lineBreak: e6.state.lineBreak,
|
|
2671
|
-
length: e6.state.doc.length,
|
|
2672
|
-
readOnly: e6.state.readOnly,
|
|
2673
|
-
tabSize: e6.state.tabSize,
|
|
2674
|
-
selection: e6.state.selection,
|
|
2675
|
-
selectionAsSingle: e6.state.selection.asSingle().main,
|
|
2676
|
-
ranges: e6.state.selection.ranges,
|
|
2677
|
-
selectionCode: e6.state.sliceDoc(e6.state.selection.main.from, e6.state.selection.main.to),
|
|
2678
|
-
selections: e6.state.selection.ranges.map((b) => e6.state.sliceDoc(b.from, b.to)),
|
|
2679
|
-
selectedText: e6.state.selection.ranges.some((e7) => !e7.empty)
|
|
2680
|
-
}), TimeoutLatch = class {
|
|
2681
|
-
constructor(e6, b) {
|
|
2682
|
-
this.timeLeftMS = void 0, this.timeoutMS = void 0, this.isCancelled = false, this.isTimeExhausted = false, this.callbacks = [], this.timeLeftMS = b, this.timeoutMS = b, this.callbacks.push(e6);
|
|
2683
|
-
}
|
|
2684
|
-
tick() {
|
|
2685
|
-
if (!this.isCancelled && !this.isTimeExhausted && (this.timeLeftMS--, this.timeLeftMS <= 0)) {
|
|
2686
|
-
this.isTimeExhausted = true;
|
|
2687
|
-
var e6 = this.callbacks.slice();
|
|
2688
|
-
this.callbacks.length = 0, e6.forEach((e7) => {
|
|
2689
|
-
try {
|
|
2690
|
-
e7();
|
|
2691
|
-
} catch (e8) {
|
|
2692
|
-
console.error("TimeoutLatch callback error:", e8);
|
|
2693
|
-
}
|
|
2694
|
-
});
|
|
2695
|
-
}
|
|
2696
|
-
}
|
|
2697
|
-
cancel() {
|
|
2698
|
-
this.isCancelled = true, this.callbacks.length = 0;
|
|
2699
|
-
}
|
|
2700
|
-
reset() {
|
|
2701
|
-
this.timeLeftMS = this.timeoutMS, this.isCancelled = false, this.isTimeExhausted = false;
|
|
2702
|
-
}
|
|
2703
|
-
get isDone() {
|
|
2704
|
-
return this.isCancelled || this.isTimeExhausted;
|
|
2705
|
-
}
|
|
2706
|
-
}, Scheduler = class {
|
|
2707
|
-
constructor() {
|
|
2708
|
-
this.interval = null, this.latches = /* @__PURE__ */ new Set();
|
|
2709
|
-
}
|
|
2710
|
-
add(e6) {
|
|
2711
|
-
this.latches.add(e6), this.start();
|
|
2712
|
-
}
|
|
2713
|
-
remove(e6) {
|
|
2714
|
-
this.latches.delete(e6), this.latches.size === 0 && this.stop();
|
|
2715
|
-
}
|
|
2716
|
-
start() {
|
|
2717
|
-
this.interval === null && (this.interval = setInterval(() => {
|
|
2718
|
-
this.latches.forEach((e6) => {
|
|
2719
|
-
e6.tick(), e6.isDone && this.remove(e6);
|
|
2720
|
-
});
|
|
2721
|
-
}, 1));
|
|
2722
|
-
}
|
|
2723
|
-
stop() {
|
|
2724
|
-
this.interval !== null && (clearInterval(this.interval), this.interval = null);
|
|
2725
|
-
}
|
|
2726
|
-
}, globalScheduler = null, getScheduler = () => typeof window > "u" ? new Scheduler() : (globalScheduler || (globalScheduler = new Scheduler()), globalScheduler), ExternalChange = Annotation.define(), TYPING_TIMOUT = 200, emptyExtensions = [];
|
|
2727
|
-
function useCodeMirror(e6) {
|
|
2728
|
-
var { value: b, selection: x, onChange: S, onStatistics: C, onCreateEditor: w, onUpdate: T, extensions: E = emptyExtensions, autoFocus: D, theme: O = "light", height: k = null, minHeight: A = null, maxHeight: j = null, width: M = null, minWidth: N = null, maxWidth: P = null, placeholder: F = "", editable: I = true, readOnly: L = false, indentWithTab: z = true, basicSetup: B = true, root: V, initialState: H } = e6, [U, W] = (0, import_react.useState)(), [G, K] = (0, import_react.useState)(), [J, Y] = (0, import_react.useState)(), X = (0, import_react.useState)(() => ({ current: null }))[0], Z = (0, import_react.useState)(() => ({ current: null }))[0], Q = EditorView.theme({
|
|
2729
|
-
"&": {
|
|
2730
|
-
height: k,
|
|
2731
|
-
minHeight: A,
|
|
2732
|
-
maxHeight: j,
|
|
2733
|
-
width: M,
|
|
2734
|
-
minWidth: N,
|
|
2735
|
-
maxWidth: P
|
|
2736
|
-
},
|
|
2737
|
-
"& .cm-scroller": { height: "100% !important" }
|
|
2738
|
-
}), $ = [
|
|
2739
|
-
EditorView.updateListener.of((e7) => {
|
|
2740
|
-
e7.docChanged && typeof S == "function" && !e7.transactions.some((e8) => e8.annotation(ExternalChange)) && (X.current ? X.current.reset() : (X.current = new TimeoutLatch(() => {
|
|
2741
|
-
if (Z.current) {
|
|
2742
|
-
var e8 = Z.current;
|
|
2743
|
-
Z.current = null, e8();
|
|
2744
|
-
}
|
|
2745
|
-
X.current = null;
|
|
2746
|
-
}, TYPING_TIMOUT), getScheduler().add(X.current)), S(e7.state.doc.toString(), e7)), C && C(getStatistics(e7));
|
|
2747
|
-
}),
|
|
2748
|
-
Q,
|
|
2749
|
-
...getDefaultExtensions({
|
|
2750
|
-
theme: O,
|
|
2751
|
-
editable: I,
|
|
2752
|
-
readOnly: L,
|
|
2753
|
-
placeholder: F,
|
|
2754
|
-
indentWithTab: z,
|
|
2755
|
-
basicSetup: B
|
|
2756
|
-
})
|
|
2757
|
-
];
|
|
2758
|
-
return T && typeof T == "function" && $.push(EditorView.updateListener.of(T)), $ = $.concat(E), (0, import_react.useLayoutEffect)(() => {
|
|
2759
|
-
if (U && !J) {
|
|
2760
|
-
var e7 = {
|
|
2761
|
-
doc: b,
|
|
2762
|
-
selection: x,
|
|
2763
|
-
extensions: $
|
|
2764
|
-
}, S2 = H ? EditorState.fromJSON(H.json, e7, H.fields) : EditorState.create(e7);
|
|
2765
|
-
if (Y(S2), !G) {
|
|
2766
|
-
var C2 = new EditorView({
|
|
2767
|
-
state: S2,
|
|
2768
|
-
parent: U,
|
|
2769
|
-
root: V
|
|
2770
|
-
});
|
|
2771
|
-
K(C2), w && w(C2, S2);
|
|
2772
|
-
}
|
|
2773
|
-
}
|
|
2774
|
-
return () => {
|
|
2775
|
-
G && (Y(void 0), K(void 0));
|
|
2776
|
-
};
|
|
2777
|
-
}, [U, J]), (0, import_react.useEffect)(() => {
|
|
2778
|
-
e6.container && W(e6.container);
|
|
2779
|
-
}, [e6.container]), (0, import_react.useEffect)(() => () => {
|
|
2780
|
-
G && (G.destroy(), K(void 0)), X.current && (X.current = (X.current.cancel(), null));
|
|
2781
|
-
}, [G]), (0, import_react.useEffect)(() => {
|
|
2782
|
-
D && G && G.focus();
|
|
2783
|
-
}, [D, G]), (0, import_react.useEffect)(() => {
|
|
2784
|
-
G && G.dispatch({ effects: StateEffect.reconfigure.of($) });
|
|
2785
|
-
}, [
|
|
2786
|
-
O,
|
|
2787
|
-
E,
|
|
2788
|
-
k,
|
|
2789
|
-
A,
|
|
2790
|
-
j,
|
|
2791
|
-
M,
|
|
2792
|
-
N,
|
|
2793
|
-
P,
|
|
2794
|
-
F,
|
|
2795
|
-
I,
|
|
2796
|
-
L,
|
|
2797
|
-
z,
|
|
2798
|
-
B,
|
|
2799
|
-
S,
|
|
2800
|
-
T
|
|
2801
|
-
]), (0, import_react.useEffect)(() => {
|
|
2802
|
-
if (b !== void 0) {
|
|
2803
|
-
var e7 = G ? G.state.doc.toString() : "";
|
|
2804
|
-
if (G && b !== e7) {
|
|
2805
|
-
var x2 = X.current && !X.current.isDone, S2 = () => {
|
|
2806
|
-
G && b !== G.state.doc.toString() && G.dispatch({
|
|
2807
|
-
changes: {
|
|
2808
|
-
from: 0,
|
|
2809
|
-
to: G.state.doc.toString().length,
|
|
2810
|
-
insert: b || ""
|
|
2811
|
-
},
|
|
2812
|
-
annotations: [ExternalChange.of(true)]
|
|
2813
|
-
});
|
|
2814
|
-
};
|
|
2815
|
-
x2 ? Z.current = S2 : S2();
|
|
2816
|
-
}
|
|
2817
|
-
}
|
|
2818
|
-
}, [b, G]), {
|
|
2819
|
-
state: J,
|
|
2820
|
-
setState: Y,
|
|
2821
|
-
view: G,
|
|
2822
|
-
setView: K,
|
|
2823
|
-
container: U,
|
|
2824
|
-
setContainer: W
|
|
2825
|
-
};
|
|
2826
|
-
}
|
|
2827
|
-
var _excluded = [
|
|
2828
|
-
"className",
|
|
2829
|
-
"value",
|
|
2830
|
-
"selection",
|
|
2831
|
-
"extensions",
|
|
2832
|
-
"onChange",
|
|
2833
|
-
"onStatistics",
|
|
2834
|
-
"onCreateEditor",
|
|
2835
|
-
"onUpdate",
|
|
2836
|
-
"autoFocus",
|
|
2837
|
-
"theme",
|
|
2838
|
-
"height",
|
|
2839
|
-
"minHeight",
|
|
2840
|
-
"maxHeight",
|
|
2841
|
-
"width",
|
|
2842
|
-
"minWidth",
|
|
2843
|
-
"maxWidth",
|
|
2844
|
-
"basicSetup",
|
|
2845
|
-
"placeholder",
|
|
2846
|
-
"indentWithTab",
|
|
2847
|
-
"editable",
|
|
2848
|
-
"readOnly",
|
|
2849
|
-
"root",
|
|
2850
|
-
"initialState"
|
|
2851
|
-
], ReactCodeMirror = /* @__PURE__ */ (0, import_react.forwardRef)((e6, b) => {
|
|
2852
|
-
var { className: x, value: S = "", selection: C, extensions: w = [], onChange: T, onStatistics: E, onCreateEditor: D, onUpdate: O, autoFocus: k, theme: A = "light", height: j, minHeight: M, maxHeight: N, width: P, minWidth: F, maxWidth: I, basicSetup: L, placeholder: R, indentWithTab: z, editable: B, readOnly: V, root: H, initialState: U } = e6, W = _objectWithoutPropertiesLoose(e6, _excluded), G = (0, import_react.useRef)(null), { state: K, view: J, container: Y, setContainer: X } = useCodeMirror({
|
|
2853
|
-
root: H,
|
|
2854
|
-
value: S,
|
|
2855
|
-
autoFocus: k,
|
|
2856
|
-
theme: A,
|
|
2857
|
-
height: j,
|
|
2858
|
-
minHeight: M,
|
|
2859
|
-
maxHeight: N,
|
|
2860
|
-
width: P,
|
|
2861
|
-
minWidth: F,
|
|
2862
|
-
maxWidth: I,
|
|
2863
|
-
basicSetup: L,
|
|
2864
|
-
placeholder: R,
|
|
2865
|
-
indentWithTab: z,
|
|
2866
|
-
editable: B,
|
|
2867
|
-
readOnly: V,
|
|
2868
|
-
selection: C,
|
|
2869
|
-
onChange: T,
|
|
2870
|
-
onStatistics: E,
|
|
2871
|
-
onCreateEditor: D,
|
|
2872
|
-
onUpdate: O,
|
|
2873
|
-
extensions: w,
|
|
2874
|
-
initialState: U
|
|
2875
|
-
});
|
|
2876
|
-
(0, import_react.useImperativeHandle)(b, () => ({
|
|
2877
|
-
editor: G.current,
|
|
2878
|
-
state: K,
|
|
2879
|
-
view: J
|
|
2880
|
-
}), [
|
|
2881
|
-
G,
|
|
2882
|
-
Y,
|
|
2883
|
-
K,
|
|
2884
|
-
J
|
|
2885
|
-
]);
|
|
2886
|
-
var Z = (0, import_react.useCallback)((e7) => {
|
|
2887
|
-
G.current = e7, X(e7);
|
|
2888
|
-
}, [X]);
|
|
2889
|
-
if (typeof S != "string") throw Error("value must be typeof string but got " + typeof S);
|
|
2890
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", _extends({
|
|
2891
|
-
ref: Z,
|
|
2892
|
-
className: (typeof A == "string" ? "cm-theme-" + A : "cm-theme") + (x ? " " + x : "")
|
|
2893
|
-
}, W));
|
|
2894
|
-
});
|
|
2895
|
-
ReactCodeMirror.displayName = "CodeMirror";
|
|
2896
|
-
var esm_default = ReactCodeMirror, strContent = 63, strDollarBrace = 64, strEnd = 65, escapeSequence = 66, indStrContent = 67, indStrDollarBrace = 68, indStrEnd = 69, indEscapeSequence = 70, quote = 34, backslack = 92, braceL = 123, dollar = 36, apostrophe = 39, scanString = /* @__PURE__ */ new ExternalTokenizer((e6) => {
|
|
2897
|
-
for (let b = false, x = 0; ; x++) {
|
|
2898
|
-
let { next: S } = e6;
|
|
2899
|
-
if (S < 0) {
|
|
2900
|
-
x > 0 && e6.acceptToken(strContent);
|
|
2901
|
-
break;
|
|
2902
|
-
} else if (S === quote) {
|
|
2903
|
-
x > 0 ? e6.acceptToken(strContent) : e6.acceptToken(strEnd, 1);
|
|
2904
|
-
break;
|
|
2905
|
-
} else if (S === braceL && b) {
|
|
2906
|
-
x == 1 ? e6.acceptToken(strDollarBrace, 1) : e6.acceptToken(strContent, -1);
|
|
2907
|
-
break;
|
|
2908
|
-
} else S === backslack && (e6.advance(), e6.acceptToken(escapeSequence, 1));
|
|
2909
|
-
b = S === dollar, e6.advance();
|
|
2910
|
-
}
|
|
2911
|
-
}), scanIndString = /* @__PURE__ */ new ExternalTokenizer((e6) => {
|
|
2912
|
-
for (let b = false, x = false, S = 0; ; S++) {
|
|
2913
|
-
let { next: C } = e6;
|
|
2914
|
-
if (C < 0) {
|
|
2915
|
-
S > 0 && e6.acceptToken(indStrContent);
|
|
2916
|
-
break;
|
|
2917
|
-
} else if (C === apostrophe && x) {
|
|
2918
|
-
S > 1 ? e6.acceptToken(indStrContent, -1) : e6.acceptToken(indStrEnd, 1);
|
|
2919
|
-
break;
|
|
2920
|
-
} else if (C === braceL && b) {
|
|
2921
|
-
S == 1 ? e6.acceptToken(indStrDollarBrace, 1) : e6.acceptToken(indStrContent, -1);
|
|
2922
|
-
break;
|
|
2923
|
-
} else C === backslack && (e6.advance(), e6.acceptToken(indEscapeSequence, 1));
|
|
2924
|
-
b = C === dollar, x = C === apostrophe, e6.advance();
|
|
2925
|
-
}
|
|
2926
|
-
}), spec_Identifier = {
|
|
2927
|
-
__proto__: null,
|
|
2928
|
-
assert: 22,
|
|
2929
|
-
with: 26,
|
|
2930
|
-
let: 30,
|
|
2931
|
-
inherit: 42,
|
|
2932
|
-
in: 48,
|
|
2933
|
-
if: 52,
|
|
2934
|
-
then: 54,
|
|
2935
|
-
else: 56,
|
|
2936
|
-
builtins: 70,
|
|
2937
|
-
null: 214,
|
|
2938
|
-
true: 216,
|
|
2939
|
-
false: 216,
|
|
2940
|
-
rec: 100,
|
|
2941
|
-
or: 108
|
|
2942
|
-
}, parser$3 = /* @__PURE__ */ LRParser.deserialize({
|
|
2943
|
-
version: 14,
|
|
2944
|
-
states: "7QO]QSOOO!sQWO'#DyO#XQ`O'#EjO&QQSO'#C`O&YQTO'#CnO'lQWO'#EWO(VQSO'#C|O(VQSO'#C|OOQO'#DQ'#DQOOQO'#DT'#DTO)dQUO'#DUO*yQSO'#DcOOQO'#Ej'#EjO,XQ`O'#EiOOQO'#Ei'#EiO-wQ`O'#EXOOQO'#Eh'#EhOOQO'#EX'#EXOOQO'#EW'#EWOOQO'#Dw'#DwO]QSO'#CfO]QSO'#ChO/dQSO'#D^O]QSO'#CuO]QSO'#D[O/xQSO'#D_QOQSOOO/}QSO'#CdO0`Q`O,5:eO3XQSO,5:eO3aQSO,5:eO4sQSO'#EOOOQO'#Cm'#CmOOQO'#Df'#DfO4}QSO,59wO]QSO'#CpO5`QSO'#ClO5eQSO'#EUO]QSO,58zO5sQSO,58zO5xQSO,58zOOQP'#EQ'#EQOOQP'#Dg'#DgO5}QTO,59YOOQO,59Y,59YO]QSO'#CoO6]QSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO6|QWO,59hO8VQSO'#D]O/xQSO'#D^OOQO,59h,59hOOQQ'#En'#EnOOQQ'#Dj'#DjO8hQUO,59pOOQO,59p,59pO]QSO'#DVOOQO'#Dk'#DkO8vQSO,59}OOQO,59},59}O8}QSO'#EiO6]QSO,59jOOQO,59i,59iO9XQSO,59QO9^QSO,59SO9cQSO,59UO]QSO,59UOOQO,59x,59xO9tQSO,59aO9yQSO,59vOOQO,59y,59yO:OQSO'#DhO;hQSO,5:jO]QSO,59OO;rQWO1G0PO;zQSO1G0POOQO1G0P1G0POOQO-E7d-E7dOOQO1G/c1G/cO<SQSO,59[O]QSO,59WOOQO'#Di'#DiO<XQSO,5:pO]QSO,5:qOOQO1G.f1G.fO<gQWO'#DyO<rQSO1G.fOOQP-E7e-E7eOOQO1G.t1G.tO<wQSO,59ZO<|Q`O'#EOOOQO1G/P1G/PO@PQWO1G/PO@WQWO1G/POAuQWO1G/POA|QWO1G/POBTQWO1G/POC^QWO1G/PODgQWO1G/POEpQWO1G/POFyQWO1G/POHSQWO1G/POI]QWO1G/POJfQWO1G/POKoQWO1G/POOQO,59w,59wOOQQ-E7h-E7hOOQO1G/[1G/[OLYQSO,59qOOQO-E7i-E7iOOQO1G/i1G/iOMfQ`O1G/UO]QSO1G.lO]QSO1G.nO]QSO1G.pOOQO1G.p1G.pO]QSO1G.{OOQO1G/b1G/bOOQO,5:S,5:SOOQO-E7f-E7fOOQO1G.j1G.jO! UQSO'#CdOOQO,5:P,5:PO! aQSO7+%kO! fQWO7+%kOOQO-E7c-E7cOOQO7+%k7+%kOOQO1G.v1G.vO! nQSO1G.rOOQO-E7g-E7gOOQO1G0[1G0[O! sQSO1G0]OOQO,5:e,5:eO]QSO7+$QOOQP1G.u1G.uO! xQ`O,5:jOOQQ1G/]1G/]O!#eQSO1G/UO)rQSO7+$pOOQO7+$W7+$WOOQO7+$Y7+$YOOQO7+$[7+$[O!#oQSO7+$gOOQO<<IV<<IVO!#tQSO<<IVP!#yQSO'#DeOOQO7+$^7+$^O!$OQSO7+%wOOQO<<Gl<<GlOOQO<<H[<<H[O]QSO<<HROOQOAN>qAN>qO!$ZQSO<<IcOOQOAN=mAN=mOOQOAN>}AN>}O!$iQSO,59jO)rQSO7+$p",
|
|
2945
|
-
stateData: "!$x~O!jOSPOSQOS~OTQOUPOZdO]eO_fOfhOjgOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~OTkOVlOXnOeuO!sSO!usO~O!lvO!pwOT#^XU#^X_#^Xf#^Xn#^Xo#^Xs#^Xu#^Xv#^Xz#^X{#^X|#^X}#^X!S#^X!U#^X!`#^X!n#^X!s#^X!v#^X!|#^X!}#^X#O#^X#P#^X#Q#^X#R#^X#S#^X#T#^X#U#^X#V#^X#W#^X#X#^X#Y#^X#_#^X#`#^X#a#^X!q#^Xk#^Xg#^XV#^X!o#^Xl#^X~O!lvO!pxO~O!ayO!b}O!c|O!dyO~On!TOo!VO!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO#X![O#Y!]O~O!`!zX!q!zXk!zXg!zXV!zX!o!zXl!zX~P&hOT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~O!e!bO!f!fO!g!eO!h!bO~OT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#_WO#`XO#aYO~O!T!iO~P)rOT#]XU#]X_#]Xf#]Xs#]Xu#]Xv#]Xz#]X{#]X|#]X}#]X!S#]X!U#]X!s#]X#_#]X#`#]X#a#]X~O!v!kOn#]Xo#]X!`#]X!n#]X!|#]X!}#]X#O#]X#P#]X#Q#]X#R#]X#S#]X#T#]X#U#]X#V#]X#W#]X#X#]X#Y#]X!q#]Xk#]Xg#]XV#]X!o#]Xl#]X~P+QOn!{Xo!{X!`!{X!n!{X!|!{X!}!{X#O!{X#P!{X#Q!{X#R!{X#S!{X#T!{X#U!{X#V!{X#W!{X#X!{X#Y!{X!q!{Xk!{Xg!{XV!{X!o!{Xl!{X~P)rOToOU!_OeuOh!pO!sSO!usO~OU!_O~O!n!wO!v!uOVWX!oWX!w!rX~OT!PaU!Pa_!Paf!Pan!Pao!Pas!Pau!Pav!Paz!Pa{!Pa|!Pa}!Pa!S!Pa!U!Pa!`!Pa!l!ma!n!Pa!p!ma!s!Pa!v!Pa!|!Pa!}!Pa#O!Pa#P!Pa#Q!Pa#R!Pa#S!Pa#T!Pa#U!Pa#V!Pa#W!Pa#X!Pa#Y!Pa#_!Pa#`!Pa#a!Pa!q!Pak!Pag!PaV!Pa!o!Pal!Pa~OV!zO!o!xO~OV!zO~O!v!uOT!rXU!rX_!rXf!rXs!rXu!rXv!rXz!rX{!rX|!rX}!rX!S!rX!U!rX!W!rX!s!rX#_!rX#`!rX#a!rX~O!w!rX!T!rX~P3fOToOV!|OeuO!sSO!usO~O!w#OO~OT#POf#RO!sSO!usO~OU#TO~OT#UO~O!ayO!b}O!c#WO!dyO~OT#YO!sSO!usO~O!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO~Onpaopa!`pa#Rpa#Spa#Tpa#Upa#Vpa#Wpa#Xpa#Ypa!qpakpagpaVpa!opalpa~P6hOToOV#iOeuO!sSO!usO~O!e!bO!f!fO!g#kO!h!bO~O!T#nO~P)rO!v$mO!T#]X~P+QO!q#pO~O!q#qO~OToOeuOh#rO!sSO!usO~Ok#tO~Og#uO~OT#vO!sSO!usO~O!v!uOT!raU!ra_!raf!ras!rau!rav!raz!ra{!ra|!ra}!ra!S!ra!U!ra!W!ra!s!ra#_!ra#`!ra#a!ra~O!w!ra!T!ra~P:ZOT#yOX#{O~OV$OO!o#|O~OV$PO~OT#PO!q$SO!sSO!usO~OT#yOV$UOXnO~O!l$VO~OV$WO~On!rXo!rX!`!rX!n!rX!|!rX!}!rX#O!rX#P!rX#Q!rX#R!rX#S!rX#T!rX#U!rX#V!rX#W!rX#X!rX#Y!rX!q!rXk!rXg!rXV!rX!o!rXl!rX~P3fO!n!OO!|!POnmiomi!`mi#Omi#Pmi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O!}mi~P>iO!}!PO~P>iO!n!OO!|!PO!}!PO#O!QOnmiomi!`mi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O#Pmi~P@_O#P!RO~P@_O#R!TOnmiomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TOomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TO#S!UOomi!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO!`mi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO!`mi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO!`mi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO!`mi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hO!`mi!qmikmigmiVmi!omilmi~P&hOV$YO~OTriUri_rifrisriurivrizri{ri|ri}ri!Sri!Uri!sri#_ri#`ri#ari~O!W$[Onriori!`ri!nri!|ri!}ri#Ori#Pri#Qri#Rri#Sri#Tri#Uri#Vri#Wri#Xri#Yri!qrikrigriVri!orilri~PL_O!n!wOVWX!oWX~OV$aO~OT#yOX$bO~O!q$dO~Og$eO~On!rao!ra!`!ra!n!ra!|!ra!}!ra#O!ra#P!ra#Q!ra#R!ra#S!ra#T!ra#U!ra#V!ra#W!ra#X!ra#Y!ra!q!rak!rag!raV!ra!o!ral!ra~P:ZO!W$nO!Tri~PL_Ol$hO~OV$iO~OT#yO~OT#PO!sSO!usO~OT#PO!q$lO!sSO!usO~OToO!sSO!usO~Oz!v!v~",
|
|
2946
|
-
goto: "2g#cPPPP#dPPP#yP#dP#dP#dP$S$Z$k%{%fPPPP&PPPP&fPP&f'[(QP({PP({({)vPPPP({)z({({PPP({P*|+S+_+e+p+z,QPPPPPPPPPPP,WP-cPPPP-{P.VPPP$S$S#d.ZPPPPPPPPPPPPPP/o0e1fPPP2cwcOdeghsv}!f!p!w#O#R#p#q#r#t$V$hSmP#TV#z!x#|$cZqPfr!_!oYtPfr!_!oQ#Z!OQ#o!kR$Z$m!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n[oPfr!_!o$mW#Pu#Q$e$jS#Y!O!kR#v!uTyS{wbOdeghsv}!f!p!w#O#R#p#q#r#t$V$h!gaOUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!g`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!q^OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n!q[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nT!bY!d!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nS!qf!`R!tiQ!ymR#}!ySrP!_Q!ofT!{r!oQ{SR#V{S!vkoS#w!v$XR$X#YQ#QuS$R#Q$jR$j$eQ!dYR#j!dQ!hZR#m!hQjOQ!mdQ!neQ!rgQ!shQ!}sQ#SvQ#X}Q#l!fQ#s!pQ#x!wQ$Q#OQ$T#RQ$]#pQ$^#qQ$_#rQ$`#tQ$f$VR$k$hvROdeghsv}!f!p!w#O#R#p#q#r#t$V$hR#UwapPfr!O!_!k!o$mTzS{vTOdeghsv}!f!p!w#O#R#p#q#r#t$V$hQ!^UQ!aVQ#[!PQ#]!QQ#^!RQ#_!SQ#`!TQ#a!UQ#b!VQ#c!WQ#d!XQ#e!YQ#f!ZQ#g![R#h!]!g_OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!f`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$hS!gZ!hQ!l_T$g$[$n!j]OUV_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$[$hV!jZ!h$nT!cY!d",
|
|
2947
|
-
nodeNames: "\u26A0 LineComment BlockComment Program Function Identifier { } Formal Ellipses Assert assert With with Let let Bind AttrPath String Interpolation Interpolation inherit ( ) in IfExpr if then else BinaryExpr < > UnaryExpr App Select builtins Null Integer Float Boolean IndentedString Interpolation Path HPath SPath URI Parenthesized AttrSet LetAttrSet RecAttrSet rec ] [ List or",
|
|
2948
|
-
maxTerm: 110,
|
|
2949
|
-
nodeProps: [[
|
|
2950
|
-
"closedBy",
|
|
2951
|
-
6,
|
|
2952
|
-
"}",
|
|
2953
|
-
22,
|
|
2954
|
-
")",
|
|
2955
|
-
52,
|
|
2956
|
-
"]"
|
|
2957
|
-
], [
|
|
2958
|
-
"openedBy",
|
|
2959
|
-
7,
|
|
2960
|
-
"{",
|
|
2961
|
-
23,
|
|
2962
|
-
"(",
|
|
2963
|
-
51,
|
|
2964
|
-
"["
|
|
2965
|
-
]],
|
|
2966
|
-
skippedNodes: [
|
|
2967
|
-
0,
|
|
2968
|
-
1,
|
|
2969
|
-
2
|
|
2970
|
-
],
|
|
2971
|
-
repeatNodeCount: 7,
|
|
2972
|
-
tokenData: ">P~RtXY#cYZ#c]^#cpq#cqr#trs$Rst$Wtu$ovw$zwx%Vxy%byz%gz{%l{|%q|})]}!O)b!O!P*X!P!Q.r!Q!R0l!R![2e![!]3S!]!^3X!^!_3^!_!`5_!`!a5l!a!b5y!b!c6O!c!}6T!}#O;g#P#Q;l#R#S:u#T#o6T#o#p;q#p#q;v#q#r<R#r#s<W~#hS!j~XY#cYZ#c]^#cpq#cV#yP#ZP!_!`#|U$RO#VU~$WO!s~~$]SP~OY$WZ;'S$W;'S;=`$i<%lO$W~$lP;=`<%l$W~$rP#o#p$u~$zO!u~~$}Pvw%Q~%VO#W~~%YPwx%]~%bO#a~~%gOf~~%lOg~~%qO!}~~%vW#P~{|&`}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}~&eW!|~{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}T'QW{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}T'mV{|(S}!O(S!O!P(S!Q![(S!c!}(S#R#S(S#T#o(ST(XWzT{|(S}!O(S!O!P(S!P!Q(q!Q![(S!c!}(S#R#S(S#T#o(ST(vVzT{|(S}!O(S!O!P(S!Q![(S!c!}(S#R#S(S#T#o(S~)bO!o~~)gX#Q~{|&}}!O&}!O!P&}!P!Q'j!Q![&}!`!a*S!c!}&}#R#S&}#T#o&}~*XO#Y~~*^W!vT{|&}}!O&}!O!P*v!P!Q'j!Q![,Q!c!}&}#R#S&}#T#o&}V*yW{|&}}!O&}!O!P+c!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}V+hWXQ{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}~,V[v~{|&}}!O&}!O!P&}!P!Q'j!Q![,Q!c!g&}!g!h,{!h!}&}#R#S&}#T#X&}#X#Y,{#Y#o&}~-OW{|-h}!O-h!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~-kW{|&}}!O&}!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~.YWv~{|&}}!O&}!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~.wX#O~z{/d{|(S}!O(S!O!P(S!P!Q0g!Q![(S!c!}(S#R#S(S#T#o(S~/iTQ~Oz/dz{/x{;'S/d;'S;=`0a<%lO/d~/{TO!P/d!P!Q0[!Q;'S/d;'S;=`0a<%lO/d~0aOQ~~0dP;=`<%l/d~0lO#R~~0qWu~{|&}}!O&}!O!P1Z!P!Q'j!Q![1v!c!}&}#R#S&}#T#o&}~1^W{|&}}!O&}!O!P&}!P!Q'j!Q![,Q!c!}&}#R#S&}#T#o&}~1{Wu~{|&}}!O&}!O!P&}!P!Q'j!Q![1v!c!}&}#R#S&}#T#o&}~2jWu~{|&}}!O&}!O!P,Q!P!Q'j!Q![2e!c!}&}#R#S&}#T#o&}~3XO!l~~3^O!q~~3cWn~{|3{}!O3{!O!P3{!Q![3{!_!`5Y!c!}3{#R#S3{#T#o3{~4OX{|3{}!O3{!O!P3{!P!Q4k!Q![3{!`!a5T!c!}3{#R#S3{#T#o3{~4nV{|3{}!O3{!O!P3{!Q![3{!c!}3{#R#S3{#T#o3{~5YO|~~5_O#S~V5dP!wP!_!`5gU5lO#UU~5qPo~!_!`5t~5yO#T~~6OO!n~~6TO!p~~6YYT~wx6x{|7a}!O6T!O!P7a!P!Q'j!Q![6T![!]8P!c!}6T#R#S:u#T#o6T~6}UT~wx6x}!O6x!Q![6x!c!}6x#R#S6x#T#o6x~7dX{|7a}!O7a!O!P7a!P!Q'j!Q![7a![!]8P!c!}7a#R#S&}#T#o7a~8Sdqr9btu9buv9bvw9bwx9bz{9b{|9b|}9b}!O9b!O!P9b!P!Q9b!Q![9b![!]9b!_!`9b!a!b9b!b!c9b!c!}9b#R#S9b#T#o9b#r#s9b~9gd}~qr9btu9buv9bvw9bwx9bz{9b{|9b|}9b}!O9b!O!P9b!P!Q9b!Q![9b![!]9b!_!`9b!a!b9b!b!c9b!c!}9b#R#S9b#T#o9b#r#s9b~:zXT~wx6x{|&}}!O:u!O!P&}!P!Q'j!Q![:u!c!}:u#R#S:u#T#o:u~;lO!U~~;qO!T~~;vOU~~;yP#p#q;|~<RO#X~~<WOV~~<ZP!P!Q<^~<aV{|<v}!O<v!O!P<v!Q![<v!c!}<v#R#S<v#T#o<v~<{W{~{|<v}!O<v!O!P<v!P!Q=e!Q![<v!c!}<v#R#S<v#T#o<v~=jV{~{|<v}!O<v!O!P<v!Q![<v!c!}<v#R#S<v#T#o<v",
|
|
2973
|
-
tokenizers: [
|
|
2974
|
-
scanString,
|
|
2975
|
-
scanIndString,
|
|
2976
|
-
0,
|
|
2977
|
-
1,
|
|
2978
|
-
2
|
|
2979
|
-
],
|
|
2980
|
-
topRules: { Program: [0, 3] },
|
|
2981
|
-
specialized: [{
|
|
2982
|
-
term: 5,
|
|
2983
|
-
get: (e6) => spec_Identifier[e6] || -1
|
|
2984
|
-
}],
|
|
2985
|
-
tokenPrec: 2290
|
|
2986
|
-
}), nixLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
2987
|
-
name: "Nix",
|
|
2988
|
-
parser: /* @__PURE__ */ parser$3.configure({ props: [
|
|
2989
|
-
/* @__PURE__ */ indentNodeProp.add({
|
|
2990
|
-
Parenthesized: /* @__PURE__ */ delimitedIndent({ closing: ")" }),
|
|
2991
|
-
AttrSet: /* @__PURE__ */ delimitedIndent({ closing: "}" }),
|
|
2992
|
-
List: /* @__PURE__ */ delimitedIndent({ closing: "]" }),
|
|
2993
|
-
Let: /* @__PURE__ */ continuedIndent({ except: /^\s*in\b/ })
|
|
2994
|
-
}),
|
|
2995
|
-
/* @__PURE__ */ foldNodeProp.add({
|
|
2996
|
-
AttrSet: foldInside,
|
|
2997
|
-
List: foldInside,
|
|
2998
|
-
Let(e6) {
|
|
2999
|
-
let b = e6.getChild("let"), x = e6.getChild("in");
|
|
3000
|
-
return !b || !x ? null : {
|
|
3001
|
-
from: b.to,
|
|
3002
|
-
to: x.from
|
|
3003
|
-
};
|
|
3004
|
-
}
|
|
3005
|
-
}),
|
|
3006
|
-
/* @__PURE__ */ styleTags({
|
|
3007
|
-
Identifier: tags.propertyName,
|
|
3008
|
-
Boolean: tags.bool,
|
|
3009
|
-
String: tags.string,
|
|
3010
|
-
IndentedString: tags.string,
|
|
3011
|
-
LineComment: tags.lineComment,
|
|
3012
|
-
BlockComment: tags.blockComment,
|
|
3013
|
-
Float: tags.float,
|
|
3014
|
-
Integer: tags.integer,
|
|
3015
|
-
Null: tags.null,
|
|
3016
|
-
URI: tags.url,
|
|
3017
|
-
SPath: tags.literal,
|
|
3018
|
-
Path: tags.literal,
|
|
3019
|
-
"( )": tags.paren,
|
|
3020
|
-
"{ }": tags.brace,
|
|
3021
|
-
"[ ]": tags.squareBracket,
|
|
3022
|
-
"if then else": tags.controlKeyword,
|
|
3023
|
-
"import with let in rec builtins inherit assert or": tags.keyword
|
|
3024
|
-
})
|
|
3025
|
-
] }),
|
|
3026
|
-
languageData: {
|
|
3027
|
-
commentTokens: {
|
|
3028
|
-
line: "#",
|
|
3029
|
-
block: {
|
|
3030
|
-
open: "/*",
|
|
3031
|
-
close: "*/"
|
|
3032
|
-
}
|
|
3033
|
-
},
|
|
3034
|
-
closeBrackets: { brackets: [
|
|
3035
|
-
"(",
|
|
3036
|
-
"[",
|
|
3037
|
-
"{",
|
|
3038
|
-
"''",
|
|
3039
|
-
'"'
|
|
3040
|
-
] },
|
|
3041
|
-
indentOnInput: /^\s*(in|\}|\)|\])$/
|
|
3042
|
-
}
|
|
3043
|
-
}), snippets = [/* @__PURE__ */ snippetCompletion("let ${binds} in ${expression}", {
|
|
3044
|
-
label: "let",
|
|
3045
|
-
detail: "Let ... in statement",
|
|
3046
|
-
type: "keyword"
|
|
3047
|
-
}), /* @__PURE__ */ snippetCompletion("with ${expression}; ${expression}", {
|
|
3048
|
-
label: "with",
|
|
3049
|
-
detail: "With statement",
|
|
3050
|
-
type: "keyword"
|
|
3051
|
-
})];
|
|
3052
|
-
function nix() {
|
|
3053
|
-
return new LanguageSupport(nixLanguage, nixLanguage.data.of({ autocomplete: ifNotIn([
|
|
3054
|
-
"LineComment",
|
|
3055
|
-
"BlockComment",
|
|
3056
|
-
"String",
|
|
3057
|
-
"IndentedString"
|
|
3058
|
-
], completeFromList(snippets)) }));
|
|
3059
|
-
}
|
|
3060
|
-
var scriptText = 145, StartCloseScriptTag = 1, styleText = 146, StartCloseStyleTag = 2, textareaText = 147, StartCloseTextareaTag = 3, StartTag = 4, StartScriptTag = 5, StartStyleTag = 6, StartTextareaTag = 7, StartSelfClosingTag = 8, StartCloseTag = 9, MismatchedStartCloseTag = 11, missingCloseTag = 148, IncompleteCloseTag = 12, commentContent$1 = 149, LongExpression = 13, ShortExpression = 14, Element = 67, ScriptText = 110, StyleText = 113, TextareaText = 116, OpenTag = 118, selfClosers = {
|
|
3061
|
-
area: true,
|
|
3062
|
-
base: true,
|
|
3063
|
-
br: true,
|
|
3064
|
-
col: true,
|
|
3065
|
-
command: true,
|
|
3066
|
-
embed: true,
|
|
3067
|
-
frame: true,
|
|
3068
|
-
hr: true,
|
|
3069
|
-
img: true,
|
|
3070
|
-
input: true,
|
|
3071
|
-
keygen: true,
|
|
3072
|
-
link: true,
|
|
3073
|
-
meta: true,
|
|
3074
|
-
param: true,
|
|
3075
|
-
source: true,
|
|
3076
|
-
track: true,
|
|
3077
|
-
wbr: true,
|
|
3078
|
-
menuitem: true
|
|
3079
|
-
}, implicitlyClosed = {
|
|
3080
|
-
dd: true,
|
|
3081
|
-
li: true,
|
|
3082
|
-
optgroup: true,
|
|
3083
|
-
option: true,
|
|
3084
|
-
p: true,
|
|
3085
|
-
rp: true,
|
|
3086
|
-
rt: true,
|
|
3087
|
-
tbody: true,
|
|
3088
|
-
td: true,
|
|
3089
|
-
tfoot: true,
|
|
3090
|
-
th: true,
|
|
3091
|
-
tr: true
|
|
3092
|
-
}, closeOnOpen = {
|
|
3093
|
-
dd: {
|
|
3094
|
-
dd: true,
|
|
3095
|
-
dt: true
|
|
3096
|
-
},
|
|
3097
|
-
dt: {
|
|
3098
|
-
dd: true,
|
|
3099
|
-
dt: true
|
|
3100
|
-
},
|
|
3101
|
-
li: { li: true },
|
|
3102
|
-
option: {
|
|
3103
|
-
option: true,
|
|
3104
|
-
optgroup: true
|
|
3105
|
-
},
|
|
3106
|
-
optgroup: { optgroup: true },
|
|
3107
|
-
p: {
|
|
3108
|
-
address: true,
|
|
3109
|
-
article: true,
|
|
3110
|
-
aside: true,
|
|
3111
|
-
blockquote: true,
|
|
3112
|
-
dir: true,
|
|
3113
|
-
div: true,
|
|
3114
|
-
dl: true,
|
|
3115
|
-
fieldset: true,
|
|
3116
|
-
footer: true,
|
|
3117
|
-
form: true,
|
|
3118
|
-
h1: true,
|
|
3119
|
-
h2: true,
|
|
3120
|
-
h3: true,
|
|
3121
|
-
h4: true,
|
|
3122
|
-
h5: true,
|
|
3123
|
-
h6: true,
|
|
3124
|
-
header: true,
|
|
3125
|
-
hgroup: true,
|
|
3126
|
-
hr: true,
|
|
3127
|
-
menu: true,
|
|
3128
|
-
nav: true,
|
|
3129
|
-
ol: true,
|
|
3130
|
-
p: true,
|
|
3131
|
-
pre: true,
|
|
3132
|
-
section: true,
|
|
3133
|
-
table: true,
|
|
3134
|
-
ul: true
|
|
3135
|
-
},
|
|
3136
|
-
rp: {
|
|
3137
|
-
rp: true,
|
|
3138
|
-
rt: true
|
|
3139
|
-
},
|
|
3140
|
-
rt: {
|
|
3141
|
-
rp: true,
|
|
3142
|
-
rt: true
|
|
3143
|
-
},
|
|
3144
|
-
tbody: {
|
|
3145
|
-
tbody: true,
|
|
3146
|
-
tfoot: true
|
|
3147
|
-
},
|
|
3148
|
-
td: {
|
|
3149
|
-
td: true,
|
|
3150
|
-
th: true
|
|
3151
|
-
},
|
|
3152
|
-
tfoot: { tbody: true },
|
|
3153
|
-
th: {
|
|
3154
|
-
td: true,
|
|
3155
|
-
th: true
|
|
3156
|
-
},
|
|
3157
|
-
thead: {
|
|
3158
|
-
tbody: true,
|
|
3159
|
-
tfoot: true
|
|
3160
|
-
},
|
|
3161
|
-
tr: { tr: true }
|
|
3162
|
-
};
|
|
3163
|
-
function nameChar(e6) {
|
|
3164
|
-
return e6 == 45 || e6 == 46 || e6 == 58 || e6 >= 65 && e6 <= 90 || e6 == 95 || e6 >= 97 && e6 <= 122 || e6 >= 161;
|
|
3165
|
-
}
|
|
3166
|
-
function isSpace(e6) {
|
|
3167
|
-
return e6 == 9 || e6 == 10 || e6 == 13 || e6 == 32;
|
|
3168
|
-
}
|
|
3169
|
-
var cachedName = null, cachedInput = null, cachedPos = 0;
|
|
3170
|
-
function tagNameAfter(e6, b) {
|
|
3171
|
-
let x = e6.pos + b;
|
|
3172
|
-
if (cachedPos == x && cachedInput == e6) return cachedName;
|
|
3173
|
-
let S = e6.peek(b);
|
|
3174
|
-
for (; isSpace(S); ) S = e6.peek(++b);
|
|
3175
|
-
let C = "";
|
|
3176
|
-
for (; nameChar(S); ) C += String.fromCharCode(S), S = e6.peek(++b);
|
|
3177
|
-
return cachedInput = e6, cachedPos = x, cachedName = C ? C.toLowerCase() : S == question || S == bang ? void 0 : null;
|
|
3178
|
-
}
|
|
3179
|
-
var lessThan = 60, greaterThan$1 = 62, slash$1 = 47, question = 63, bang = 33;
|
|
3180
|
-
function ElementContext(e6, b) {
|
|
3181
|
-
this.name = e6, this.parent = b, this.hash = b ? b.hash : 0;
|
|
3182
|
-
for (let b2 = 0; b2 < e6.length; b2++) this.hash += (this.hash << 4) + e6.charCodeAt(b2) + (e6.charCodeAt(b2) << 8);
|
|
3183
|
-
}
|
|
3184
|
-
var startTagTerms = [
|
|
3185
|
-
StartTag,
|
|
3186
|
-
StartSelfClosingTag,
|
|
3187
|
-
StartScriptTag,
|
|
3188
|
-
StartStyleTag,
|
|
3189
|
-
StartTextareaTag
|
|
3190
|
-
], elementContext = /* @__PURE__ */ new ContextTracker({
|
|
3191
|
-
start: null,
|
|
3192
|
-
shift(e6, b, x, S) {
|
|
3193
|
-
return startTagTerms.indexOf(b) > -1 ? new ElementContext(tagNameAfter(S, 1) || "", e6) : e6;
|
|
3194
|
-
},
|
|
3195
|
-
reduce(e6, b) {
|
|
3196
|
-
return b == Element && e6 ? e6.parent : e6;
|
|
3197
|
-
},
|
|
3198
|
-
reuse(e6, b, x, S) {
|
|
3199
|
-
let C = b.type.id;
|
|
3200
|
-
return C == StartTag || C == OpenTag ? new ElementContext(tagNameAfter(S, 1) || "", e6) : e6;
|
|
3201
|
-
},
|
|
3202
|
-
hash(e6) {
|
|
3203
|
-
return e6 ? e6.hash : 0;
|
|
3204
|
-
},
|
|
3205
|
-
strict: false
|
|
3206
|
-
}), tagStart = /* @__PURE__ */ new ExternalTokenizer((e6, b) => {
|
|
3207
|
-
if (e6.next != lessThan) {
|
|
3208
|
-
e6.next < 0 && b.context && e6.acceptToken(missingCloseTag);
|
|
3209
|
-
return;
|
|
3210
|
-
}
|
|
3211
|
-
e6.advance();
|
|
3212
|
-
let x = e6.next == slash$1;
|
|
3213
|
-
x && e6.advance();
|
|
3214
|
-
let S = tagNameAfter(e6, 0);
|
|
3215
|
-
if (S === void 0) return;
|
|
3216
|
-
if (!S) return e6.acceptToken(x ? IncompleteCloseTag : StartTag);
|
|
3217
|
-
let C = b.context ? b.context.name : null;
|
|
3218
|
-
if (x) {
|
|
3219
|
-
if (S == C) return e6.acceptToken(StartCloseTag);
|
|
3220
|
-
if (C && implicitlyClosed[C]) return e6.acceptToken(missingCloseTag, -2);
|
|
3221
|
-
for (let e7 = b.context; e7; e7 = e7.parent) if (e7.name == S) return;
|
|
3222
|
-
e6.acceptToken(MismatchedStartCloseTag);
|
|
3223
|
-
} else {
|
|
3224
|
-
if (S == "script") return e6.acceptToken(StartScriptTag);
|
|
3225
|
-
if (S == "style") return e6.acceptToken(StartStyleTag);
|
|
3226
|
-
if (S == "textarea") return e6.acceptToken(StartTextareaTag);
|
|
3227
|
-
if (selfClosers.hasOwnProperty(S)) return e6.acceptToken(StartSelfClosingTag);
|
|
3228
|
-
C && closeOnOpen[C] && closeOnOpen[C][S] ? e6.acceptToken(missingCloseTag, -1) : e6.acceptToken(StartTag);
|
|
3229
|
-
}
|
|
3230
|
-
}, { contextual: true });
|
|
3231
|
-
function contentTokenizer(e6, b, x) {
|
|
3232
|
-
let S = 2 + e6.length;
|
|
3233
|
-
return new ExternalTokenizer((C) => {
|
|
3234
|
-
for (let w = 0, T = 0, E = 0; ; E++) {
|
|
3235
|
-
if (C.next < 0) {
|
|
3236
|
-
E && C.acceptToken(b);
|
|
3237
|
-
break;
|
|
3238
|
-
}
|
|
3239
|
-
if (w == 0 && C.next == lessThan || w == 1 && C.next == slash$1 || w >= 2 && w < S && C.next == e6.charCodeAt(w - 2)) w++, T++;
|
|
3240
|
-
else if ((w == 2 || w == S) && isSpace(C.next)) T++;
|
|
3241
|
-
else if (w == S && C.next == greaterThan$1) {
|
|
3242
|
-
E > T ? C.acceptToken(b, -T) : C.acceptToken(x, -(T - 2));
|
|
3243
|
-
break;
|
|
3244
|
-
} else if ((C.next == 10 || C.next == 13) && E) {
|
|
3245
|
-
C.acceptToken(b, 1);
|
|
3246
|
-
break;
|
|
3247
|
-
} else w = T = 0;
|
|
3248
|
-
C.advance();
|
|
3249
|
-
}
|
|
3250
|
-
});
|
|
3251
|
-
}
|
|
3252
|
-
var scriptTokens = /* @__PURE__ */ contentTokenizer("script", scriptText, StartCloseScriptTag), styleTokens = /* @__PURE__ */ contentTokenizer("style", styleText, StartCloseStyleTag), textareaTokens = /* @__PURE__ */ contentTokenizer("textarea", textareaText, StartCloseTextareaTag), space = [
|
|
3253
|
-
9,
|
|
3254
|
-
10,
|
|
3255
|
-
11,
|
|
3256
|
-
12,
|
|
3257
|
-
13,
|
|
3258
|
-
32,
|
|
3259
|
-
133,
|
|
3260
|
-
160,
|
|
3261
|
-
5760,
|
|
3262
|
-
8192,
|
|
3263
|
-
8193,
|
|
3264
|
-
8194,
|
|
3265
|
-
8195,
|
|
3266
|
-
8196,
|
|
3267
|
-
8197,
|
|
3268
|
-
8198,
|
|
3269
|
-
8199,
|
|
3270
|
-
8200,
|
|
3271
|
-
8201,
|
|
3272
|
-
8202,
|
|
3273
|
-
8232,
|
|
3274
|
-
8233,
|
|
3275
|
-
8239,
|
|
3276
|
-
8287,
|
|
3277
|
-
12288
|
|
3278
|
-
], parenOpen = 40, parenClose = 41, squareOpen = 91, squareClose = 93, curlyOpen = 123, curlyClose = 125, comma = 44, colon = 58, hash = 35, at = 64, slash = 47, greaterThan = 62, dash = 45, quoteDouble = 34, quoteSingle = 39, backslash = 92, newline = 10, asterisk = 42, tick = 96, prefixes = [
|
|
3279
|
-
colon,
|
|
3280
|
-
hash,
|
|
3281
|
-
at,
|
|
3282
|
-
slash
|
|
3283
|
-
], commentContent = /* @__PURE__ */ new ExternalTokenizer((e6) => {
|
|
3284
|
-
for (let b = 0, x = 0; ; x++) {
|
|
3285
|
-
if (e6.next < 0) {
|
|
3286
|
-
x && e6.acceptToken(commentContent$1);
|
|
3287
|
-
break;
|
|
3288
|
-
}
|
|
3289
|
-
if (e6.next == dash) b++;
|
|
3290
|
-
else if (e6.next == greaterThan && b >= 2) {
|
|
3291
|
-
x > 3 && e6.acceptToken(commentContent$1, -2);
|
|
3292
|
-
break;
|
|
3293
|
-
} else b = 0;
|
|
3294
|
-
e6.advance();
|
|
3295
|
-
}
|
|
3296
|
-
});
|
|
3297
|
-
function createStringHandler(e6) {
|
|
3298
|
-
let b = false, x = null, S = false;
|
|
3299
|
-
return () => b ? S ? (S = false, true) : e6.next === backslash ? (S = true, true) : x === "double" && e6.next === quoteDouble || x === "single" && e6.next === quoteSingle || x === "template" && e6.next === tick ? (b = false, x = null, true) : true : e6.next === quoteDouble ? (b = true, x = "double", true) : e6.next === quoteSingle ? (b = true, x = "single", true) : e6.next === tick ? (b = true, x = "template", true) : false;
|
|
3300
|
-
}
|
|
3301
|
-
function createCommentHandler(e6) {
|
|
3302
|
-
let b = false, x = false;
|
|
3303
|
-
return () => b ? (e6.next === newline && (b = false), true) : x ? (e6.next === asterisk && e6.peek(1) === slash && (x = false), true) : e6.next === slash && e6.peek(1) === slash ? (b = true, true) : e6.next === slash && e6.peek(1) === asterisk ? (x = true, true) : false;
|
|
3304
|
-
}
|
|
3305
|
-
var longExpression = /* @__PURE__ */ new ExternalTokenizer((e6) => {
|
|
3306
|
-
if (prefixes.includes(e6.next)) return;
|
|
3307
|
-
let b = createCommentHandler(e6), x = createStringHandler(e6), S = [], C = (e7) => {
|
|
3308
|
-
let b2 = S.lastIndexOf(e7);
|
|
3309
|
-
if (b2 !== -1) for (; S.length > b2; ) S.pop();
|
|
3310
|
-
};
|
|
3311
|
-
for (let w = 0; ; w++) {
|
|
3312
|
-
if (e6.next < 0) {
|
|
3313
|
-
w > 0 && e6.acceptToken(LongExpression);
|
|
3314
|
-
break;
|
|
3315
|
-
}
|
|
3316
|
-
if (b() || x()) {
|
|
3317
|
-
e6.advance();
|
|
3318
|
-
continue;
|
|
3319
|
-
}
|
|
3320
|
-
if (S.length === 0 && (e6.next === curlyClose || e6.next === parenClose || e6.next === squareClose)) {
|
|
3321
|
-
e6.acceptToken(LongExpression);
|
|
3322
|
-
break;
|
|
3323
|
-
}
|
|
3324
|
-
switch (e6.next) {
|
|
3325
|
-
case parenOpen:
|
|
3326
|
-
S.push("(");
|
|
3327
|
-
break;
|
|
3328
|
-
case parenClose:
|
|
3329
|
-
C("(");
|
|
3330
|
-
break;
|
|
3331
|
-
case squareOpen:
|
|
3332
|
-
S.push("[");
|
|
3333
|
-
break;
|
|
3334
|
-
case squareClose:
|
|
3335
|
-
C("[");
|
|
3336
|
-
break;
|
|
3337
|
-
case curlyOpen:
|
|
3338
|
-
S.push("{");
|
|
3339
|
-
break;
|
|
3340
|
-
case curlyClose:
|
|
3341
|
-
C("{");
|
|
3342
|
-
break;
|
|
3343
|
-
}
|
|
3344
|
-
e6.advance();
|
|
3345
|
-
}
|
|
3346
|
-
}), shortExpression = /* @__PURE__ */ new ExternalTokenizer((e6) => {
|
|
3347
|
-
if (prefixes.includes(e6.peek(0))) return;
|
|
3348
|
-
let b = createCommentHandler(e6), x = createStringHandler(e6), S = [], C = (e7) => {
|
|
3349
|
-
let b2 = S.lastIndexOf(e7);
|
|
3350
|
-
if (b2 !== -1) for (; S.length > b2; ) S.pop();
|
|
3351
|
-
};
|
|
3352
|
-
for (let w = 0; ; w++) {
|
|
3353
|
-
if (e6.next < 0) {
|
|
3354
|
-
w > 0 && e6.acceptToken(ShortExpression);
|
|
3355
|
-
break;
|
|
3356
|
-
}
|
|
3357
|
-
if (b() || x()) {
|
|
3358
|
-
e6.advance();
|
|
3359
|
-
continue;
|
|
3360
|
-
}
|
|
3361
|
-
if (S.length === 0 && (e6.next === curlyClose || e6.next === parenClose || e6.next === squareClose || e6.next === comma)) {
|
|
3362
|
-
e6.acceptToken(ShortExpression);
|
|
3363
|
-
break;
|
|
3364
|
-
}
|
|
3365
|
-
switch (e6.next) {
|
|
3366
|
-
case parenOpen:
|
|
3367
|
-
S.push("(");
|
|
3368
|
-
break;
|
|
3369
|
-
case parenClose:
|
|
3370
|
-
C("(");
|
|
3371
|
-
break;
|
|
3372
|
-
case squareOpen:
|
|
3373
|
-
S.push("[");
|
|
3374
|
-
break;
|
|
3375
|
-
case squareClose:
|
|
3376
|
-
C("[");
|
|
3377
|
-
break;
|
|
3378
|
-
case curlyOpen:
|
|
3379
|
-
S.push("{");
|
|
3380
|
-
break;
|
|
3381
|
-
case curlyClose:
|
|
3382
|
-
C("{");
|
|
3383
|
-
break;
|
|
3384
|
-
}
|
|
3385
|
-
if (w !== 0 && S.length === 0 && space.includes(e6.next)) {
|
|
3386
|
-
e6.acceptToken(ShortExpression);
|
|
3387
|
-
break;
|
|
3388
|
-
}
|
|
3389
|
-
e6.advance();
|
|
3390
|
-
}
|
|
3391
|
-
}), svelteHighlighting = /* @__PURE__ */ styleTags({
|
|
3392
|
-
"Text RawText": tags.content,
|
|
3393
|
-
"StartTag StartCloseTag SelfClosingEndTag EndTag": tags.angleBracket,
|
|
3394
|
-
TagName: tags.tagName,
|
|
3395
|
-
"MismatchedCloseTag/TagName": [tags.tagName, tags.invalid],
|
|
3396
|
-
AttributeName: tags.attributeName,
|
|
3397
|
-
UnquotedAttributeValue: tags.attributeValue,
|
|
3398
|
-
"DoubleQuote SingleQuote AttributeValueContent": tags.attributeValue,
|
|
3399
|
-
Is: tags.definitionOperator,
|
|
3400
|
-
"EntityReference CharacterReference": tags.character,
|
|
3401
|
-
Comment: tags.blockComment,
|
|
3402
|
-
ProcessingInst: tags.processingInstruction,
|
|
3403
|
-
DoctypeDecl: tags.documentMeta,
|
|
3404
|
-
"{ }": tags.bracket,
|
|
3405
|
-
"[ ]": tags.squareBracket,
|
|
3406
|
-
"( )": tags.paren,
|
|
3407
|
-
"| , :": tags.punctuation,
|
|
3408
|
-
"...": tags.derefOperator,
|
|
3409
|
-
ComponentName: tags.className,
|
|
3410
|
-
SvelteElementNamespace: tags.namespace,
|
|
3411
|
-
SvelteElementType: tags.tagName,
|
|
3412
|
-
StyleAttributeName: tags.propertyName,
|
|
3413
|
-
BlockType: tags.controlKeyword,
|
|
3414
|
-
BlockPrefix: tags.typeOperator,
|
|
3415
|
-
"UnknownBlock/BlockType": tags.invalid,
|
|
3416
|
-
UnknownBlockContent: tags.invalid,
|
|
3417
|
-
"if then catch": tags.controlKeyword,
|
|
3418
|
-
as: tags.definitionOperator,
|
|
3419
|
-
Variable: tags.variableName,
|
|
3420
|
-
Modifier: tags.modifier,
|
|
3421
|
-
DirectlyInterpolatedAttributeValue: tags.attributeValue,
|
|
3422
|
-
"DirectiveOn/DirectiveName": tags.controlKeyword,
|
|
3423
|
-
"DirectiveOn/DirectiveTarget": tags.typeName,
|
|
3424
|
-
"DirectiveUse/DirectiveName": tags.controlKeyword,
|
|
3425
|
-
"DirectiveUse/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
|
|
3426
|
-
"DirectiveBind/DirectiveName": tags.controlKeyword,
|
|
3427
|
-
"DirectiveBind/DirectiveTarget": tags.variableName,
|
|
3428
|
-
"DirectiveLet/DirectiveName": tags.definitionKeyword,
|
|
3429
|
-
"DirectiveLet/DirectiveTarget": /* @__PURE__ */ tags.definition(tags.variableName),
|
|
3430
|
-
"DirectiveTransition/DirectiveName": tags.operatorKeyword,
|
|
3431
|
-
"DirectiveTransition/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
|
|
3432
|
-
"DirectiveIn/DirectiveName": tags.operatorKeyword,
|
|
3433
|
-
"DirectiveIn/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
|
|
3434
|
-
"DirectiveOut/DirectiveName": tags.operatorKeyword,
|
|
3435
|
-
"DirectiveOut/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
|
|
3436
|
-
"DirectiveAnimate/DirectiveName": tags.operatorKeyword,
|
|
3437
|
-
"DirectiveAnimate/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
|
|
3438
|
-
"DirectiveClass/DirectiveName": tags.attributeName,
|
|
3439
|
-
"DirectiveClass/DirectiveTarget": tags.variableName,
|
|
3440
|
-
"DirectiveStyle/DirectiveName": tags.attributeName,
|
|
3441
|
-
"DirectiveStyle/DirectiveTarget": tags.propertyName
|
|
3442
|
-
}), spec_BlockPrefix = {
|
|
3443
|
-
__proto__: null,
|
|
3444
|
-
"#": 41,
|
|
3445
|
-
":": 51,
|
|
3446
|
-
"/": 59,
|
|
3447
|
-
"@": 109
|
|
3448
|
-
}, spec_BlockType = {
|
|
3449
|
-
__proto__: null,
|
|
3450
|
-
if: 44,
|
|
3451
|
-
else: 52,
|
|
3452
|
-
each: 64,
|
|
3453
|
-
await: 82,
|
|
3454
|
-
then: 90,
|
|
3455
|
-
catch: 94,
|
|
3456
|
-
key: 102,
|
|
3457
|
-
html: 110,
|
|
3458
|
-
debug: 114,
|
|
3459
|
-
const: 118
|
|
3460
|
-
}, spec_identifier = {
|
|
3461
|
-
__proto__: null,
|
|
3462
|
-
if: 54,
|
|
3463
|
-
as: 66,
|
|
3464
|
-
then: 84,
|
|
3465
|
-
catch: 86
|
|
3466
|
-
}, spec_AttributeName = {
|
|
3467
|
-
__proto__: null,
|
|
3468
|
-
on: 313,
|
|
3469
|
-
bind: 317,
|
|
3470
|
-
let: 319,
|
|
3471
|
-
class: 321,
|
|
3472
|
-
style: 323,
|
|
3473
|
-
use: 325,
|
|
3474
|
-
transition: 327,
|
|
3475
|
-
in: 329,
|
|
3476
|
-
out: 331,
|
|
3477
|
-
animate: 333
|
|
3478
|
-
}, spec_TagName = {
|
|
3479
|
-
__proto__: null,
|
|
3480
|
-
svelte: 243
|
|
3481
|
-
}, parser$2 = /* @__PURE__ */ LRParser.deserialize({
|
|
3482
|
-
version: 14,
|
|
3483
|
-
states: "DxQVO#|OOO!ZO#|O'#ClO#[O#|O'#CzO$]O#|O'#DTO%^O#|O'#D_O&_Q'[O'#DjO&mQ&jO'#DrO&rQ&jO'#EpO&wQ&jO'#EsO&|Q&jO'#EvO'XQ&jO'#E|O'^OXO'#DqO'iOYO'#DqO'tO[O'#DqO)TO#|O'#DqOOOW'#Dq'#DqO)[O&zO'#FOO&|Q&jO'#FQO&|Q&jO'#FROOOW'#Fj'#FjOOOW'#FT'#FTQVO#|OOOOOW'#FU'#FUO!ZO#|O,59WOOOW,59W,59WO)uQ'[O'#DjO#[O#|O,59fOOOW,59f,59fO)|Q'[O'#DjOOOW'#FV'#FVO$]O#|O,59oOOOW,59o,59oO*fQ'[O'#DjOOOW'#FW'#FWO%^O#|O,59yOOOW,59y,59yO*mQ'[O'#DjO+OQ&jO,5:UO+TQ,UO,5:VO+YQ,UO,59XO+hQ,UO,59}O,nQ7[O,5:^O,uQ7[O,5;[O,|Q7[O,5;_O-TO,UO'#ExOOQO'#F|'#F|O-YQ7[O,5;bO-dQ7[O,5;hOOOX'#F^'#F^O-kOXO'#EnO-vOXO,5:]OOOY'#F_'#F_O.OOYO'#EqO.ZOYO,5:]OOO['#F`'#F`O.cO[O'#EtO.nO[O,5:]O.vO#|O,5:]O&|Q&jO'#E{OOOW,5:],5:]OOO`'#Fa'#FaO.}O&zO,5;jOOOW,5;j,5;jO/VQ,UO,5;lO/[Q,UO,5;mOOOW-E9R-E9ROOOW-E9S-E9SOOOW1G.r1G.rO/aQ,UO,59`O/fQ,UO,59dOOOW1G/Q1G/QO/kQ,UO,59nOOOW-E9T-E9TOOOW1G/Z1G/ZO/pQ,UO,59tO/xQ,UO,59xOOOW-E9U-E9UOOOW1G/e1G/eO/}Q,UO,59|OOOW1G/p1G/pO0SQMhO1G/qO0[Q'[O1G.sO0aQ'|O1G/RO0fQ'|O1G/[O0kQ'[O1G/fO0pQ'[O1G/iO0uQ!LQO1G/lO0zQ'[O1G/nO1PQ$ISO'#DtOOOO'#Dz'#DzO1[O,UO'#DyOOOO'#EO'#EOO1aO,UO'#D}OOOO'#EQ'#EQO1fO,UO'#EPOOOO'#ES'#ESO1kO,UO'#EROOOO'#EU'#EUO1pO,UO'#ETOOOO'#EW'#EWO1uO,UO'#EVOOOO'#EY'#EYO1zO,UO'#EXOOOO'#E['#E[O2PO,UO'#EZOOOO'#E^'#E^O2UO,UO'#E]OOOO'#E`'#E`O2ZO,UO'#E_O2`Q7[O'#DxO3gQ7[O'#EjO4kQ7[O'#ElOOQO'#Fl'#FlOOQO'#FY'#FYO5rQ7[O1G/xOOOX1G/x1G/xOOQO'#Fm'#FmO5yQ7[O1G0vOOOY1G0v1G0vO6QQ7[O1G0yOOO[1G0y1G0yO6XO(CWO,5;dO6^Q7[O1G0|OOOW1G0|1G0|OOOW1G1S1G1SO6hQ7[O1G1SOOOX-E9[-E9[O6oQ&jO'#EoOOOW1G/w1G/wOOOY-E9]-E9]O6tQ&jO'#ErOOO[-E9^-E9^O6yQ&jO'#EuO7OQ,UO,5;gOOO`-E9_-E9_OOOW1G1U1G1UOOOW1G1W1G1WOOOW1G1X1G1XP)dQ'[O'#DjO7TQ$ISO1G.zO7]Q&jO1G/OO7bQ&jO1G/YP*TQ'[O'#DjO7gQ!LQO1G/`O7oQ!LQO1G/bO7wQ&jO1G/dO7|Q&jO1G/hOOOW7+%]7+%]O8RQ&jO7+%]O8WQ&jO7+$_O8]Q$ISO7+$mO8bQ$ISO7+$vO8mQ&jO7+%QO8rQ&jO7+%TO8wQ&jO7+%WO9PQ&jO7+%YOOQO'#Du'#DuOOQO,5:`,5:`O9UQ&jO,5:`O9ZQ'[O,5:bO9`O07`O,5:eO9eO07`O,5:iO9jO07`O,5:kO9oO07`O,5:mO9tO07`O,5:oO9yO07`O,5:qO:OO07`O,5:sO:TO07`O,5:uO:YO07`O,5:wO:_O07`O,5:yO:dQ?MpO'#FZO:iQ7[O,5:dO;pQ!0LbO,5:dO<OQ!0LbO,5;UO<^Q7[O,5;WO=eQ!0LbO,5;WOOQO-E9W-E9WOOOX7+%d7+%dOOOY7+&b7+&bOOO[7+&e7+&eOOQO1G1O1G1OOOOW7+&h7+&hOOOW7+&n7+&nO=sQ,UO,5;ZO=xQ,UO,5;^O=}Q,UO,5;aOOOW1G1R1G1ROOOW7+$f7+$fO>SQ'[O7+$fOOOW7+$j7+$jOOOW7+$t7+$tOOOW7+$z7+$zO>XQ&jO7+$zOOOW7+$|7+$|O>^Q&jO7+$|OOOW7+%O7+%OOOOW7+%S7+%SOOOW<<Hw<<HwOOOW<<Gy<<GyO>cQ'|O<<HXOOOW<<Hb<<HbO>hQ'|O<<HbOOOW<<Hl<<HlOOOW<<Ho<<HoO>mQ!LQO'#FXO>rQ&jO<<HrOOOW<<Hr<<HrOOOW<<Ht<<HtOOQO1G/z1G/zO>zQ&jO1G/|OOQO1G0P1G0POOQO1G0T1G0TOOQO1G0V1G0VOOQO1G0X1G0XOOQO1G0Z1G0ZOOQO1G0]1G0]OOQO1G0_1G0_OOQO1G0a1G0aOOQO1G0c1G0cOOQO1G0e1G0eOOQO,5;u,5;uOOQO-E9X-E9XO?PQ!0LbO1G0OO?_Q'[O'#DjOOQO'#Ed'#EdO?uO#@ItO'#EdO@_O&2DjO'#EdOOQO1G0O1G0OOOQO1G0p1G0pO@fQ!0LbO1G0rOOQO1G0r1G0rOOOW1G0u1G0uOOOW1G0x1G0xOOOW1G0{1G0{O@tQ&jO<<HQOOOW<<Hf<<HfOOOW<<Hh<<HhO@yQ&jOAN=sOAUQ&jOAN=|OOQO,5;s,5;sOOQO-E9V-E9VOOOWAN>^AN>^OOQO7+%h7+%hOOQO7+%j7+%jOOOO'#Fz'#FzOOOO'#F['#F[OAZO#@ItO'#EfOOQO,5;O,5;OOAbO&jO,5;OOOOO'#F]'#F]OAgO&2DjO'#EhOAnO&jO,5;OOOQO7+&^7+&^OOOWAN=lAN=lOOOWG23_G23_OAsQ'[OG23_OAxQ!LQOG23_OOOWG23hG23hOOOO-E9Y-E9YOOQO1G0j1G0jOOOO-E9Z-E9ZOBTQ&jOLD(yOOOWLD(yLD(yOBYQ'[OLD(yOB_Q&jOLD(yOBgQ&jO!$'LeOBlQ&jO!$'LeOOOW!$'Le!$'LeOBqQ'[O!$'LeOOOW!)9BP!)9BPOBvQ&jO!)9BPOB{Q&jO!)9BPOOOW!.K7k!.K7kOCQQ&jO!.K7kOOOW!4/-V!4/-V",
|
|
3484
|
-
stateData: "Cd~O$]OS~OSXOTUOUVOVWOWYOYbOZaO[cObTO!acO!bcO!ccO!dcO#scO#vdO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObiO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cOblO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObpO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObtO!acO!bcO!ccO!dcO#scO$q`O~O]uOcvOdwO!WxO~O!gyO~O!gzO~O!g{O~O!g}O#k}O#m|O~O!g!PO~O$V!QOP#bP$Y#bP~O$W!TOQ#eP$Y#eP~O$X!WOR#hP$Y#hP~OSXOTUOUVOVWOWYOX![OYbOZaO[cObTO!acO!bcO!ccO!dcO#scO$q`O~O$Y!]O~P(PO$Z!^O$r!`O~O]uOcvOdwOi!fO!WxO~Om!gO~P)dOm!iO~P)dO]uOcvOdwOi!lO!WxO~Om!mO~P*TO]uOcvOdwOm!pO!WxO~Og!qO~Oe!rO~Of!sOp!tOy!uO!T!vO~O!X!wO!Z!xO!]!yO~Ob!zO!o#cO#_#bO$b!{O$d!}O$e#PO$f#RO$g#TO$h#VO$i#XO$j#ZO$k#]O$l#_O~O#a#gO~P+sO#a#jO~P+sO#a#lO~P+sO$c#mO~O#a#oO#q#pO~P+sO#a#pO~P+sO$V!QOP#bX$Y#bX~OP#sO$Y#tO~O$W!TOQ#eX$Y#eX~OQ#vO$Y#tO~O$X!WOR#hX$Y#hX~OR#xO$Y#tO~O$Y#tO~P(PO$Z!^O$r#{O~O#a#|O~O#a#}O~Oj$PO~Of$QO~Op$RO~O}$TO!P$UO~Oy$VO~O!T$WO~Og$XO!`$YO~O]$ZO~O^$[O~O^$]O~O]$^O~O]$_O~Ou$`O~O]$aO~Og$cO!k$eO$_$bO~O$c$fO~O$c$gO~O$c$hO~O$c$iO~O$c$jO~O$c$kO~O$c$lO~O$c$mO~O$c$nO~O$c$oO~O#T$pO#V$rOb!lX!o!lX#_!lX#a!lX$b!lX$d!lX$e!lX$f!lX$g!lX$h!lX$i!lX$j!lX$k!lX$l!lX#q!lX~O#V$sOb#^X!o#^X#_#^X#a#^X$b#^X$d#^X$e#^X$f#^X$g#^X$h#^X$i#^X$j#^X$k#^X$l#^X#q#^X~O#T$pO#V$uOb#`X!o#`X#_#`X#a#`X$b#`X$d#`X$e#`X$f#`X$g#`X$h#`X$i#`X$j#`X$k#`X$l#`X#q#`X~O#a$wO~P+sO#a$xO~P+sO#a$yO~P+sO#n$zO~O#a${O#q$|O~P+sO#a$|O~P+sO!g$}O~O!g%OO~O!g%PO~O#a%QO~Og%ROk%SO~Og%TO~Og%UO~Og%VOu%WO~Og%XOu%YO~Og%ZO~Og%[O~Og%]O~Og%^O~Oq%_O~Og%`Oz%aO{%aO~Og%bO~Og%cO~Og%fOt%dO~Og%gO~Og%hO~O]%iO~O!p%jO~O!p%kO~O!p%lO~O!p%mO~O!p%nO~O!p%oO~O!p%pO~O!p%qO~O!p%rO~O!p%sO~O#U%tO~O#T$pO#V%vOb!la!o!la#_!la#a!la$b!la$d!la$e!la$f!la$g!la$h!la$i!la$j!la$k!la$l!la#q!la~Ob%wO#X%yO#Z%zO#]%{O~Ob%wO#X%yO#Z%zO#]%|O~O#T$pO#V%}Ob#`a!o#`a#_#`a#a#`a$b#`a$d#`a$e#`a$f#`a$g#`a$h#`a$i#`a$j#`a$k#`a$l#`a#q#`a~Ob%wO#X%yO#Z%zO#]&OO~O#a&PO~O#a&QO~O#a&RO~O]&SO~Og&TO~Og&UO~O^&VO~O^&WO~Ou&XO~Og&ZOt%dO~Og&[O~Ob%wO#X%yO#Z%zO#]&]O~O]uO~Ob%wO!b&^O!c&^O!d&^O$m&_O~O#X&aO~P?dOb%wO!b&^O!c&^O!d&^O$o&cO~O#Z&aO~P?|Ob%wO#X%yO#Z%zO#]&fO~Og&gO~Og&hOr&iOt&jO~Og&kO~O#X#YX~P?dO#X&mO~O#Z#[X~P?|O#Z&mO~O]&oO~Og&pOr&qOu&rO~Os&sO~O]&tO~Og&uOr&vO~Og&wO~Os&xO~O]&yO~Og&zO~Os&{O~Og&|O~O!`$]#q$q#s#v!c!b#_!o!d#a~",
|
|
3485
|
-
goto: "1T$qPPPPPPPPPPPPPPPP$r%QPPPPPP%`PPP%fP$r%lPPPPPP%z$r&QPPP&`P&`P&d$r&jP&x$rPP$rP$rP'O$rPPPPP$r'kP'y(V'yP'y(Y(fPP(Y(r(Y)O(Y)[(Y)h(Y)t(Y*Q(Y*^(Y*j(Y*vPPP+SP+cP+fP'yP'yP+i+l+o+},Q,T,c,f,iP,wPP,}-TP$rP$r$rP-c-i-s-y.T.Z.q.{/R/X/_/e/kPPPPPPPP/qP0V0cPPPPPPPPPPPP0oP0wicOPQRS^egjnr!ZiPOPQRS^egjnr!ZXfPQgjQhPR!egiQOPQRS^egjnr!ZQkQR!hjiROPQRS^egjnr!ZTmRnQoRR!kniSOPQRS^egjnr!ZQsSR!orhcOPQRS^egjnr!ZY%x$r$s$u%v%}X&^%y%z&`&diZOPQRS^egjnr!Ze#dyz{!O!P#f#i#k#n#qR$d!ze#hyz{!O!P#f#i#k#n#qe!|yz{!O!P#f#i#k#n#qe#Oyz{!O!P#f#i#k#n#qe#Qyz{!O!P#f#i#k#n#qe#Syz{!O!P#f#i#k#n#qe#Uyz{!O!P#f#i#k#n#qe#Wyz{!O!P#f#i#k#n#qe#Yyz{!O!P#f#i#k#n#qe#[yz{!O!P#f#i#k#n#qe#^yz{!O!P#f#i#k#n#qe#`yz{!O!P#f#i#k#n#qQ%{$rQ%|$sQ&O$uQ&]%vR&f%}R&b%yR&e%zR!SZR#t!Si[OPQRS^egjnr!ZR!V[R#t!Vi]OPQRS^egjnr!ZR!Y]R#t!Yi^OPQRS^egjnr!ZX}Xab![Q!]^R#t!Zi_OPQRS^egjnr!ZQeOR!ceQgPQjQT!dgjQnRR!jnQrSQ!Z^T!nr!ZQ%e$`R&Y%eQ#fyQ#izQ#k{Q#n!OQ#q!PZ$v#f#i#k#n#qQ$q#aQ$t#cT%u$q$tQ&`%yR&l&`Q&d%zR&n&dQ!RZR#r!RQ!U[R#u!UQ!X]R#w!XQ!_`R#z!_SdOeWfPQgjSmRnXqS^r!Ze#eyz{!O!P#f#i#k#n#qe#ayz{!O!P#f#i#k#n#qS&_%y&`T&c%z&dQ!OXQ!aaQ!bbR#y![",
|
|
3486
|
-
nodeNames: "\u26A0 StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag LongExpression ShortExpression Document IfBlock IfBlockOpen { BlockPrefix BlockPrefix BlockType BlockType } ElseBlock BlockPrefix BlockType if IfBlockClose BlockPrefix EachBlock EachBlockOpen BlockType as ( ) , Variable EachBlockClose AwaitBlock AwaitBlockOpen BlockType then catch ThenBlock BlockType CatchBlock BlockType AwaitBlockClose KeyBlock KeyBlockOpen BlockType KeyBlockClose RawHTMLBlock BlockPrefix BlockType DebugBlock BlockType ConstBlock BlockType Interpolation UnknownBlock UnknownBlockContent Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName DirectlyInterpolatedAttribute DirectlyInterpolatedAttributeValue SpreadInterpolatedAttribute ... Directive DirectiveOn DirectiveName AttributeName DirectiveTarget DirectiveBind DirectiveName DirectiveLet DirectiveName DirectiveClass DirectiveName DirectiveStyle DirectiveName DirectiveUse DirectiveName DirectiveTransition DirectiveName DirectiveIn DirectiveName DirectiveOut DirectiveName DirectiveAnimate DirectiveName | Modifier Is AttributeValue DoubleQuote AttributeValueContent SingleQuote AttributeValueContent UnquotedAttributeValue StyleAttribute StyleAttributeName Attribute EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag ComponentName SvelteElementName SvelteElementNamespace SvelteElementType CloseTag SelfClosingTag SelfClosingEndTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
|
|
3487
|
-
maxTerm: 172,
|
|
3488
|
-
context: elementContext,
|
|
3489
|
-
nodeProps: [
|
|
3490
|
-
[
|
|
3491
|
-
"closedBy",
|
|
3492
|
-
-10,
|
|
3493
|
-
1,
|
|
3494
|
-
2,
|
|
3495
|
-
3,
|
|
3496
|
-
5,
|
|
3497
|
-
6,
|
|
3498
|
-
7,
|
|
3499
|
-
8,
|
|
3500
|
-
9,
|
|
3501
|
-
10,
|
|
3502
|
-
11,
|
|
3503
|
-
"EndTag",
|
|
3504
|
-
4,
|
|
3505
|
-
"EndTag SelfClosingEndTag",
|
|
3506
|
-
17,
|
|
3507
|
-
"IfBlockClose",
|
|
3508
|
-
18,
|
|
3509
|
-
"}",
|
|
3510
|
-
31,
|
|
3511
|
-
"EachBlockClose",
|
|
3512
|
-
34,
|
|
3513
|
-
"(",
|
|
3514
|
-
40,
|
|
3515
|
-
"AwaitBlockClose",
|
|
3516
|
-
48,
|
|
3517
|
-
"AwaitBlockOpen",
|
|
3518
|
-
50,
|
|
3519
|
-
"KeyBlockClose",
|
|
3520
|
-
-4,
|
|
3521
|
-
68,
|
|
3522
|
-
112,
|
|
3523
|
-
115,
|
|
3524
|
-
118,
|
|
3525
|
-
"CloseTag",
|
|
3526
|
-
101,
|
|
3527
|
-
'"',
|
|
3528
|
-
103,
|
|
3529
|
-
"'"
|
|
3530
|
-
],
|
|
3531
|
-
[
|
|
3532
|
-
"group",
|
|
3533
|
-
-10,
|
|
3534
|
-
12,
|
|
3535
|
-
60,
|
|
3536
|
-
64,
|
|
3537
|
-
65,
|
|
3538
|
-
66,
|
|
3539
|
-
67,
|
|
3540
|
-
126,
|
|
3541
|
-
127,
|
|
3542
|
-
128,
|
|
3543
|
-
129,
|
|
3544
|
-
"Entity",
|
|
3545
|
-
-4,
|
|
3546
|
-
16,
|
|
3547
|
-
30,
|
|
3548
|
-
39,
|
|
3549
|
-
49,
|
|
3550
|
-
"Block Entity",
|
|
3551
|
-
-4,
|
|
3552
|
-
17,
|
|
3553
|
-
31,
|
|
3554
|
-
40,
|
|
3555
|
-
50,
|
|
3556
|
-
"BlockOpen",
|
|
3557
|
-
-3,
|
|
3558
|
-
24,
|
|
3559
|
-
44,
|
|
3560
|
-
46,
|
|
3561
|
-
"BlockInline",
|
|
3562
|
-
-4,
|
|
3563
|
-
28,
|
|
3564
|
-
38,
|
|
3565
|
-
48,
|
|
3566
|
-
52,
|
|
3567
|
-
"BlockClose",
|
|
3568
|
-
-4,
|
|
3569
|
-
53,
|
|
3570
|
-
56,
|
|
3571
|
-
58,
|
|
3572
|
-
61,
|
|
3573
|
-
"BlockInline Entity",
|
|
3574
|
-
63,
|
|
3575
|
-
"Entity TextContent",
|
|
3576
|
-
-3,
|
|
3577
|
-
110,
|
|
3578
|
-
113,
|
|
3579
|
-
116,
|
|
3580
|
-
"TextContent Entity"
|
|
3581
|
-
],
|
|
3582
|
-
[
|
|
3583
|
-
"openedBy",
|
|
3584
|
-
23,
|
|
3585
|
-
"{",
|
|
3586
|
-
28,
|
|
3587
|
-
"IfBlockOpen",
|
|
3588
|
-
35,
|
|
3589
|
-
")",
|
|
3590
|
-
38,
|
|
3591
|
-
"EachBlockOpen",
|
|
3592
|
-
52,
|
|
3593
|
-
"KeyBlockOpen",
|
|
3594
|
-
101,
|
|
3595
|
-
'"',
|
|
3596
|
-
103,
|
|
3597
|
-
"'",
|
|
3598
|
-
109,
|
|
3599
|
-
"StartTag StartCloseTag",
|
|
3600
|
-
-4,
|
|
3601
|
-
111,
|
|
3602
|
-
114,
|
|
3603
|
-
117,
|
|
3604
|
-
123,
|
|
3605
|
-
"OpenTag",
|
|
3606
|
-
125,
|
|
3607
|
-
"StartTag"
|
|
3608
|
-
]
|
|
3609
|
-
],
|
|
3610
|
-
propSources: [svelteHighlighting],
|
|
3611
|
-
skippedNodes: [0],
|
|
3612
|
-
repeatNodeCount: 13,
|
|
3613
|
-
tokenData: "&8h$IRR!dOX%aXY/TYZ/TZ[%a[]1{]^/T^p%apq/Tqr2yrsEastF_tuHxuv2yvw!)[wx#,nxy#-lyz#0Vz|2y|}#2p}!O#5Z!O!P#Kk!P!Q$%S!Q![2y![!]$'{!]!^2y!^!_$)u!_!`%'{!`!a%({!a!b2y!b!cF_!c!}%){!}#R2y#R#S%AU#S#T&%m#T#o&'m#o#p&1P#p#q&1d#q#r&3[#r#s2y#s$f%a$f$g2y$g%WHx%W%o%AU%o%pHx%p&a%AU&a&bHx&b1p%AU1p4UHx4U4d%AU4d4eHx4e$IS%AU$IS$I`Hx$I`$Ib%AU$Ib$KhHx$Kh%#t%AU%#t&/xHx&/x&Et%AU&Et&FVHx&FV;'S%AU;'S;:j&5p;:j;=`&5v<%l?&rHx?&r?Ah%AU?Ah?BY&5|?BY?Mn%AU?MnO&5|$3X%ng!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V7m'`g!aP#]7[!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'Va)OZ!aP!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w`)vS!``O#q)q#r;'S)q;'S;=`*S<%lO)q`*VP;=`<%l)qP*_U!aPOv*Yw!^*Y!_#o*Y#p;'S*Y;'S;=`*q<%lO*YP*tP;=`<%l*Ya*zP;=`<%l(w7l+Uc#]7[!``OX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}7[,fY#]7[OX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a7[-XP;=`<%l,a7l-_P;=`<%l*}7]-id!aP#]7[OX-bXZ*YZ[-b[^*Y^p-bpq*Yqr-brs*Ysv-bvw,awx*Yx!^-b!_!a*Y!a#S-b#S#T*Y#T#o-b#o#p,a#p;'S-b;'S;=`.w<%lO-b7].zP;=`<%l-b7m/QP;=`<%l'V$@q/bb!aP$mMh$o!LQ!``$]EUOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(wEV0sb!aP!``$]EUOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#J{2WZ!aP$mMh$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$DR3^p!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHg5qp!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHf8Sn!p&j#U,U#]7[!``!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}2Y:]f!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q1x;zZ!p&j#U,U!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q1x<pP;=`<%l;q2Y<vP;=`<%l:QHU=Ug!p&j#U,U#]7[!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,aHU>pP;=`<%l<yHf>vP;=`<%l7u2Z?Wi!p&j#U,U!aP!``!oWOq(wqr>yrs(wsv>yvw:Qwx(wx!P>y!P!Q(w!Qq#p#q(w#q#r@u#r#s>y#s$f(w$f;'S>y;'S;=`Bo<%l?Ah>y?Ah?BY(w?BY?Mn>y?MnO(w1yAQg!p&j#U,U!aP!oWOq*Yqr@urs*Ysv@uvw;qwx*Yx!P@u!P!Q*Y!Q![@u![!]*Y!]!^@u!^!_;q!_!a*Y!a#o@u#p#q*Y#q#s@u#s$f*Y$f;'S@u;'S;=`Bi<%l?Ah@u?Ah?BY*Y?BY?Mn@u?MnO*Y1yBlP;=`<%l@u2ZBrP;=`<%l>yHVCSo!p&j#U,U!aP#]7[!oWOX-bXZ*YZ[-b[^*Y^p-bpq*YqrBurs*YsvBuvw<ywx*Yx!PBu!P!Q-b!Q![Bu![!]-b!]!^Bu!^!_;q!_!a*Y!a#SBu#S#T@u#T#oBu#o#p,a#p#q-b#q#sBu#s$f-b$f;'SBu;'S;=`ET<%l?AhBu?Ah?BY-b?BY?MnBu?MnO-bHVEWP;=`<%lBuHgE^P;=`<%l5b$3ZElZ#X!5v!aP$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$DTFtpcQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$FZIcweS!p&j#U,U!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![K|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}K|!}#R5b#R#SK|#S#T>y#T#oK|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SK|;'S;=`!&h<%l?AhK|?Ah?BY!&n?BY?MnK|?MnO!&nJoLcweS!p&j#U,U!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![K|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}K|!}#R5b#R#SK|#S#T>y#T#oK|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SK|;'S;=`!&h<%l?AhK|?Ah?BY!&n?BY?MnK|?MnO!&nIX! _w!p&j#U,U!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![N|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}N|!}#R5b#R#SN|#S#T>y#T#oN|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SN|;'S;=`!#x<%l?AhN|?Ah?BY!$O?BY?MnN|?MnO!$OIX!#{P;=`<%lN|8_!$Zq!aP#]7[up!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!$Ouv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!$O![!^'V!^!_)q!_!a(w!a!c'V!c!}!$O!}#R'V#R#S!$O#S#T(w#T#o!$O#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!$O;'S;=`!&b<%lO!$O8_!&eP;=`<%l!$OJo!&kP;=`<%lK|9u!&}qeS!aP#]7[up$_!b!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&nuv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!&n![!^'V!^!_)q!_!a(w!a!c'V!c!}!&n!}#R'V#R#S!&n#S#T(w#T#o!&n#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&n;'S;=`!)U<%lO!&n9u!)XP;=`<%l!&n$DR!)ko!p&j#U,U#]7[!``!oW!d#JkOX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!3Qrs!-Ust!B^tw!3Qwx!-Ux!P!3Q!P!Q!+l!Q![!3Q![!]!+l!]!^7u!^!_!7m!_!a!-U!a#S!3Q#S#T!7m#T#o!3Q#o#q!+l#q#r!>U#r#s!3Q#s$f!+l$f;'S!3Q;'S;=`!BW<%l?Ah!3Q?Ah?BY!+l?BY?Mn!3Q?MnO!+l$3X!+se#]7[!``OX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!+lrs!-Ust*}tw!+lwx!-Ux!]!+l!]!^!/[!^!a!-U!a#S!+l#S#T!-U#T#q!+l#q#r!0p#r;'S!+l;'S;=`!2z<%lO!+l#J{!-ZZ!``Op!-Upq)qqs!-Ust)qt!]!-U!]!^!-|!^#q!-U#q#r!.a#r;'S!-U;'S;=`!/U<%lO!-U#J{!.TS!``!b#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!.dVOp!.aqs!.at!]!.a!]!^!.y!^;'S!.a;'S;=`!/O<%lO!.a#Jk!/OO!b#Jk#Jk!/RP;=`<%l!.a#J{!/XP;=`<%l!-U$3X!/ec#]7[!``!b#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!0ub#]7[OX!0pXZ!.aZ[!0p[^!.a^p!0pqr!0prs!.ast,atw!0pwx!.ax!]!0p!]!^!1}!^!a!.a!a#S!0p#S#T!.a#T;'S!0p;'S;=`!2t<%lO!0p$2w!2UY#]7[!b#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!2wP;=`<%l!0p$3X!2}P;=`<%l!+l$DR!3_o!p&j#U,U#]7[!``!oWOX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!3Qrs!-Ust7utw!3Qwx!-Ux!P!3Q!P!Q!+l!Q![!3Q![!]!+l!]!^!5`!^!_!7m!_!a!-U!a#S!3Q#S#T!7m#T#o!3Q#o#q!+l#q#r!>U#r#s!3Q#s$f!+l$f;'S!3Q;'S;=`!BW<%l?Ah!3Q?Ah?BY!+l?BY?Mn!3Q?MnO!+l$DR!5on!p&j#U,U#]7[!``!b#Jk!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u!7xi!p&j#U,U!``!oWOp!-Upq)qqr!7mrs!-Ust:Qtw!7mwx!-Ux!P!7m!P!Q!-U!Q![!7m![!]!-U!]!^!9g!^!_!7m!_!a!-U!a#o!7m#o#q!-U#q#r!;Y#r#s!7m#s$f!-U$f;'S!7m;'S;=`!>O<%l?Ah!7m?Ah?BY!-U?BY?Mn!7m?MnO!-U$-u!9tf!p&j#U,U!``!b#Jk!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q$-e!;cg!p&j#U,U!oWOp!.aqr!;Yrs!.ast;qtw!;Ywx!.ax!P!;Y!P!Q!.a!Q![!;Y![!]!.a!]!^!<z!^!_!;Y!_!a!.a!a#o!;Y#o#q!.a#q#s!;Y#s$f!.a$f;'S!;Y;'S;=`!=x<%l?Ah!;Y?Ah?BY!.a?BY?Mn!;Y?MnO!.a$-e!=VZ!p&j#U,U!b#Jk!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q$-e!={P;=`<%l!;Y$-u!>RP;=`<%l!7m$Cq!>am!p&j#U,U#]7[!oWOX!0pXZ!.aZ[!0p[^!.a^p!0pqr!>Urs!.ast<ytw!>Uwx!.ax!P!>U!P!Q!0p!Q![!>U![!]!0p!]!^!@[!^!_!;Y!_!a!.a!a#S!>U#S#T!;Y#T#o!>U#o#q!0p#q#s!>U#s$f!0p$f;'S!>U;'S;=`!BQ<%l?Ah!>U?Ah?BY!0p?BY?Mn!>U?MnO!0p$Cq!@ig!p&j#U,U#]7[!b#Jk!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,a$Cq!BTP;=`<%l!>U$DR!BZP;=`<%l!3Q$DR!Bkn!p&j#U,U#]7[!``!oWOX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Knrs!FOsw!Knwx!FOx!P!Kn!P!Q!Di!Q![!Kn![!]!Di!]!^7u!^!_#!W!_!a!FO!a#S!Kn#S#T#!W#T#o!Kn#o#q!Di#q#r#(i#r#s!Kn#s$f!Di$f;'S!Kn;'S;=`#,h<%l?Ah!Kn?Ah?BY!Di?BY?Mn!Kn?MnO!Di$3X!Dpd#]7[!``OX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Dirs!FOsw!Diwx!FOx!]!Di!]!^!G{!^!a!FO!a#S!Di#S#T!FO#T#q!Di#q#r!Ia#r;'S!Di;'S;=`!Kh<%lO!Di#J{!FTX!``Op!FOpq)qq!]!FO!]!^!Fp!^#q!FO#q#r!GT#r;'S!FO;'S;=`!Gu<%lO!FO#J{!FwS!``!c#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!GWUOp!GTq!]!GT!]!^!Gj!^;'S!GT;'S;=`!Go<%lO!GT#Jk!GoO!c#Jk#Jk!GrP;=`<%l!GT#J{!GxP;=`<%l!FO$3X!HUc#]7[!``!c#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!Ifa#]7[OX!IaXZ!GTZ[!Ia[^!GT^p!Iaqr!Iars!GTsw!Iawx!GTx!]!Ia!]!^!Jk!^!a!GT!a#S!Ia#S#T!GT#T;'S!Ia;'S;=`!Kb<%lO!Ia$2w!JrY#]7[!c#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!KeP;=`<%l!Ia$3X!KkP;=`<%l!Di$DR!K{n!p&j#U,U#]7[!``!oWOX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Knrs!FOsw!Knwx!FOx!P!Kn!P!Q!Di!Q![!Kn![!]!Di!]!^!My!^!_#!W!_!a!FO!a#S!Kn#S#T#!W#T#o!Kn#o#q!Di#q#r#(i#r#s!Kn#s$f!Di$f;'S!Kn;'S;=`#,h<%l?Ah!Kn?Ah?BY!Di?BY?Mn!Kn?MnO!Di$DR!NYn!p&j#U,U#]7[!``!c#Jk!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u#!ch!p&j#U,U!``!oWOp!FOpq)qqr#!Wrs!FOsw#!Wwx!FOx!P#!W!P!Q!FO!Q![#!W![!]!FO!]!^##}!^!_#!W!_!a!FO!a#o#!W#o#q!FO#q#r#%p#r#s#!W#s$f!FO$f;'S#!W;'S;=`#(c<%l?Ah#!W?Ah?BY!FO?BY?Mn#!W?MnO!FO$-u#$[f!p&j#U,U!``!c#Jk!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q$-e#%yf!p&j#U,U!oWOp!GTqr#%prs!GTsw#%pwx!GTx!P#%p!P!Q!GT!Q![#%p![!]!GT!]!^#'_!^!_#%p!_!a!GT!a#o#%p#o#q!GT#q#s#%p#s$f!GT$f;'S#%p;'S;=`#(]<%l?Ah#%p?Ah?BY!GT?BY?Mn#%p?MnO!GT$-e#'jZ!p&j#U,U!c#Jk!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q$-e#(`P;=`<%l#%p$-u#(fP;=`<%l#!W$Cq#(tl!p&j#U,U#]7[!oWOX!IaXZ!GTZ[!Ia[^!GT^p!Iaqr#(irs!GTsw#(iwx!GTx!P#(i!P!Q!Ia!Q![#(i![!]!Ia!]!^#*l!^!_#%p!_!a!GT!a#S#(i#S#T#%p#T#o#(i#o#q!Ia#q#s#(i#s$f!Ia$f;'S#(i;'S;=`#,b<%l?Ah#(i?Ah?BY!Ia?BY?Mn#(i?MnO!Ia$Cq#*yg!p&j#U,U#]7[!c#Jk!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,a$Cq#,eP;=`<%l#(i$DR#,kP;=`<%l!Kn$3Z#,yZ#Z#4`!aP$mMh!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Du#.Rprr!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#0lpsQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#3VptQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#5nr!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O#7x!O!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHi#8Xq!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr#:`rs(wsv#:`vw#<uwx(wx!P#:`!P!Q'V!Q![#:`![!]'V!]!^#:`!^!_#?S!_!`(w!`!a#Jo!a#S#:`#S#T#DR#T#o#:`#o#p*}#p#q'V#q#r#HR#r#s#:`#s$f'V$f;'S#:`;'S;=`#Ji<%l?Ah#:`?Ah?BY'V?BY?Mn#:`?MnO'VHg#:qp!p&j#U,U!aP#]7[!``#_W!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr#:`rs(wsv#:`vw#<uwx(wx!P#:`!P!Q'V!Q![#:`![!]'V!]!^#:`!^!_#?S!_!a(w!a#S#:`#S#T#DR#T#o#:`#o#p*}#p#q'V#q#r#HR#r#s#:`#s$f'V$f;'S#:`;'S;=`#Ji<%l?Ah#:`?Ah?BY'V?BY?Mn#:`?MnO'VHf#=Un!p&j#U,U#]7[!``#_W!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr#<urs)qsw#<uwx)qx!P#<u!P!Q*}!Q![#<u![!]*}!]!^#<u!^!_#?S!_!a)q!a#S#<u#S#T#?S#T#o#<u#o#q*}#q#r#BP#r#s#<u#s$f*}$f;'S#<u;'S;=`#C{<%l?Ah#<u?Ah?BY*}?BY?Mn#<u?MnO*}2Y#?af!p&j#U,U!``#_W!oWOq)qqr#?Srs)qsw#?Swx)qx!P#?S!P!Q)q!Q![#?S![!])q!]!_#?S!_!a)q!a#o#?S#o#q)q#q#r#@u#r#s#?S#s$f)q$f;'S#?S;'S;=`#Ay<%l?Ah#?S?Ah?BY)q?BY?Mn#?S?MnO)q1x#AQZ!p&j#U,U#_W!oWqr#@usw#@ux!P#@u!Q![#@u!]!_#@u!a#o#@u#q#s#@u$f;'S#@u;'S;=`#As<%l?Ah#@u?BY?Mn#@u1x#AvP;=`<%l#@u2Y#A|P;=`<%l#?SHU#B^g!p&j#U,U#]7[#_W!oWOX,aZ[,a^p,aqr#BPsw#BPx!P#BP!P!Q,a!Q![#BP![!],a!]!^#BP!^!_#@u!a#S#BP#S#T#@u#T#o#BP#o#q,a#q#s#BP#s$f,a$f;'S#BP;'S;=`#Cu<%l?Ah#BP?Ah?BY,a?BY?Mn#BP?MnO,aHU#CxP;=`<%l#BPHf#DOP;=`<%l#<u2Z#Dbi!p&j#U,U!aP!``#_W!oWOq(wqr#DRrs(wsv#DRvw#?Swx(wx!P#DR!P!Q(w!Qq#p#q(w#q#r#FP#r#s#DR#s$f(w$f;'S#DR;'S;=`#G{<%l?Ah#DR?Ah?BY(w?BY?Mn#DR?MnO(w1y#F^g!p&j#U,U!aP#_W!oWOq*Yqr#FPrs*Ysv#FPvw#@uwx*Yx!P#FP!P!Q*Y!Q![#FP![!]*Y!]!^#FP!^!_#@u!_!a*Y!a#o#FP#p#q*Y#q#s#FP#s$f*Y$f;'S#FP;'S;=`#Gu<%l?Ah#FP?Ah?BY*Y?BY?Mn#FP?MnO*Y1y#GxP;=`<%l#FP2Z#HOP;=`<%l#DRHV#Hbo!p&j#U,U!aP#]7[#_W!oWOX-bXZ*YZ[-b[^*Y^p-bpq*Yqr#HRrs*Ysv#HRvw#BPwx*Yx!P#HR!P!Q-b!Q![#HR![!]-b!]!^#HR!^!_#@u!_!a*Y!a#S#HR#S#T#FP#T#o#HR#o#p,a#p#q-b#q#s#HR#s$f-b$f;'S#HR;'S;=`#Jc<%l?Ah#HR?Ah?BY-b?BY?Mn#HR?MnO-bHV#JfP;=`<%l#HRHg#JlP;=`<%l#:`c#JxZ!aP$rQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Ee#LOq!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P#NV!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy#Nfq!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P$!m!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy$#Op!k!b!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$3g$%chcQ!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!`(w!`!a$&}!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'Vm$'YZ!aP!``#qW#a[Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$3_$(^g$cScQ!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V$-u$*Ug!p&j#U,U$mMh$o!LQ!``!oWOq)qqr$+mrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!b$LZ!b#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$+xl!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx}:Q}!O$-p!O!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!f:Q!f!g$1Y!g#W:Q#W#X$Ac#X#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$-{h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx}:Q}!O$/g!O!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$/tf!p&j#U,U!``$qP!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$1eh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!q:Q!q!r$3P!r#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$3[h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!e:Q!e!f$4v!f#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$5Rh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!v:Q!v!w$6m!w#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$6xh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!{:Q!{!|$8d!|#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$8oh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!r:Q!r!s$:Z!s#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$:fh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!g:Q!g!h$<Q!h#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$<]g!p&j#U,U!``!oWOq$=tqr$<Qrs$=tsw$<Qwx$=tx!P$<Q!P!Q$=t!Q![$<Q![!]$=t!]!_$<Q!_!`$=t!`!a$>`!a#o$<Q#o#q$=t#q#r$?h#r#s$<Q#s$f$=t$f;'S$<Q;'S;=`$A]<%l?Ah$<Q?Ah?BY$=t?BY?Mn$<Q?MnO$=ta$=yV!``O!`$=t!`!a$>`!a#q$=t#q#r$>s#r;'S$=t;'S;=`$?b<%lO$=ta$>gS!``#vPO#q)q#r;'S)q;'S;=`*S<%lO)qP$>vTO!`$>s!`!a$?V!a;'S$>s;'S;=`$?[<%lO$>sP$?[O#vPP$?_P;=`<%l$>sa$?eP;=`<%l$=t1y$?qf!p&j#U,U!oWOq$>sqr$?hrs$>ssw$?hwx$>sx!P$?h!P!Q$>s!Q![$?h![!]$>s!]!_$?h!_!`$>s!`!a$?V!a#o$?h#o#q$>s#q#s$?h#s$f$>s$f;'S$?h;'S;=`$AV<%l?Ah$?h?Ah?BY$>s?BY?Mn$?h?MnO$>s1y$AYP;=`<%l$?h2Z$A`P;=`<%l$<Q2Z$Anh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#c:Q#c#d$CY#d#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Ceh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#V:Q#V#W$EP#W#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$E[h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#h:Q#h#i$Fv#i#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$GRh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#m:Q#m#n$Hm#n#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Hxh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#d:Q#d#e$Jd#e#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Joh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#X:Q#X#Y$<Q#Y#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Lfg!p&j#U,U!``!oWOq$M}qr$LZrs$M}sw$LZwx$M}x!P$LZ!P!Q$M}!Q![$LZ![!]$M}!]!_$LZ!_!a$M}!a!b%!o!b#o$LZ#o#q$M}#q#r%$c#r#s$LZ#s$f$M}$f;'S$LZ;'S;=`%'u<%l?Ah$LZ?Ah?BY$M}?BY?Mn$LZ?MnO$M}a$NSV!``O!a$M}!a!b$Ni!b#q$M}#q#r% h#r;'S$M};'S;=`%!i<%lO$M}a$NnV!``O!`$M}!`!a% T!a#q$M}#q#r% h#r;'S$M};'S;=`%!i<%lO$M}a% [S!``#sPO#q)q#r;'S)q;'S;=`*S<%lO)qP% kTO!a% h!a!b% z!b;'S% h;'S;=`%!c<%lO% hP% }TO!`% h!`!a%!^!a;'S% h;'S;=`%!c<%lO% hP%!cO#sPP%!fP;=`<%l% ha%!lP;=`<%l$M}2Z%!zg!p&j#U,U!``!oWOq$M}qr$LZrs$M}sw$LZwx$M}x!P$LZ!P!Q$M}!Q![$LZ![!]$M}!]!_$LZ!_!`$M}!`!a% T!a#o$LZ#o#q$M}#q#r%$c#r#s$LZ#s$f$M}$f;'S$LZ;'S;=`%'u<%l?Ah$LZ?Ah?BY$M}?BY?Mn$LZ?MnO$M}1y%$lf!p&j#U,U!oWOq% hqr%$crs% hsw%$cwx% hx!P%$c!P!Q% h!Q![%$c![!]% h!]!_%$c!_!a% h!a!b%&Q!b#o%$c#o#q% h#q#s%$c#s$f% h$f;'S%$c;'S;=`%'o<%l?Ah%$c?Ah?BY% h?BY?Mn%$c?MnO% h1y%&Zf!p&j#U,U!oWOq% hqr%$crs% hsw%$cwx% hx!P%$c!P!Q% h!Q![%$c![!]% h!]!_%$c!_!`% h!`!a%!^!a#o%$c#o#q% h#q#s%$c#s$f% h$f;'S%$c;'S;=`%'o<%l?Ah%$c?Ah?BY% h?BY?Mn%$c?MnO% h1y%'rP;=`<%l%$c2Z%'xP;=`<%l$LZ#KT%(YZ#VW!aP$mMh$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#KX%)YZ!aP$mMh$o!LQ!``#a[Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$IR%*j!aeS#kQ!p&j#U,U#n#t!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%<f!}#R5b#R#S%7r#S#T>y#T#o%<f#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&nHi%/Q!^#kQ!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O%.o!O!P%.o!P!Q'V!Q![%.o![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%.o!}#R5b#R#S%.o#S#T>y#T#o%.o#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$}5b$}%O%.o%O%W5b%W%o%.o%o%p5b%p&a%.o&a&b5b&b1p%.o1p4U%.o4U4d%.o4d4e5b4e$IS%.o$IS$I`5b$I`$Ib%.o$Ib$Je5b$Je$Jg%.o$Jg$Kh5b$Kh%#t%.o%#t&/x5b&/x&Et%.o&Et&FV5b&FV;'S%.o;'S;:j%2|;:j;=`EZ<%l?&r5b?&r?Ah%.o?Ah?BY'V?BY?Mn%.o?MnO'VHi%3PP;=`<%l%.oIZ%3g!a#kQ!p&j#U,U!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%3S![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%3S!}#R5b#R#S%3S#S#T>y#T#o%3S#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}N|$}%O%3S%O%WN|%W%o%3S%o%pN|%p&a%3S&a&bN|&b1p%3S1p4U%3S4U4d%3S4d4eN|4e$IS%3S$IS$I`N|$I`$Ib%3S$Ib$JeN|$Je$Jg%3S$Jg$KhN|$Kh%#t%3S%#t&/xN|&/x&Et%3S&Et&FVN|&FV;'S%3S;'S;:j%7l;:j;=`!#x<%l?&rN|?&r?Ah%3S?Ah?BY!$O?BY?Mn%3S?MnO!$OIZ%7oP;=`<%l%3SJq%8Z!aeS#kQ!p&j#U,U!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%7r!}#R5b#R#S%7r#S#T>y#T#o%7r#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&nJq%<cP;=`<%l%7rMg%=P!aeS#kQ!p&j#U,U#n#t!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%<f!}#R5b#R#S%7r#S#T>y#T#o%<f#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&n$F]%Aq!aeS!p&j#U,U!gQ!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ny!}#R5b#R#S%Ny#S#T>y#T#o%Ny#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nHi%FX!^!p&j#U,U!gQ!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O%Ev!O!P%Ev!P!Q'V!Q![%Ev![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ev!}#R5b#R#S%Ev#S#T>y#T#o%Ev#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$}5b$}%O%Ev%O%W5b%W%o%Ev%o%p5b%p&a%Ev&a&b5b&b1p%Ev1p4U%Ev4U4d%Ev4d4e5b4e$IS%Ev$IS$I`5b$I`$Ib%Ev$Ib$Je5b$Je$Jg%Ev$Jg$Kh5b$Kh%#t%Ev%#t&/x5b&/x&Et%Ev&Et&FV5b&FV;'S%Ev;'S;:j%JT;:j;=`EZ<%l?&r5b?&r?Ah%Ev?Ah?BY'V?BY?Mn%Ev?MnO'VHi%JWP;=`<%l%EvIZ%Jn!a!p&j#U,U!gQ!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%JZ![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%JZ!}#R5b#R#S%JZ#S#T>y#T#o%JZ#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}N|$}%O%JZ%O%WN|%W%o%JZ%o%pN|%p&a%JZ&a&bN|&b1p%JZ1p4U%JZ4U4d%JZ4d4eN|4e$IS%JZ$IS$I`N|$I`$Ib%JZ$Ib$JeN|$Je$Jg%JZ$Jg$KhN|$Kh%#t%JZ%#t&/xN|&/x&Et%JZ&Et&FVN|&FV;'S%JZ;'S;:j%Ns;:j;=`!#x<%l?&rN|?&r?Ah%JZ?Ah?BY!$O?BY?Mn%JZ?MnO!$OIZ%NvP;=`<%l%JZJq& b!aeS!p&j#U,U!gQ!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ny!}#R5b#R#S%Ny#S#T>y#T#o%Ny#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nJq&%jP;=`<%l%Ny$-u&&Oi!p&j#U,U!aP$mMh$o!LQ!``!oWOq(wqr>yrs(wsv>yvw:Qwx(wx!P>y!P!Q(w!Qq#p#q(w#q#r@u#r#s>y#s$f(w$f;'S>y;'S;=`Bo<%l?Ah>y?Ah?BY(w?BY?Mn>y?MnO(w$IR&([!aeS!p&j#U,U#n#t!gQ!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}&,a!}#R5b#R#S%Ny#S#T>y#T#o&,a#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nMg&,z!aeS!p&j#U,U#n#t!gQ!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}&,a!}#R5b#R#S%Ny#S#T>y#T#o&,a#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&n$3a&1WSb$3P!``O#q)q#r;'S)q;'S;=`*S<%lO)q$3a&1sg#TW!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V$FX&3oog#f!p&j#U,U!aP#]7[$mMh$o!LQ!oWOX-bXZ*YZ[-b[^*Y^p-bpq*YqrBurs*YsvBuvw<ywx*Yx!PBu!P!Q-b!Q![Bu![!]-b!]!^Bu!^!_;q!_!a*Y!a#SBu#S#T@u#T#oBu#o#p,a#p#q-b#q#sBu#s$f-b$f;'SBu;'S;=`ET<%l?AhBu?Ah?BY-b?BY?MnBu?MnO-b$F]&5sP;=`<%l%AU$FZ&5yP;=`<%lHx$5a&6aqeS!aP#]7[up$mMh$o!LQ$_!b!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&nuv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!&n![!^'V!^!_)q!_!a(w!a!c'V!c!}!&n!}#R'V#R#S!&n#S#T(w#T#o!&n#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&n;'S;=`!)U<%lO!&n",
|
|
3614
|
-
tokenizers: [
|
|
3615
|
-
scriptTokens,
|
|
3616
|
-
styleTokens,
|
|
3617
|
-
textareaTokens,
|
|
3618
|
-
tagStart,
|
|
3619
|
-
commentContent,
|
|
3620
|
-
longExpression,
|
|
3621
|
-
shortExpression,
|
|
3622
|
-
0,
|
|
3623
|
-
1,
|
|
3624
|
-
2,
|
|
3625
|
-
3,
|
|
3626
|
-
4,
|
|
3627
|
-
5,
|
|
3628
|
-
6,
|
|
3629
|
-
7,
|
|
3630
|
-
8,
|
|
3631
|
-
9,
|
|
3632
|
-
10,
|
|
3633
|
-
11,
|
|
3634
|
-
12
|
|
3635
|
-
],
|
|
3636
|
-
topRules: { Document: [0, 15] },
|
|
3637
|
-
specialized: [
|
|
3638
|
-
{
|
|
3639
|
-
term: 19,
|
|
3640
|
-
get: (e6) => spec_BlockPrefix[e6] || -1
|
|
3641
|
-
},
|
|
3642
|
-
{
|
|
3643
|
-
term: 21,
|
|
3644
|
-
get: (e6) => spec_BlockType[e6] || -1
|
|
3645
|
-
},
|
|
3646
|
-
{
|
|
3647
|
-
term: 153,
|
|
3648
|
-
get: (e6) => spec_identifier[e6] || -1
|
|
3649
|
-
},
|
|
3650
|
-
{
|
|
3651
|
-
term: 77,
|
|
3652
|
-
get: (e6) => spec_AttributeName[e6] || -1
|
|
3653
|
-
},
|
|
3654
|
-
{
|
|
3655
|
-
term: 69,
|
|
3656
|
-
get: (e6) => spec_TagName[e6] || -1
|
|
3657
|
-
}
|
|
3658
|
-
],
|
|
3659
|
-
tokenPrec: 1571
|
|
3660
|
-
});
|
|
3661
|
-
function getAttrs(e6, b) {
|
|
3662
|
-
let x = /* @__PURE__ */ Object.create(null);
|
|
3663
|
-
for (let S of e6.firstChild.getChildren("Attribute")) {
|
|
3664
|
-
let e7 = S.getChild("AttributeName"), C = S.getChild("AttributeValue") || S.getChild("UnquotedAttributeValue");
|
|
3665
|
-
e7 && (x[b.read(e7.from, e7.to)] = C ? C.name == "AttributeValue" ? b.read(C.from + 1, C.to - 1) : b.read(C.from, C.to) : "");
|
|
3666
|
-
}
|
|
3667
|
-
return x;
|
|
3668
|
-
}
|
|
3669
|
-
function maybeNest(e6, b, x) {
|
|
3670
|
-
let S;
|
|
3671
|
-
for (let C of x) if (!C.attrs || C.attrs(S || (S = getAttrs(e6.node.parent, b)))) return { parser: C.parser };
|
|
3672
|
-
return null;
|
|
3673
|
-
}
|
|
3674
|
-
var expressionParser = /* @__PURE__ */ parser$1.configure({ top: "SingleExpression" });
|
|
3675
|
-
function configureNesting(e6) {
|
|
3676
|
-
let b = [], x = [], S = [];
|
|
3677
|
-
for (let C of e6) {
|
|
3678
|
-
let e7 = C.tag == "script" ? b : C.tag == "style" ? x : C.tag == "textarea" ? S : null;
|
|
3679
|
-
if (!e7) throw RangeError("Only script, style, and textarea tags can host nested parsers");
|
|
3680
|
-
e7.push(C);
|
|
3681
|
-
}
|
|
3682
|
-
return parseMixed((e7, C) => {
|
|
3683
|
-
let w = e7.type.id;
|
|
3684
|
-
return w === LongExpression || w === ShortExpression ? { parser: expressionParser } : w === ScriptText ? maybeNest(e7, C, b) : w === StyleText ? maybeNest(e7, C, x) : w === TextareaText ? maybeNest(e7, C, S) : null;
|
|
3685
|
-
});
|
|
3686
|
-
}
|
|
3687
|
-
var defaultNesting = [
|
|
3688
|
-
{
|
|
3689
|
-
tag: "script",
|
|
3690
|
-
attrs: (e6) => e6.type === "text/typescript" || e6.lang === "ts",
|
|
3691
|
-
parser: typescriptLanguage.parser
|
|
3692
|
-
},
|
|
3693
|
-
{
|
|
3694
|
-
tag: "script",
|
|
3695
|
-
attrs(e6) {
|
|
3696
|
-
return !e6.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e6.type);
|
|
3697
|
-
},
|
|
3698
|
-
parser: javascriptLanguage.parser
|
|
3699
|
-
},
|
|
3700
|
-
{
|
|
3701
|
-
tag: "style",
|
|
3702
|
-
attrs(e6) {
|
|
3703
|
-
return (!e6.lang || e6.lang === "css" || e6.lang === "scss") && (!e6.type || /^(text\/)?(x-)?(stylesheet|css|scss)$/i.test(e6.type));
|
|
3704
|
-
},
|
|
3705
|
-
parser: cssLanguage.parser
|
|
3706
|
-
}
|
|
3707
|
-
], svelteLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
3708
|
-
parser: /* @__PURE__ */ parser$2.configure({
|
|
3709
|
-
wrap: /* @__PURE__ */ configureNesting(defaultNesting),
|
|
3710
|
-
props: [/* @__PURE__ */ indentNodeProp.add({
|
|
3711
|
-
Element: (e6) => {
|
|
3712
|
-
let b = /^(\s*)(<\/)?/.exec(e6.textAfter);
|
|
3713
|
-
return e6.node.to <= e6.pos + b[0].length ? e6.continue() : e6.lineIndent(e6.node.from) + (b[2] ? 0 : e6.unit);
|
|
3714
|
-
},
|
|
3715
|
-
Block: (e6) => {
|
|
3716
|
-
let b = e6.node, x = e6.textAfter.trim();
|
|
3717
|
-
if (x.startsWith("{/")) {
|
|
3718
|
-
let S2 = b.name;
|
|
3719
|
-
return S2 === "IfBlock" && x.startsWith("{/if") || S2 === "EachBlock" && x.startsWith("{/each") || S2 === "AwaitBlock" && x.startsWith("{/await") || S2 === "KeyBlock" && x.startsWith("{/key") ? e6.lineIndent(e6.node.from) : null;
|
|
3720
|
-
}
|
|
3721
|
-
if (b.name === "IfBlock" || b.name === "EachBlock") {
|
|
3722
|
-
if (x.startsWith("{:else")) return e6.lineIndent(b.from);
|
|
3723
|
-
} else if (b.name === "AwaitBlock" && (x.startsWith("{:then") || x.startsWith("{:catch"))) return e6.lineIndent(b.from);
|
|
3724
|
-
let S = /^(\s*)(<\/)?/.exec(e6.textAfter);
|
|
3725
|
-
return e6.node.to <= e6.pos + S[0].length ? e6.continue() : e6.lineIndent(e6.node.from) + (S[2] ? 0 : e6.unit);
|
|
3726
|
-
},
|
|
3727
|
-
"BlockOpen BlockClose BlockInline": (e6) => e6.column(e6.node.from) + e6.unit,
|
|
3728
|
-
"OpenTag CloseTag SelfClosingTag": (e6) => e6.column(e6.node.from) + e6.unit,
|
|
3729
|
-
Document: (e6) => {
|
|
3730
|
-
if (e6.pos + /\s*/.exec(e6.textAfter)[0].length < e6.node.to) return e6.continue();
|
|
3731
|
-
let b = null, x;
|
|
3732
|
-
for (let x2 = e6.node; ; ) {
|
|
3733
|
-
let e7 = x2.lastChild;
|
|
3734
|
-
if (!e7 || e7.name != "Element" || e7.to != x2.to) break;
|
|
3735
|
-
b = x2 = e7;
|
|
3736
|
-
}
|
|
3737
|
-
return b && !((x = b.lastChild) && (x.name === "CloseTag" || x.name === "SelfClosingTag")) ? e6.lineIndent(b.from) + e6.unit : null;
|
|
3738
|
-
}
|
|
3739
|
-
}), /* @__PURE__ */ foldNodeProp.add({
|
|
3740
|
-
Block: (e6) => {
|
|
3741
|
-
let b = `${e6.name}Open`, x = `${e6.name}Close`, S = e6.firstChild, C = e6.lastChild;
|
|
3742
|
-
return !S || S.name !== b ? null : {
|
|
3743
|
-
from: S.to,
|
|
3744
|
-
to: (C == null ? void 0 : C.name) === x ? C.from : e6.to
|
|
3745
|
-
};
|
|
3746
|
-
},
|
|
3747
|
-
Element: (e6) => {
|
|
3748
|
-
let b = e6.firstChild, x = e6.lastChild;
|
|
3749
|
-
return !b || b.name != "OpenTag" ? null : {
|
|
3750
|
-
from: b.to,
|
|
3751
|
-
to: x.name === "CloseTag" ? x.from : e6.to
|
|
3752
|
-
};
|
|
3753
|
-
}
|
|
3754
|
-
})]
|
|
3755
|
-
}),
|
|
3756
|
-
languageData: {
|
|
3757
|
-
commentTokens: { block: {
|
|
3758
|
-
open: "<!--",
|
|
3759
|
-
close: "-->"
|
|
3760
|
-
} },
|
|
3761
|
-
indentOnInput: /^\s*((<\/\w+\W)|(\{:(else|then|catch))|(\{\/(if|each|await|key)))$/,
|
|
3762
|
-
wordChars: "-._",
|
|
3763
|
-
autocomplete: htmlCompletionSource
|
|
3764
|
-
}
|
|
3765
|
-
});
|
|
3766
|
-
function svelte() {
|
|
3767
|
-
return new LanguageSupport(svelteLanguage, [
|
|
3768
|
-
javascript().support,
|
|
3769
|
-
css().support,
|
|
3770
|
-
autoCloseTags
|
|
3771
|
-
]);
|
|
3772
|
-
}
|
|
3773
|
-
function elementName(e6, b, x = e6.length) {
|
|
3774
|
-
if (!b) return "";
|
|
3775
|
-
let S = b.firstChild, C = S && (S.getChild("TagName") || S.getChild("ComponentName") || S.getChild("SvelteElementName"));
|
|
3776
|
-
return C ? e6.sliceString(C.from, Math.min(C.to, x)) : "";
|
|
3777
|
-
}
|
|
3778
|
-
var autoCloseTags = /* @__PURE__ */ EditorView.inputHandler.of((e6, b, x, S) => {
|
|
3779
|
-
if (e6.composing || e6.state.readOnly || b != x || S != ">" && S != "/" || !svelteLanguage.isActiveAt(e6.state, b, -1)) return false;
|
|
3780
|
-
let { state: C } = e6, w = C.changeByRange((b2) => {
|
|
3781
|
-
var _a, _b, _c;
|
|
3782
|
-
let { head: x2 } = b2, w2 = syntaxTree(C).resolveInner(x2, -1), T;
|
|
3783
|
-
if ((w2.name === "TagName" || w2.name === "ComponentName" || w2.name === "SvelteElementName" || w2.name === "StartTag") && (w2 = w2.parent), S === ">" && w2.name === "OpenTag") {
|
|
3784
|
-
if (((_b = (_a = w2.parent) == null ? void 0 : _a.lastChild) == null ? void 0 : _b.name) != "CloseTag" && (T = elementName(C.doc, w2.parent, x2))) {
|
|
3785
|
-
let b3 = e6.state.doc.sliceString(x2, x2 + 1) === ">", S2 = `${b3 ? "" : ">"}</${T}>`;
|
|
3786
|
-
return {
|
|
3787
|
-
range: EditorSelection.cursor(x2 + 1),
|
|
3788
|
-
changes: {
|
|
3789
|
-
from: x2 + (b3 ? 1 : 0),
|
|
3790
|
-
insert: S2
|
|
3791
|
-
}
|
|
3792
|
-
};
|
|
3793
|
-
}
|
|
3794
|
-
} else if (S === "/" && w2.name === "OpenTag") {
|
|
3795
|
-
let b3 = w2.parent, S2 = b3 == null ? void 0 : b3.parent;
|
|
3796
|
-
if (b3.from == x2 - 1 && ((_c = S2.lastChild) == null ? void 0 : _c.name) != "CloseTag" && (T = elementName(C.doc, S2, x2))) {
|
|
3797
|
-
let b4 = e6.state.doc.sliceString(x2, x2 + 1) === ">", S3 = `/${T}${b4 ? "" : ">"}`, C2 = x2 + S3.length + (b4 ? 1 : 0);
|
|
3798
|
-
return {
|
|
3799
|
-
range: EditorSelection.cursor(C2),
|
|
3800
|
-
changes: {
|
|
3801
|
-
from: x2,
|
|
3802
|
-
insert: S3
|
|
3803
|
-
}
|
|
3804
|
-
};
|
|
3805
|
-
}
|
|
3806
|
-
}
|
|
3807
|
-
return { range: b2 };
|
|
3808
|
-
});
|
|
3809
|
-
return w.changes.empty ? false : (e6.dispatch(w, {
|
|
3810
|
-
userEvent: "input.type",
|
|
3811
|
-
scrollIntoView: true
|
|
3812
|
-
}), true);
|
|
3813
|
-
}), keywords = {
|
|
3814
|
-
pragma: true,
|
|
3815
|
-
solidity: true,
|
|
3816
|
-
import: true,
|
|
3817
|
-
as: true,
|
|
3818
|
-
from: true,
|
|
3819
|
-
contract: true,
|
|
3820
|
-
constructor: true,
|
|
3821
|
-
is: true,
|
|
3822
|
-
function: true,
|
|
3823
|
-
modifier: true,
|
|
3824
|
-
pure: true,
|
|
3825
|
-
view: true,
|
|
3826
|
-
payable: true,
|
|
3827
|
-
constant: true,
|
|
3828
|
-
anonymous: true,
|
|
3829
|
-
indexed: true,
|
|
3830
|
-
returns: true,
|
|
3831
|
-
return: true,
|
|
3832
|
-
event: true,
|
|
3833
|
-
struct: true,
|
|
3834
|
-
mapping: true,
|
|
3835
|
-
interface: true,
|
|
3836
|
-
using: true,
|
|
3837
|
-
library: true,
|
|
3838
|
-
storage: true,
|
|
3839
|
-
memory: true,
|
|
3840
|
-
calldata: true,
|
|
3841
|
-
public: true,
|
|
3842
|
-
private: true,
|
|
3843
|
-
external: true,
|
|
3844
|
-
internal: true,
|
|
3845
|
-
emit: true,
|
|
3846
|
-
assembly: true,
|
|
3847
|
-
abstract: true,
|
|
3848
|
-
after: true,
|
|
3849
|
-
catch: true,
|
|
3850
|
-
final: true,
|
|
3851
|
-
in: true,
|
|
3852
|
-
inline: true,
|
|
3853
|
-
let: true,
|
|
3854
|
-
match: true,
|
|
3855
|
-
null: true,
|
|
3856
|
-
of: true,
|
|
3857
|
-
relocatable: true,
|
|
3858
|
-
static: true,
|
|
3859
|
-
try: true,
|
|
3860
|
-
typeof: true,
|
|
3861
|
-
var: true
|
|
3862
|
-
}, keywordsSpecial = {
|
|
3863
|
-
pragma: true,
|
|
3864
|
-
returns: true,
|
|
3865
|
-
address: true,
|
|
3866
|
-
contract: true,
|
|
3867
|
-
function: true,
|
|
3868
|
-
struct: true
|
|
3869
|
-
}, keywordsEtherUnit = {
|
|
3870
|
-
wei: true,
|
|
3871
|
-
szabo: true,
|
|
3872
|
-
finney: true,
|
|
3873
|
-
ether: true
|
|
3874
|
-
}, keywordsTimeUnit = {
|
|
3875
|
-
seconds: true,
|
|
3876
|
-
minutes: true,
|
|
3877
|
-
hours: true,
|
|
3878
|
-
days: true,
|
|
3879
|
-
weeks: true
|
|
3880
|
-
}, keywordsBlockAndTransactionProperties = {
|
|
3881
|
-
block: [
|
|
3882
|
-
"coinbase",
|
|
3883
|
-
"difficulty",
|
|
3884
|
-
"gaslimit",
|
|
3885
|
-
"number",
|
|
3886
|
-
"timestamp"
|
|
3887
|
-
],
|
|
3888
|
-
msg: [
|
|
3889
|
-
"data",
|
|
3890
|
-
"sender",
|
|
3891
|
-
"sig",
|
|
3892
|
-
"value"
|
|
3893
|
-
],
|
|
3894
|
-
tx: ["gasprice", "origin"]
|
|
3895
|
-
}, keywordsMoreBlockAndTransactionProperties = {
|
|
3896
|
-
now: true,
|
|
3897
|
-
gasleft: true,
|
|
3898
|
-
blockhash: true
|
|
3899
|
-
}, keywordsErrorHandling = {
|
|
3900
|
-
assert: true,
|
|
3901
|
-
require: true,
|
|
3902
|
-
revert: true,
|
|
3903
|
-
throw: true
|
|
3904
|
-
}, keywordsMathematicalAndCryptographicFuctions = {
|
|
3905
|
-
addmod: true,
|
|
3906
|
-
mulmod: true,
|
|
3907
|
-
keccak256: true,
|
|
3908
|
-
sha256: true,
|
|
3909
|
-
ripemd160: true,
|
|
3910
|
-
ecrecover: true
|
|
3911
|
-
}, keywordsContractRelated = {
|
|
3912
|
-
this: true,
|
|
3913
|
-
selfdestruct: true,
|
|
3914
|
-
super: true
|
|
3915
|
-
}, keywordsTypeInformation = { type: true }, keywordsContractList = {}, keywordsControlStructures = {
|
|
3916
|
-
if: true,
|
|
3917
|
-
else: true,
|
|
3918
|
-
while: true,
|
|
3919
|
-
do: true,
|
|
3920
|
-
for: true,
|
|
3921
|
-
break: true,
|
|
3922
|
-
continue: true,
|
|
3923
|
-
switch: true,
|
|
3924
|
-
case: true,
|
|
3925
|
-
default: true
|
|
3926
|
-
}, keywordsValueTypes = {
|
|
3927
|
-
bool: true,
|
|
3928
|
-
byte: true,
|
|
3929
|
-
string: true,
|
|
3930
|
-
enum: true,
|
|
3931
|
-
address: true
|
|
3932
|
-
}, keywordsV0505NewReserve = {
|
|
3933
|
-
alias: true,
|
|
3934
|
-
apply: true,
|
|
3935
|
-
auto: true,
|
|
3936
|
-
copyof: true,
|
|
3937
|
-
define: true,
|
|
3938
|
-
immutable: true,
|
|
3939
|
-
implements: true,
|
|
3940
|
-
macro: true,
|
|
3941
|
-
mutable: true,
|
|
3942
|
-
override: true,
|
|
3943
|
-
partial: true,
|
|
3944
|
-
promise: true,
|
|
3945
|
-
reference: true,
|
|
3946
|
-
sealed: true,
|
|
3947
|
-
sizeof: true,
|
|
3948
|
-
supports: true,
|
|
3949
|
-
typedef: true,
|
|
3950
|
-
unchecked: true
|
|
3951
|
-
}, keywordsAbiEncodeDecodeFunctions = { abi: [
|
|
3952
|
-
"decode",
|
|
3953
|
-
"encodePacked",
|
|
3954
|
-
"encodeWithSelector",
|
|
3955
|
-
"encodeWithSignature",
|
|
3956
|
-
"encode"
|
|
3957
|
-
] }, keywordsMembersOfAddressType = [
|
|
3958
|
-
"transfer",
|
|
3959
|
-
"send",
|
|
3960
|
-
"balance",
|
|
3961
|
-
"call",
|
|
3962
|
-
"delegatecall",
|
|
3963
|
-
"staticcall"
|
|
3964
|
-
], natSpecTags = [
|
|
3965
|
-
"title",
|
|
3966
|
-
"author",
|
|
3967
|
-
"notice",
|
|
3968
|
-
"dev",
|
|
3969
|
-
"param",
|
|
3970
|
-
"return"
|
|
3971
|
-
], atoms = {
|
|
3972
|
-
delete: true,
|
|
3973
|
-
new: true,
|
|
3974
|
-
true: true,
|
|
3975
|
-
false: true
|
|
3976
|
-
}, isOperatorChar = /[+\-*&^%:=<>!|/~]/, isNegativeChar = /[-]/, curPunc;
|
|
3977
|
-
function tokenBase(e6, b) {
|
|
3978
|
-
let x = e6.next();
|
|
3979
|
-
if (x === '"' || x === "'" || x === "`") return b.tokenize = tokenString(x), b.tokenize(e6, b);
|
|
3980
|
-
if (isVersion(e6, b)) return "version";
|
|
3981
|
-
if (x === "." && keywordsMembersOfAddressType.some(function(b2) {
|
|
3982
|
-
return e6.match(`${b2}`);
|
|
3983
|
-
})) return "addressFunction";
|
|
3984
|
-
if (typeof x == "string" && isNumber(x, e6)) return "number";
|
|
3985
|
-
if (typeof x == "string" && /[[\]{}(),;:.]/.test(x)) return updateGarmmer(x, b);
|
|
3986
|
-
if (x === "/") {
|
|
3987
|
-
if (e6.eat("*")) return b.tokenize = tokenComment, tokenComment(e6, b);
|
|
3988
|
-
if (e6.match(/\/{2}/)) {
|
|
3989
|
-
for (x = e6.next(); x; ) {
|
|
3990
|
-
if (x === "@") {
|
|
3991
|
-
e6.backUp(1), b.grammar = "doc";
|
|
3992
|
-
break;
|
|
3993
|
-
}
|
|
3994
|
-
x = e6.next();
|
|
3995
|
-
}
|
|
3996
|
-
return "doc";
|
|
3997
|
-
}
|
|
3998
|
-
if (e6.eat("/")) return e6.skipToEnd(), "comment";
|
|
3999
|
-
}
|
|
4000
|
-
if (typeof x == "string" && isNegativeChar.test(x)) {
|
|
4001
|
-
let b2 = e6.peek();
|
|
4002
|
-
return typeof b2 == "string" && isNumber(b2, e6) ? "number" : "operator";
|
|
4003
|
-
}
|
|
4004
|
-
if (typeof x == "string" && isOperatorChar.test(x)) return e6.eatWhile(isOperatorChar), "operator";
|
|
4005
|
-
e6.eatWhile(/[\w$_\xa1-\uffff]/);
|
|
4006
|
-
let S = e6.current();
|
|
4007
|
-
return b.grammar === "doc" ? natSpecTags.some(function(e7) {
|
|
4008
|
-
return S === `@${e7}`;
|
|
4009
|
-
}) ? "docReserve" : "doc" : (S === "solidity" && b.lastToken === "pragma" && (b.lastToken = b.lastToken + " " + S), Object.prototype.propertyIsEnumerable.call(keywords, S) ? ((S === "case" || S === "default") && (curPunc = "case"), Object.prototype.propertyIsEnumerable.call(keywordsSpecial, S) && (b.lastToken = S), "keyword") : Object.prototype.propertyIsEnumerable.call(keywordsEtherUnit, S) ? "etherUnit" : Object.prototype.propertyIsEnumerable.call(keywordsContractRelated, S) ? "contractRelated" : Object.prototype.propertyIsEnumerable.call(keywordsControlStructures, S) || Object.prototype.propertyIsEnumerable.call(keywordsTypeInformation, S) || Object.prototype.propertyIsEnumerable.call(keywordsV0505NewReserve, S) ? "keyword" : Object.prototype.propertyIsEnumerable.call(keywordsValueTypes, S) || Object.prototype.propertyIsEnumerable.call(keywordsTimeUnit, S) || isValidInteger(S) || isValidBytes(S) || isValidFixed(S) ? (b.lastToken += "variable", "keyword") : Object.prototype.propertyIsEnumerable.call(atoms, S) ? "atom" : Object.prototype.propertyIsEnumerable.call(keywordsErrorHandling, S) ? "errorHandling" : Object.prototype.propertyIsEnumerable.call(keywordsMathematicalAndCryptographicFuctions, S) ? "mathematicalAndCryptographic" : Object.prototype.propertyIsEnumerable.call(keywordsMoreBlockAndTransactionProperties, S) || Object.prototype.propertyIsEnumerable.call(keywordsBlockAndTransactionProperties, S) && keywordsBlockAndTransactionProperties[S].some(function(b2) {
|
|
4010
|
-
return e6.match(`.${b2}`);
|
|
4011
|
-
}) ? "variable-2" : S === "abi" && keywordsAbiEncodeDecodeFunctions[S].some(function(b2) {
|
|
4012
|
-
return e6.match(`.${b2}`);
|
|
4013
|
-
}) ? "abi" : updateHexLiterals(S, e6) ?? ((b.lastToken === "functionName(" || b.lastToken === "returns(") && Object.prototype.propertyIsEnumerable.call(keywordsContractList, S) ? (b.lastToken += "variable", "variable") : b.lastToken === "function" ? (b.lastToken = "functionName", b.para ?? (b.para = (b.grammar = "function", "")), b.para += "functionName", "functionName") : b.lastToken === "functionName(variable" ? (b.lastToken = "functionName(", "parameterValue") : b.lastToken === "returns(variable" ? (b.lastToken = "returns(", "parameterValue") : (b.lastToken === "address" && S === "payable" && (b.lastToken = "address payable"), (b.lastToken === "contract" || b.lastToken === "struct") && (keywordsContractList[S] = true, b.lastToken = null), b.grammar === "function" ? "parameterValue" : "variable")));
|
|
4014
|
-
}
|
|
4015
|
-
function tokenString(e6) {
|
|
4016
|
-
return function(b, x) {
|
|
4017
|
-
let S = false, C, w = false;
|
|
4018
|
-
for (C = b.next(); C != null; ) {
|
|
4019
|
-
if (C === e6 && !S) {
|
|
4020
|
-
w = true;
|
|
4021
|
-
break;
|
|
4022
|
-
}
|
|
4023
|
-
S = !S && e6 !== "`" && C === "\\", C = b.next();
|
|
4024
|
-
}
|
|
4025
|
-
return (w || !(S || e6 === "`")) && (x.tokenize = tokenBase), "string";
|
|
4026
|
-
};
|
|
4027
|
-
}
|
|
4028
|
-
function tokenComment(e6, b) {
|
|
4029
|
-
let x = false, S = e6.next();
|
|
4030
|
-
for (; S; ) {
|
|
4031
|
-
if (S === "/" && x) {
|
|
4032
|
-
b.tokenize = tokenBase;
|
|
4033
|
-
break;
|
|
4034
|
-
}
|
|
4035
|
-
x = S === "*", S = e6.next();
|
|
4036
|
-
}
|
|
4037
|
-
return "comment";
|
|
4038
|
-
}
|
|
4039
|
-
function isVersion(e6, b) {
|
|
4040
|
-
if (b.lastToken === "pragma solidity") return b.lastToken = null, !b.startOfLine && (e6.match(/[\^{0}][0-9.]+/) || e6.match(/[>=]+?[\s]*[0-9.]+[\s]*[<]?[\s]*[0-9.]+/));
|
|
4041
|
-
}
|
|
4042
|
-
function isNumber(e6, b) {
|
|
4043
|
-
if (/[\d.]/.test(e6)) return e6 === "." ? b.match(/^[0-9]+([eE][-+]?[0-9]+)?/) : e6 === "0" ? b.match(/^[xX][0-9a-fA-F]+/) || b.match(/^0[0-7]+/) : b.match(/^[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?/), true;
|
|
4044
|
-
}
|
|
4045
|
-
function isValidInteger(e6) {
|
|
4046
|
-
if (e6.match(/^[u]?int/)) {
|
|
4047
|
-
if (e6.indexOf("t") + 1 === e6.length) return true;
|
|
4048
|
-
let b = Number(e6.substr(e6.indexOf("t") + 1, e6.length));
|
|
4049
|
-
return b % 8 == 0 && b <= 256;
|
|
4050
|
-
}
|
|
4051
|
-
}
|
|
4052
|
-
function isValidBytes(e6) {
|
|
4053
|
-
if (e6.match(/^bytes/)) {
|
|
4054
|
-
if (e6.indexOf("s") + 1 === e6.length) return true;
|
|
4055
|
-
let b = e6.substr(e6.indexOf("s") + 1, e6.length);
|
|
4056
|
-
return Number(b) <= 32;
|
|
4057
|
-
}
|
|
4058
|
-
}
|
|
4059
|
-
function isValidFixed(e6) {
|
|
4060
|
-
if (e6.match(/^[u]?fixed([0-9]+x[0-9]+)?/)) {
|
|
4061
|
-
if (e6.indexOf("d") + 1 === e6.length) return true;
|
|
4062
|
-
let b = e6.substr(e6.indexOf("d") + 1, e6.length).split("x").map(Number);
|
|
4063
|
-
return b[0] % 8 == 0 && b[0] <= 256 && b[1] <= 80;
|
|
4064
|
-
}
|
|
4065
|
-
}
|
|
4066
|
-
function updateHexLiterals(e6, b) {
|
|
4067
|
-
if (e6.match(/^hex/) && b.peek() === '"') {
|
|
4068
|
-
let e7 = false, x, S = "", C = "";
|
|
4069
|
-
for (x = b.next(); x; ) {
|
|
4070
|
-
if (C += x, x === '"' && e7) {
|
|
4071
|
-
if (S = C.substring(1, C.length - 1), S.match(/^[0-9a-fA-F]+$/)) return "number";
|
|
4072
|
-
b.backUp(C.length);
|
|
4073
|
-
break;
|
|
4074
|
-
}
|
|
4075
|
-
e7 || (e7 = x === '"'), x = b.next();
|
|
4076
|
-
}
|
|
4077
|
-
}
|
|
4078
|
-
}
|
|
4079
|
-
function updateGarmmer(e6, b) {
|
|
4080
|
-
return e6 === "," && b.para === "functionName(variable" && (b.para = "functionName("), b.para != null && b.para.startsWith("functionName") && (e6 === ")" ? b.para.endsWith("(") && (b.para = b.para.substr(0, b.para.length - 1), b.para === "functionName" && (b.grammar = "")) : e6 === "(" && (b.para += e6)), e6 === "(" && b.lastToken === "functionName" ? b.lastToken += e6 : e6 === ")" && b.lastToken === "functionName(" ? b.lastToken = null : e6 === "(" && b.lastToken === "returns" ? b.lastToken += e6 : e6 === ")" && (b.lastToken === "returns(" || b.lastToken === "returns(variable") && (b.lastToken = null), e6 === "(" && b.lastToken === "address" && (b.lastToken += e6), curPunc = e6, null;
|
|
4081
|
-
}
|
|
4082
|
-
var Context = class {
|
|
4083
|
-
constructor(e6, b, x, S, C) {
|
|
4084
|
-
this.indented = e6, this.column = b, this.type = x, this.align = S, this.prev = C;
|
|
4085
|
-
}
|
|
4086
|
-
};
|
|
4087
|
-
function pushContext(e6, b, x) {
|
|
4088
|
-
return e6.context = new Context(e6.indented, b, x, null, e6.context), e6.context;
|
|
4089
|
-
}
|
|
4090
|
-
function popContext(e6) {
|
|
4091
|
-
if (!e6.context.prev) return;
|
|
4092
|
-
let b = e6.context.type;
|
|
4093
|
-
return (b === ")" || b === "]" || b === "}") && (e6.indented = e6.context.indented), e6.context = e6.context.prev;
|
|
4094
|
-
}
|
|
4095
|
-
var parser = {
|
|
4096
|
-
startState(e6) {
|
|
4097
|
-
return {
|
|
4098
|
-
tokenize: null,
|
|
4099
|
-
context: new Context(0 - e6, 0, "top", false, null),
|
|
4100
|
-
indented: 0,
|
|
4101
|
-
startOfLine: true,
|
|
4102
|
-
grammar: null,
|
|
4103
|
-
lastToken: null,
|
|
4104
|
-
para: null
|
|
4105
|
-
};
|
|
4106
|
-
},
|
|
4107
|
-
token(e6, b) {
|
|
4108
|
-
let x = b.context;
|
|
4109
|
-
if (e6.sol() && (x.align ?? (x.align = false), b.indented = e6.indentation(), b.startOfLine = true, x.type === "case" && (x.type = "}"), b.grammar === "doc" && (b.grammar = null)), e6.eatSpace()) return null;
|
|
4110
|
-
curPunc = null;
|
|
4111
|
-
let S = (b.tokenize || tokenBase)(e6, b);
|
|
4112
|
-
return S === "comment" ? S : (x.align ?? (x.align = true), curPunc === "{" ? pushContext(b, e6.column(), "}") : curPunc === "[" ? pushContext(b, e6.column(), "]") : curPunc === "(" ? pushContext(b, e6.column(), ")") : curPunc === "case" ? x.type = "case" : (curPunc === "}" && x.type === "}" || curPunc === x.type) && popContext(b), b.startOfLine = false, S);
|
|
4113
|
-
},
|
|
4114
|
-
indent(e6, b, x) {
|
|
4115
|
-
if (e6.tokenize !== tokenBase && e6.tokenize != null) return null;
|
|
4116
|
-
let S = e6.context, C = b && b.charAt(0);
|
|
4117
|
-
if (S.type === "case" && /^(?:case|default)\b/.test(b)) return e6.context.type = "}", S.indented;
|
|
4118
|
-
let w = C === S.type;
|
|
4119
|
-
return S.align ? S.column + (w ? 0 : 1) : S.indented + (w ? 0 : x.unit);
|
|
4120
|
-
},
|
|
4121
|
-
electricChars: "{}):",
|
|
4122
|
-
closeBrackets: "()[]{}''\"\"``",
|
|
4123
|
-
fold: "brace",
|
|
4124
|
-
blockCommentStart: "/*",
|
|
4125
|
-
blockCommentEnd: "*/",
|
|
4126
|
-
lineComment: "//",
|
|
4127
|
-
tokenTable: {
|
|
4128
|
-
functionName: /* @__PURE__ */ Tag.define(),
|
|
4129
|
-
parameterValue: /* @__PURE__ */ Tag.define(),
|
|
4130
|
-
addressFunction: /* @__PURE__ */ Tag.define(),
|
|
4131
|
-
errorHandling: /* @__PURE__ */ Tag.define(),
|
|
4132
|
-
contractRelated: /* @__PURE__ */ Tag.define(),
|
|
4133
|
-
version: /* @__PURE__ */ Tag.define(),
|
|
4134
|
-
etherUnit: /* @__PURE__ */ Tag.define(),
|
|
4135
|
-
doc: /* @__PURE__ */ Tag.define(),
|
|
4136
|
-
mathematicalAndCryptographic: /* @__PURE__ */ Tag.define(),
|
|
4137
|
-
abi: /* @__PURE__ */ Tag.define()
|
|
4138
|
-
}
|
|
4139
|
-
}, solidity = /* @__PURE__ */ new LanguageSupport(/* @__PURE__ */ StreamLanguage.define(parser)), langs = {
|
|
4140
|
-
1: () => StreamLanguage.define(troff),
|
|
4141
|
-
2: () => StreamLanguage.define(troff),
|
|
4142
|
-
3: () => StreamLanguage.define(troff),
|
|
4143
|
-
4: () => StreamLanguage.define(troff),
|
|
4144
|
-
"4th": () => StreamLanguage.define(forth),
|
|
4145
|
-
5: () => StreamLanguage.define(troff),
|
|
4146
|
-
6: () => StreamLanguage.define(troff),
|
|
4147
|
-
7: () => StreamLanguage.define(troff),
|
|
4148
|
-
8: () => StreamLanguage.define(troff),
|
|
4149
|
-
9: () => StreamLanguage.define(troff),
|
|
4150
|
-
apl: () => StreamLanguage.define(apl),
|
|
4151
|
-
asc: () => StreamLanguage.define(asciiArmor),
|
|
4152
|
-
asn: () => StreamLanguage.define(asn1({})),
|
|
4153
|
-
asn1: () => StreamLanguage.define(asn1({})),
|
|
4154
|
-
b: () => StreamLanguage.define(brainfuck),
|
|
4155
|
-
bash: () => StreamLanguage.define(shell),
|
|
4156
|
-
bf: () => StreamLanguage.define(brainfuck),
|
|
4157
|
-
BUILD: () => python(),
|
|
4158
|
-
bzl: () => python(),
|
|
4159
|
-
c: () => cpp(),
|
|
4160
|
-
"c++": () => cpp(),
|
|
4161
|
-
cc: () => cpp(),
|
|
4162
|
-
cfg: () => StreamLanguage.define(ttcnCfg),
|
|
4163
|
-
cjs: () => javascript(),
|
|
4164
|
-
cl: () => StreamLanguage.define(commonLisp),
|
|
4165
|
-
clj: () => StreamLanguage.define(clojure),
|
|
4166
|
-
cljc: () => StreamLanguage.define(clojure),
|
|
4167
|
-
cljs: () => StreamLanguage.define(clojure),
|
|
4168
|
-
cljx: () => StreamLanguage.define(clojure),
|
|
4169
|
-
cmake: () => StreamLanguage.define(cmake),
|
|
4170
|
-
"cmake.in": () => StreamLanguage.define(cmake),
|
|
4171
|
-
cob: () => StreamLanguage.define(cobol),
|
|
4172
|
-
coffee: () => StreamLanguage.define(coffeeScript),
|
|
4173
|
-
cpp: () => cpp(),
|
|
4174
|
-
cpy: () => StreamLanguage.define(cobol),
|
|
4175
|
-
cql: () => sql({ dialect: Cassandra }),
|
|
4176
|
-
cr: () => StreamLanguage.define(crystal),
|
|
4177
|
-
cs: () => StreamLanguage.define(csharp),
|
|
4178
|
-
css: () => css(),
|
|
4179
|
-
cts: () => javascript({ typescript: true }),
|
|
4180
|
-
cxx: () => cpp(),
|
|
4181
|
-
cyp: () => StreamLanguage.define(cypher),
|
|
4182
|
-
cypher: () => StreamLanguage.define(cypher),
|
|
4183
|
-
d: () => StreamLanguage.define(d),
|
|
4184
|
-
dart: () => StreamLanguage.define(dart),
|
|
4185
|
-
diff: () => StreamLanguage.define(diff),
|
|
4186
|
-
dtd: () => StreamLanguage.define(dtd),
|
|
4187
|
-
dyalog: () => StreamLanguage.define(apl),
|
|
4188
|
-
dyl: () => StreamLanguage.define(dylan),
|
|
4189
|
-
dylan: () => StreamLanguage.define(dylan),
|
|
4190
|
-
e: () => StreamLanguage.define(eiffel),
|
|
4191
|
-
ecl: () => StreamLanguage.define(ecl),
|
|
4192
|
-
edn: () => StreamLanguage.define(clojure),
|
|
4193
|
-
el: () => StreamLanguage.define(commonLisp),
|
|
4194
|
-
elm: () => StreamLanguage.define(elm),
|
|
4195
|
-
erl: () => StreamLanguage.define(erlang),
|
|
4196
|
-
f: () => StreamLanguage.define(fortran),
|
|
4197
|
-
f77: () => StreamLanguage.define(fortran),
|
|
4198
|
-
f90: () => StreamLanguage.define(fortran),
|
|
4199
|
-
f95: () => StreamLanguage.define(fortran),
|
|
4200
|
-
factor: () => StreamLanguage.define(factor),
|
|
4201
|
-
feature: () => StreamLanguage.define(gherkin),
|
|
4202
|
-
for: () => StreamLanguage.define(fortran),
|
|
4203
|
-
forth: () => StreamLanguage.define(forth),
|
|
4204
|
-
fs: () => StreamLanguage.define(fSharp),
|
|
4205
|
-
fth: () => StreamLanguage.define(forth),
|
|
4206
|
-
fun: () => StreamLanguage.define(sml),
|
|
4207
|
-
go: () => go(),
|
|
4208
|
-
gradle: () => StreamLanguage.define(groovy),
|
|
4209
|
-
groovy: () => StreamLanguage.define(groovy),
|
|
4210
|
-
gss: () => StreamLanguage.define(gss),
|
|
4211
|
-
h: () => cpp(),
|
|
4212
|
-
"h++": () => cpp(),
|
|
4213
|
-
handlebars: () => html(),
|
|
4214
|
-
hbs: () => html(),
|
|
4215
|
-
hh: () => cpp(),
|
|
4216
|
-
hpp: () => cpp(),
|
|
4217
|
-
hs: () => StreamLanguage.define(haskell),
|
|
4218
|
-
htm: () => html(),
|
|
4219
|
-
html: () => html(),
|
|
4220
|
-
hx: () => StreamLanguage.define(haxe),
|
|
4221
|
-
hxml: () => StreamLanguage.define(hxml),
|
|
4222
|
-
hxx: () => cpp(),
|
|
4223
|
-
in: () => StreamLanguage.define(properties),
|
|
4224
|
-
ini: () => StreamLanguage.define(properties),
|
|
4225
|
-
ino: () => cpp(),
|
|
4226
|
-
intr: () => StreamLanguage.define(dylan),
|
|
4227
|
-
j2: () => jinja(),
|
|
4228
|
-
jade: () => StreamLanguage.define(pug),
|
|
4229
|
-
java: () => java(),
|
|
4230
|
-
jinja: () => jinja(),
|
|
4231
|
-
jinja2: () => jinja(),
|
|
4232
|
-
jl: () => StreamLanguage.define(julia),
|
|
4233
|
-
js: () => javascript(),
|
|
4234
|
-
json: () => json(),
|
|
4235
|
-
jsonld: () => StreamLanguage.define(jsonld),
|
|
4236
|
-
jsx: () => javascript({ jsx: true }),
|
|
4237
|
-
ksh: () => StreamLanguage.define(shell),
|
|
4238
|
-
kt: () => StreamLanguage.define(kotlin),
|
|
4239
|
-
kts: () => StreamLanguage.define(kotlin),
|
|
4240
|
-
less: () => less(),
|
|
4241
|
-
liquid: () => liquid(),
|
|
4242
|
-
lisp: () => StreamLanguage.define(commonLisp),
|
|
4243
|
-
ls: () => StreamLanguage.define(liveScript),
|
|
4244
|
-
ltx: () => StreamLanguage.define(stex),
|
|
4245
|
-
lua: () => StreamLanguage.define(lua),
|
|
4246
|
-
m: () => StreamLanguage.define(octave),
|
|
4247
|
-
map: () => json(),
|
|
4248
|
-
markdown: () => markdown(),
|
|
4249
|
-
mbox: () => StreamLanguage.define(mbox),
|
|
4250
|
-
md: () => markdown(),
|
|
4251
|
-
mjs: () => javascript(),
|
|
4252
|
-
mkd: () => markdown(),
|
|
4253
|
-
ml: () => StreamLanguage.define(oCaml),
|
|
4254
|
-
mli: () => StreamLanguage.define(oCaml),
|
|
4255
|
-
mll: () => StreamLanguage.define(oCaml),
|
|
4256
|
-
mly: () => StreamLanguage.define(oCaml),
|
|
4257
|
-
mm: () => StreamLanguage.define(objectiveCpp),
|
|
4258
|
-
mo: () => StreamLanguage.define(modelica),
|
|
4259
|
-
mps: () => StreamLanguage.define(mumps),
|
|
4260
|
-
mrc: () => StreamLanguage.define(mirc),
|
|
4261
|
-
msc: () => StreamLanguage.define(mscgen),
|
|
4262
|
-
mscgen: () => StreamLanguage.define(mscgen),
|
|
4263
|
-
mscin: () => StreamLanguage.define(mscgen),
|
|
4264
|
-
msgenny: () => StreamLanguage.define(msgenny),
|
|
4265
|
-
mts: () => javascript({ typescript: true }),
|
|
4266
|
-
nb: () => StreamLanguage.define(mathematica),
|
|
4267
|
-
nix: () => nix(),
|
|
4268
|
-
nq: () => StreamLanguage.define(ntriples),
|
|
4269
|
-
nsh: () => StreamLanguage.define(nsis),
|
|
4270
|
-
nsi: () => StreamLanguage.define(nsis),
|
|
4271
|
-
nt: () => StreamLanguage.define(ntriples),
|
|
4272
|
-
nut: () => StreamLanguage.define(squirrel),
|
|
4273
|
-
oz: () => StreamLanguage.define(oz),
|
|
4274
|
-
p: () => StreamLanguage.define(pascal),
|
|
4275
|
-
pas: () => StreamLanguage.define(pascal),
|
|
4276
|
-
patch: () => StreamLanguage.define(diff),
|
|
4277
|
-
pgp: () => StreamLanguage.define(asciiArmor),
|
|
4278
|
-
php: () => php(),
|
|
4279
|
-
php3: () => php(),
|
|
4280
|
-
php4: () => php(),
|
|
4281
|
-
php5: () => php(),
|
|
4282
|
-
php7: () => php(),
|
|
4283
|
-
phtml: () => php(),
|
|
4284
|
-
pig: () => StreamLanguage.define(pig),
|
|
4285
|
-
pl: () => StreamLanguage.define(perl),
|
|
4286
|
-
pls: () => sql({ dialect: PLSQL }),
|
|
4287
|
-
pm: () => StreamLanguage.define(perl),
|
|
4288
|
-
pp: () => StreamLanguage.define(puppet),
|
|
4289
|
-
pro: () => StreamLanguage.define(idl),
|
|
4290
|
-
properties: () => StreamLanguage.define(properties),
|
|
4291
|
-
proto: () => StreamLanguage.define(protobuf),
|
|
4292
|
-
ps1: () => StreamLanguage.define(powerShell),
|
|
4293
|
-
psd1: () => StreamLanguage.define(powerShell),
|
|
4294
|
-
psm1: () => StreamLanguage.define(powerShell),
|
|
4295
|
-
pug: () => StreamLanguage.define(pug),
|
|
4296
|
-
pxd: () => StreamLanguage.define(cython),
|
|
4297
|
-
pxi: () => StreamLanguage.define(cython),
|
|
4298
|
-
py: () => python(),
|
|
4299
|
-
pyw: () => python(),
|
|
4300
|
-
pyx: () => StreamLanguage.define(cython),
|
|
4301
|
-
q: () => StreamLanguage.define(q),
|
|
4302
|
-
r: () => StreamLanguage.define(r),
|
|
4303
|
-
R: () => StreamLanguage.define(r),
|
|
4304
|
-
rb: () => StreamLanguage.define(ruby),
|
|
4305
|
-
rq: () => StreamLanguage.define(sparql),
|
|
4306
|
-
rs: () => rust(),
|
|
4307
|
-
s: () => StreamLanguage.define(gas),
|
|
4308
|
-
sas: () => StreamLanguage.define(sas),
|
|
4309
|
-
sass: () => sass({ indented: true }),
|
|
4310
|
-
scala: () => StreamLanguage.define(scala),
|
|
4311
|
-
scm: () => StreamLanguage.define(scheme),
|
|
4312
|
-
scss: () => sass(),
|
|
4313
|
-
sh: () => StreamLanguage.define(shell),
|
|
4314
|
-
sieve: () => StreamLanguage.define(sieve),
|
|
4315
|
-
sig: () => StreamLanguage.define(sml),
|
|
4316
|
-
siv: () => StreamLanguage.define(sieve),
|
|
4317
|
-
smackspec: () => StreamLanguage.define(sml),
|
|
4318
|
-
sml: () => StreamLanguage.define(sml),
|
|
4319
|
-
solidity: () => solidity,
|
|
4320
|
-
sparql: () => StreamLanguage.define(sparql),
|
|
4321
|
-
spec: () => StreamLanguage.define(rpmSpec),
|
|
4322
|
-
sql: () => sql({ dialect: StandardSQL }),
|
|
4323
|
-
ss: () => StreamLanguage.define(scheme),
|
|
4324
|
-
st: () => StreamLanguage.define(smalltalk),
|
|
4325
|
-
styl: () => StreamLanguage.define(stylus),
|
|
4326
|
-
sv: () => StreamLanguage.define(verilog),
|
|
4327
|
-
svelte: () => svelte(),
|
|
4328
|
-
svg: () => xml(),
|
|
4329
|
-
svh: () => StreamLanguage.define(verilog),
|
|
4330
|
-
swift: () => StreamLanguage.define(swift),
|
|
4331
|
-
tcl: () => StreamLanguage.define(tcl),
|
|
4332
|
-
tex: () => StreamLanguage.define(stex),
|
|
4333
|
-
text: () => StreamLanguage.define(stex),
|
|
4334
|
-
textile: () => StreamLanguage.define(textile),
|
|
4335
|
-
toml: () => StreamLanguage.define(toml),
|
|
4336
|
-
ts: () => javascript({ typescript: true }),
|
|
4337
|
-
tsx: () => javascript({
|
|
4338
|
-
jsx: true,
|
|
4339
|
-
typescript: true
|
|
4340
|
-
}),
|
|
4341
|
-
ttcn: () => StreamLanguage.define(ttcn),
|
|
4342
|
-
ttcn3: () => StreamLanguage.define(ttcn),
|
|
4343
|
-
ttcnpp: () => StreamLanguage.define(ttcn),
|
|
4344
|
-
ttl: () => StreamLanguage.define(turtle),
|
|
4345
|
-
v: () => StreamLanguage.define(verilog),
|
|
4346
|
-
vb: () => StreamLanguage.define(vb),
|
|
4347
|
-
vbs: () => StreamLanguage.define(vbScript),
|
|
4348
|
-
vhd: () => StreamLanguage.define(vhdl),
|
|
4349
|
-
vhdl: () => StreamLanguage.define(vhdl),
|
|
4350
|
-
vtl: () => StreamLanguage.define(velocity),
|
|
4351
|
-
vue: () => vue(),
|
|
4352
|
-
wast: () => wast(),
|
|
4353
|
-
wat: () => wast(),
|
|
4354
|
-
webidl: () => StreamLanguage.define(webIDL),
|
|
4355
|
-
wl: () => StreamLanguage.define(mathematica),
|
|
4356
|
-
wls: () => StreamLanguage.define(mathematica),
|
|
4357
|
-
xml: () => xml(),
|
|
4358
|
-
xq: () => StreamLanguage.define(xQuery),
|
|
4359
|
-
xqm: () => StreamLanguage.define(xQuery),
|
|
4360
|
-
xquery: () => StreamLanguage.define(xQuery),
|
|
4361
|
-
xqy: () => StreamLanguage.define(xQuery),
|
|
4362
|
-
xsd: () => xml(),
|
|
4363
|
-
xsl: () => xml(),
|
|
4364
|
-
xu: () => StreamLanguage.define(xu),
|
|
4365
|
-
xy: () => StreamLanguage.define(xQuery),
|
|
4366
|
-
yaml: () => yaml(),
|
|
4367
|
-
yml: () => yaml(),
|
|
4368
|
-
ys: () => StreamLanguage.define(yacas),
|
|
4369
|
-
z80: () => StreamLanguage.define(z80)
|
|
4370
|
-
};
|
|
4371
|
-
function loadLanguage(e6) {
|
|
4372
|
-
return langs[e6] ? langs[e6]() : null;
|
|
4373
|
-
}
|
|
4374
|
-
export {
|
|
4375
|
-
_extends as a,
|
|
4376
|
-
setDiagnostics as c,
|
|
4377
|
-
insertTab as d,
|
|
4378
|
-
CopyClipboardIcon as f,
|
|
4379
|
-
minimalSetup as i,
|
|
4380
|
-
history as l,
|
|
4381
|
-
loadLanguage as n,
|
|
4382
|
-
forEachDiagnostic as o,
|
|
4383
|
-
esm_default as r,
|
|
4384
|
-
linter as s,
|
|
4385
|
-
langs as t,
|
|
4386
|
-
historyField as u
|
|
4387
|
-
};
|