@distri/react 0.3.1 → 0.3.2
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/1c-7AW3GV5D.js +147 -0
- package/dist/abap-RZXDBO34.js +6 -0
- package/dist/abnf-LFXKYPTE.js +6 -0
- package/dist/abnf-Z3TAQEJM.js +81 -0
- package/dist/accesslog-ZOOCBMRV.js +103 -0
- package/dist/actionscript-NMEPFW6V.js +6 -0
- package/dist/actionscript-XW26GMAR.js +93 -0
- package/dist/ada-GQX6RQYW.js +154 -0
- package/dist/ada-KAP2BIRN.js +6 -0
- package/dist/agda-LXVI5IVP.js +6 -0
- package/dist/al-IMSCV32T.js +6 -0
- package/dist/angelscript-AMBXX62E.js +125 -0
- package/dist/antlr4-OVLMRHYB.js +6 -0
- package/dist/apache-XZ5RWPDR.js +85 -0
- package/dist/apacheconf-HKQJ5NJO.js +6 -0
- package/dist/apex-LVR5JPPF.js +7 -0
- package/dist/apl-VU6W4QO6.js +6 -0
- package/dist/applescript-6LG66P27.js +6 -0
- package/dist/applescript-YAWUZCIV.js +147 -0
- package/dist/aql-USJOB6TF.js +6 -0
- package/dist/arcade-TO5IZCKQ.js +155 -0
- package/dist/arduino-AZG4BUSE.js +8 -0
- package/dist/arduino-L3JZ66FT.js +431 -0
- package/dist/arff-APNCEISG.js +6 -0
- package/dist/armasm-NCB2R7NX.js +102 -0
- package/dist/asciidoc-46ADNNWO.js +284 -0
- package/dist/asciidoc-QYD5TVDD.js +6 -0
- package/dist/asm6502-BEBRXA7M.js +6 -0
- package/dist/asmatmel-XQIGLRVK.js +6 -0
- package/dist/aspectj-D4Y76SIE.js +162 -0
- package/dist/aspnet-UHTCQSDH.js +7 -0
- package/dist/autohotkey-IIHBJECF.js +6 -0
- package/dist/autohotkey-ZUFB3UUH.js +85 -0
- package/dist/autoit-D6LIFZPB.js +6 -0
- package/dist/autoit-V5NWCIC4.js +169 -0
- package/dist/avisynth-3VCDFKCZ.js +6 -0
- package/dist/avrasm-PGRJU5JU.js +70 -0
- package/dist/avro-idl-FXSGLMXK.js +6 -0
- package/dist/awk-4WPZLZKG.js +75 -0
- package/dist/axapta-WNNTUV55.js +176 -0
- package/dist/bash-5Y6UH3SS.js +6 -0
- package/dist/bash-RRUQWWXM.js +145 -0
- package/dist/basic-NWKGTJOC.js +6 -0
- package/dist/basic-O4LF5G3R.js +55 -0
- package/dist/batch-XKBL5OHU.js +6 -0
- package/dist/bbcode-QPF5GYGO.js +6 -0
- package/dist/bicep-TOQX26UQ.js +6 -0
- package/dist/birb-36ZVMI7E.js +6 -0
- package/dist/bison-IYKBMW4P.js +7 -0
- package/dist/bnf-LDELCAVY.js +6 -0
- package/dist/bnf-RHY5XNKD.js +41 -0
- package/dist/brainfuck-4DRXHKWI.js +49 -0
- package/dist/brainfuck-J4DKROO7.js +6 -0
- package/dist/brightscript-35QVNLUS.js +6 -0
- package/dist/bro-NUVRYFRO.js +6 -0
- package/dist/bsl-QM7MAAHT.js +6 -0
- package/dist/c-DOKPHOFP.js +254 -0
- package/dist/c-TEKQ4DGS.js +6 -0
- package/dist/c-like-Y5QETBOY.js +431 -0
- package/dist/cal-TDJDGX2M.js +102 -0
- package/dist/capnproto-HGWKNXJA.js +63 -0
- package/dist/ceylon-D3HMJW7U.js +74 -0
- package/dist/cfscript-R7KHTNNX.js +6 -0
- package/dist/chaiscript-GJKTRGUM.js +8 -0
- package/dist/chunk-224YY5NT.js +108 -0
- package/dist/chunk-2327UYDO.js +46 -0
- package/dist/chunk-25POKMV6.js +51 -0
- package/dist/chunk-2AV3EFZE.js +79 -0
- package/dist/chunk-2CLX53E2.js +78 -0
- package/dist/chunk-2DN3IOCQ.js +84 -0
- package/dist/chunk-2ERERLEL.js +38 -0
- package/dist/chunk-2FISFK3J.js +47 -0
- package/dist/chunk-2GZAL6UU.js +29 -0
- package/dist/chunk-2JUB4ICW.js +88 -0
- package/dist/chunk-2OZIJ3G7.js +155 -0
- package/dist/chunk-2Q77FUPY.js +39 -0
- package/dist/chunk-2RJEAAD5.js +132 -0
- package/dist/chunk-2WWHQC2T.js +62 -0
- package/dist/chunk-32BGMHI3.js +75 -0
- package/dist/chunk-33ATF6VZ.js +71 -0
- package/dist/chunk-3B6YHKRZ.js +102 -0
- package/dist/chunk-3G4LB4ZS.js +23 -0
- package/dist/chunk-3LFBVHQS.js +41 -0
- package/dist/chunk-3XLN3CQP.js +46 -0
- package/dist/chunk-3XQSRPIY.js +55 -0
- package/dist/chunk-3ZXR46SV.js +59 -0
- package/dist/chunk-44CFNXPV.js +131 -0
- package/dist/chunk-46UDBQ4N.js +44 -0
- package/dist/chunk-4FQ7CIOW.js +55 -0
- package/dist/chunk-4MGSP4TC.js +97 -0
- package/dist/chunk-4PTEB3IM.js +78 -0
- package/dist/chunk-4QNMEJF3.js +59 -0
- package/dist/chunk-4U2VUXPS.js +90 -0
- package/dist/chunk-4VWP7BGD.js +32 -0
- package/dist/chunk-56HGBXBL.js +77 -0
- package/dist/chunk-5BU6V2BX.js +39 -0
- package/dist/chunk-5C74WHTB.js +39 -0
- package/dist/chunk-5EG2VRYF.js +151 -0
- package/dist/chunk-5FRG2PAT.js +33 -0
- package/dist/chunk-5GDFB4UH.js +58 -0
- package/dist/chunk-5HV4RQQT.js +69 -0
- package/dist/chunk-5KUC6XAA.js +166 -0
- package/dist/chunk-5WQRG6G3.js +70 -0
- package/dist/chunk-5YMAHHDK.js +312 -0
- package/dist/chunk-6A7JQBY6.js +54 -0
- package/dist/chunk-6D5CMJVA.js +34 -0
- package/dist/chunk-6QYKEPEB.js +39 -0
- package/dist/chunk-6SCK5FOO.js +33 -0
- package/dist/chunk-6SVXOPAI.js +62 -0
- package/dist/chunk-6TXPHO25.js +45 -0
- package/dist/chunk-6V5ORWUQ.js +59 -0
- package/dist/chunk-72ZMT6AW.js +74 -0
- package/dist/chunk-74JQLVAI.js +53 -0
- package/dist/chunk-7LE5EHO2.js +103 -0
- package/dist/chunk-7VE4EHQE.js +32 -0
- package/dist/chunk-7WCISJEQ.js +39 -0
- package/dist/chunk-A4QKLBGO.js +42 -0
- package/dist/chunk-AAY72PHZ.js +96 -0
- package/dist/chunk-AG5QUY4G.js +205 -0
- package/dist/chunk-AH6RNPD4.js +74 -0
- package/dist/chunk-AKPQ2QSW.js +51 -0
- package/dist/chunk-AL5F2RG6.js +75 -0
- package/dist/chunk-ANJSFC3S.js +139 -0
- package/dist/chunk-ANN6ENLU.js +95 -0
- package/dist/chunk-AQ2A5SM2.js +147 -0
- package/dist/chunk-AQ3MKUYO.js +43 -0
- package/dist/chunk-AQJYYOAC.js +51 -0
- package/dist/chunk-B2OKL64P.js +37 -0
- package/dist/chunk-B3AXIWKC.js +44 -0
- package/dist/chunk-B46PX26X.js +46 -0
- package/dist/chunk-B473FUV4.js +48 -0
- package/dist/chunk-B4R5D6RX.js +61 -0
- package/dist/chunk-B6FTZZUW.js +141 -0
- package/dist/chunk-BADY4QJT.js +108 -0
- package/dist/chunk-BFWT5TFF.js +289 -0
- package/dist/chunk-BMGDNO7Z.js +47 -0
- package/dist/chunk-BMXVOIML.js +68 -0
- package/dist/chunk-BRBFR6ZG.js +63 -0
- package/dist/chunk-BSMFHVLJ.js +27 -0
- package/dist/chunk-BZICFOAT.js +30 -0
- package/dist/chunk-C2AUXPBE.js +197 -0
- package/dist/chunk-C2OQKTHF.js +68 -0
- package/dist/chunk-C42ZRXEU.js +95 -0
- package/dist/chunk-C5GZKZ5Y.js +62 -0
- package/dist/chunk-C6WP5G3P.js +50 -0
- package/dist/chunk-C74WNJ2N.js +36 -0
- package/dist/chunk-CJ3LCOGO.js +54 -0
- package/dist/chunk-CLMBD4JD.js +62 -0
- package/dist/chunk-CMKP4B37.js +114 -0
- package/dist/chunk-CN4R4LEB.js +139 -0
- package/dist/chunk-CNOSY7CM.js +98 -0
- package/dist/chunk-COEBQGAB.js +52 -0
- package/dist/chunk-CXLY5AKA.js +42 -0
- package/dist/chunk-D376GLYK.js +153 -0
- package/dist/chunk-DARM25ZV.js +240 -0
- package/dist/chunk-DB5PI577.js +38 -0
- package/dist/chunk-DCAPJSFU.js +110 -0
- package/dist/chunk-DCJU76MU.js +47 -0
- package/dist/chunk-DCKHR7CW.js +150 -0
- package/dist/chunk-DHUOF54O.js +168 -0
- package/dist/chunk-DIPKDKOW.js +52 -0
- package/dist/chunk-DKZMCKWJ.js +112 -0
- package/dist/chunk-DM4V5JFL.js +146 -0
- package/dist/chunk-DRPQ5HML.js +87 -0
- package/dist/chunk-DVS47EX7.js +71 -0
- package/dist/chunk-DYKZ7WAD.js +122 -0
- package/dist/chunk-E3MMTLT7.js +93 -0
- package/dist/chunk-E4OGXPQD.js +41 -0
- package/dist/chunk-E4WYTZCV.js +27 -0
- package/dist/chunk-E5VEHLSN.js +117 -0
- package/dist/chunk-ECQZQ46F.js +196 -0
- package/dist/chunk-EJSYBCND.js +60 -0
- package/dist/chunk-EJWUQTF5.js +148 -0
- package/dist/chunk-EL5SRABP.js +79 -0
- package/dist/chunk-EQDG6AMZ.js +88 -0
- package/dist/chunk-EQTNSL53.js +101 -0
- package/dist/chunk-EUKMYSUQ.js +46 -0
- package/dist/chunk-EY2HVCBS.js +76 -0
- package/dist/chunk-EYDLVF7H.js +74 -0
- package/dist/chunk-F3IVXEVB.js +66 -0
- package/dist/chunk-F62JS3FM.js +110 -0
- package/dist/chunk-FGIZ2S6U.js +40 -0
- package/dist/chunk-FGMUBJ4A.js +35 -0
- package/dist/chunk-FPVNS6TI.js +36 -0
- package/dist/chunk-FZXXJOLY.js +89 -0
- package/dist/chunk-GAYPKEUG.js +217 -0
- package/dist/chunk-GBJDIK2H.js +942 -0
- package/dist/chunk-GEYTWOXL.js +71 -0
- package/dist/chunk-GHKONZF7.js +43 -0
- package/dist/chunk-GHZQDGEH.js +74 -0
- package/dist/chunk-GIGNBEK3.js +69 -0
- package/dist/chunk-GJM2DZXG.js +47 -0
- package/dist/chunk-GJXZBETM.js +61 -0
- package/dist/chunk-GZZQH4I7.js +67 -0
- package/dist/chunk-H52A7GGB.js +71 -0
- package/dist/chunk-HBQOI7QH.js +382 -0
- package/dist/chunk-HKGVZYQL.js +48 -0
- package/dist/chunk-HPFVUGXV.js +47 -0
- package/dist/chunk-HSNQ3GJK.js +30 -0
- package/dist/chunk-HWOE366M.js +38 -0
- package/dist/chunk-HWZH5O43.js +43 -0
- package/dist/chunk-HXFULKRD.js +98 -0
- package/dist/chunk-I4T33AAE.js +106 -0
- package/dist/chunk-IGHFZEZN.js +187 -0
- package/dist/chunk-IKJLE5M7.js +366 -0
- package/dist/chunk-IR7VL7RD.js +82 -0
- package/dist/chunk-IRD7U5ZU.js +51 -0
- package/dist/chunk-IYFR4CDA.js +44 -0
- package/dist/chunk-J7AEKJ46.js +144 -0
- package/dist/chunk-JEUPR533.js +150 -0
- package/dist/chunk-JX27E7Z7.js +28 -0
- package/dist/chunk-JZBGRMXH.js +137 -0
- package/dist/chunk-K7N3TO3V.js +57 -0
- package/dist/chunk-KDLA7HDC.js +46 -0
- package/dist/chunk-KEWYGECE.js +82 -0
- package/dist/chunk-KFN445LW.js +67 -0
- package/dist/chunk-KKSPKZZM.js +82 -0
- package/dist/chunk-KOMNWMW6.js +50 -0
- package/dist/chunk-KVLLQAIY.js +132 -0
- package/dist/chunk-LAIV7V4D.js +72 -0
- package/dist/chunk-LB3N6HYU.js +60 -0
- package/dist/chunk-LDSSSJQI.js +38 -0
- package/dist/chunk-LKU2HB7I.js +108 -0
- package/dist/chunk-LONXLQIZ.js +66 -0
- package/dist/chunk-LSGY64ZA.js +59 -0
- package/dist/chunk-M36ANKM4.js +63 -0
- package/dist/chunk-M7IOWAP5.js +89 -0
- package/dist/chunk-M7UI667O.js +4903 -0
- package/dist/chunk-MI6VDBLM.js +93 -0
- package/dist/chunk-MRLBYC4E.js +47 -0
- package/dist/chunk-MU3ZP5L5.js +91 -0
- package/dist/chunk-MUOOCQ2U.js +56 -0
- package/dist/chunk-MVYKGSQQ.js +65 -0
- package/dist/chunk-NC6NC3VB.js +94 -0
- package/dist/chunk-NCAE746Z.js +115 -0
- package/dist/chunk-NF3NJF7X.js +162 -0
- package/dist/chunk-NH3HO3D4.js +101 -0
- package/dist/chunk-NMF5JCGX.js +49 -0
- package/dist/chunk-NMYFSUVO.js +106 -0
- package/dist/chunk-NOBI3JZF.js +49 -0
- package/dist/chunk-NQS5H6QB.js +31 -0
- package/dist/chunk-O7AAH5I3.js +45 -0
- package/dist/chunk-OI7FVI7R.js +42 -0
- package/dist/chunk-OIU6EBEL.js +59 -0
- package/dist/chunk-OKSPRUPW.js +64 -0
- package/dist/chunk-OPCW4BZG.js +39 -0
- package/dist/chunk-OTSTAJ2K.js +77 -0
- package/dist/chunk-P5GU767W.js +28 -0
- package/dist/chunk-P5ISSLEN.js +83 -0
- package/dist/chunk-P6E6SOVE.js +43 -0
- package/dist/chunk-PHXLGKXA.js +117 -0
- package/dist/chunk-PHZLT2J6.js +61 -0
- package/dist/chunk-PNSB4ZAL.js +52 -0
- package/dist/chunk-PSILHWIJ.js +84 -0
- package/dist/chunk-PSSNU4KS.js +121 -0
- package/dist/chunk-PU3XOBI7.js +111 -0
- package/dist/chunk-PVUHXI4V.js +123 -0
- package/dist/chunk-Q2EUB6IK.js +41 -0
- package/dist/chunk-Q6JXYTWV.js +115 -0
- package/dist/chunk-QHKGD7XU.js +199 -0
- package/dist/chunk-QK37NBUF.js +68 -0
- package/dist/chunk-QN4RHWLR.js +239 -0
- package/dist/chunk-QOBICMKH.js +83 -0
- package/dist/chunk-QRKZ53CV.js +40 -0
- package/dist/chunk-QU7D23ZR.js +67 -0
- package/dist/chunk-QW4QWRT5.js +96 -0
- package/dist/chunk-QXUKW3CC.js +48 -0
- package/dist/chunk-R2ZTLRVI.js +70 -0
- package/dist/chunk-R4GP4YGH.js +49 -0
- package/dist/chunk-R7OMI6H4.js +91 -0
- package/dist/chunk-RAQSSUDV.js +158 -0
- package/dist/chunk-RCE7QLLU.js +75 -0
- package/dist/chunk-RDF5QBXB.js +44 -0
- package/dist/chunk-RGS24K3W.js +116 -0
- package/dist/chunk-RKDF6JST.js +30 -0
- package/dist/chunk-RM2ULDSD.js +94 -0
- package/dist/chunk-RNK6SZJU.js +47 -0
- package/dist/chunk-RRRLL4DX.js +82 -0
- package/dist/chunk-RRXZFUCR.js +39 -0
- package/dist/chunk-SIUAQ32X.js +53 -0
- package/dist/chunk-SKD2A5KV.js +54 -0
- package/dist/chunk-SROV7A53.js +61 -0
- package/dist/chunk-SRRJNGRB.js +60 -0
- package/dist/chunk-STJVQCXY.js +38 -0
- package/dist/chunk-SWTN5ODE.js +79 -0
- package/dist/chunk-SYQSK3H2.js +46 -0
- package/dist/chunk-TEZZGNU2.js +49 -0
- package/dist/chunk-TK5GU4JT.js +38 -0
- package/dist/chunk-TQ3TRIZB.js +71 -0
- package/dist/chunk-TR5CHC4X.js +427 -0
- package/dist/chunk-U5SCPMNY.js +82 -0
- package/dist/chunk-UDWMCI4M.js +26 -0
- package/dist/chunk-UFBSSE4W.js +112 -0
- package/dist/chunk-UFJ2C45G.js +119 -0
- package/dist/chunk-UFNY555Q.js +136 -0
- package/dist/chunk-UI2KHTYZ.js +60 -0
- package/dist/chunk-UI7KT2WN.js +82 -0
- package/dist/chunk-UNBZUSFM.js +41 -0
- package/dist/chunk-UNYOTTJS.js +97 -0
- package/dist/chunk-UOGIGWWZ.js +40 -0
- package/dist/chunk-UPDA4XPV.js +65 -0
- package/dist/chunk-UPOA7A7K.js +84 -0
- package/dist/chunk-UR3RVG2E.js +47 -0
- package/dist/chunk-UXDI4352.js +238 -0
- package/dist/chunk-UYAK2IKF.js +94 -0
- package/dist/chunk-V6AWCJO5.js +97 -0
- package/dist/chunk-VDMFDRVD.js +67 -0
- package/dist/chunk-VHW7K2YZ.js +1111 -0
- package/dist/chunk-VIBEIY5K.js +73 -0
- package/dist/chunk-VJYOOKEI.js +37 -0
- package/dist/chunk-VRJ72GMO.js +166 -0
- package/dist/chunk-VUCUUNVX.js +30 -0
- package/dist/chunk-W23BPRNS.js +77 -0
- package/dist/chunk-W344P3PI.js +65 -0
- package/dist/chunk-W5UXHXCI.js +71 -0
- package/dist/chunk-WA6NBVF4.js +39 -0
- package/dist/chunk-WC3TRKEX.js +97 -0
- package/dist/chunk-WEJOCBAM.js +41 -0
- package/dist/chunk-WOTM2ZAV.js +27 -0
- package/dist/chunk-WRUJ627J.js +44 -0
- package/dist/chunk-WVU43QNT.js +39 -0
- package/dist/chunk-WY7CUUDW.js +33 -0
- package/dist/chunk-X2UFYMER.js +76 -0
- package/dist/chunk-XJW3ZV3N.js +64 -0
- package/dist/chunk-XUQ4ZZPG.js +118 -0
- package/dist/chunk-XZW7BF6N.js +41 -0
- package/dist/chunk-Y2TQJEJ7.js +40 -0
- package/dist/chunk-Y4NA3I35.js +49 -0
- package/dist/chunk-YGITEW2P.js +41 -0
- package/dist/chunk-YIOEYE2X.js +156 -0
- package/dist/chunk-YNW4BJ45.js +51 -0
- package/dist/chunk-YO7WLWGB.js +75 -0
- package/dist/chunk-YOXZIFQJ.js +62 -0
- package/dist/chunk-YQ6WULUZ.js +50 -0
- package/dist/chunk-YRUKJYF2.js +29 -0
- package/dist/chunk-YXLPUUQE.js +352 -0
- package/dist/chunk-Z7PWFZG5.js +31 -0
- package/dist/chunk-ZFT3ZS7W.js +51 -0
- package/dist/chunk-ZJPNZEZR.js +103 -0
- package/dist/chunk-ZJRUSLCY.js +35 -0
- package/dist/chunk-ZN7VL73E.js +80 -0
- package/dist/chunk-ZNLDDQAM.js +57 -0
- package/dist/chunk-ZVKNGILG.js +31 -0
- package/dist/chunk-ZXGEIR3V.js +130 -0
- package/dist/cil-O326CWQA.js +6 -0
- package/dist/clean-6OVZ7TGQ.js +37 -0
- package/dist/clike-33YPGZVE.js +6 -0
- package/dist/clojure-K2UAB5BZ.js +128 -0
- package/dist/clojure-QXKOOUQF.js +6 -0
- package/dist/clojure-repl-SBX7UJZC.js +27 -0
- package/dist/cmake-4MFUHBSL.js +6 -0
- package/dist/cmake-JTMWHHYS.js +35 -0
- package/dist/cobol-WJFEYT7Q.js +6 -0
- package/dist/coffeescript-4N4QM7GI.js +349 -0
- package/dist/coffeescript-VZJUGYED.js +6 -0
- package/dist/concurnas-BNKK5KQI.js +6 -0
- package/dist/coq-XCIL3AK2.js +6 -0
- package/dist/coq-XPCF633I.js +36 -0
- package/dist/core-AN43BUAS.js +10 -0
- package/dist/core-OM67CLGB.js +1812 -0
- package/dist/cos-TZY7GUR5.js +99 -0
- package/dist/cpp-GCTEAWAA.js +7 -0
- package/dist/cpp-SAHJ7F7B.js +410 -0
- package/dist/crmsh-N4M5XFKQ.js +98 -0
- package/dist/crystal-4G4I3J74.js +323 -0
- package/dist/crystal-XBTNSQ5K.js +7 -0
- package/dist/csharp-DIBIDG36.js +6 -0
- package/dist/csharp-YSQBTLLS.js +439 -0
- package/dist/cshtml-7B6DGO76.js +7 -0
- package/dist/csp-5Y7ET6AB.js +35 -0
- package/dist/csp-XIZL4EBX.js +6 -0
- package/dist/css-RWDL67C4.js +6 -0
- package/dist/css-XMZ4N74J.js +598 -0
- package/dist/css-extras-CWTWKDVC.js +6 -0
- package/dist/csv-VMGEWQNY.js +6 -0
- package/dist/cypher-XQEB4CZZ.js +6 -0
- package/dist/d-6ACCZLPX.js +122 -0
- package/dist/d-LWBSC7CC.js +6 -0
- package/dist/dart-GOFOUVNC.js +190 -0
- package/dist/dart-MFIM6VAZ.js +6 -0
- package/dist/dataweave-7CVQMOMN.js +6 -0
- package/dist/dax-AAT6BTH4.js +6 -0
- package/dist/delphi-L3QM36MP.js +119 -0
- package/dist/dhall-HZ5MHEIB.js +6 -0
- package/dist/diff-FLIDNR5Z.js +6 -0
- package/dist/diff-OKX6DFC7.js +86 -0
- package/dist/django-RFMPVXTB.js +7 -0
- package/dist/django-RPTOQCW7.js +58 -0
- package/dist/dns-77IP2XFY.js +46 -0
- package/dist/dns-zone-file-2RL5U2PY.js +6 -0
- package/dist/docker-4XHXGDH7.js +6 -0
- package/dist/dockerfile-MIETANCG.js +34 -0
- package/dist/dos-BBAJZVGU.js +62 -0
- package/dist/dot-TR6BGNXO.js +6 -0
- package/dist/dsconfig-KFCMOYPJ.js +67 -0
- package/dist/dts-NUYXJ7FG.js +145 -0
- package/dist/dust-6XDJNOJC.js +45 -0
- package/dist/ebnf-F7FBQHHH.js +52 -0
- package/dist/ebnf-R75FBZIX.js +6 -0
- package/dist/editorconfig-VPA6JQ6B.js +6 -0
- package/dist/eiffel-VXV62L3M.js +6 -0
- package/dist/ejs-WGAN7C6O.js +7 -0
- package/dist/elixir-7HTA4EKT.js +261 -0
- package/dist/elixir-Y5Z7CTDD.js +6 -0
- package/dist/elm-3YBGBCGD.js +6 -0
- package/dist/elm-JDDJBWMC.js +121 -0
- package/dist/erb-BTPSGKBC.js +28 -0
- package/dist/erb-HSTW4R5K.js +8 -0
- package/dist/erlang-CG22ZL7A.js +6 -0
- package/dist/erlang-PUNSB4KR.js +193 -0
- package/dist/erlang-repl-PKI3CJB6.js +71 -0
- package/dist/etlua-BMQWGYG7.js +8 -0
- package/dist/excel-N35KGQKQ.js +70 -0
- package/dist/excel-formula-EA6D7XXV.js +6 -0
- package/dist/factor-QSPSTCRL.js +6 -0
- package/dist/false-HYKKPCZZ.js +6 -0
- package/dist/firestore-security-rules-BX3L2HCR.js +6 -0
- package/dist/fix-MTQQED3W.js +41 -0
- package/dist/flix-ATCRKO3C.js +52 -0
- package/dist/flow-NLGHRL25.js +6 -0
- package/dist/fortran-4BLBSZTY.js +103 -0
- package/dist/fortran-BV3N5E6Z.js +6 -0
- package/dist/fsharp-IO3NGHVH.js +6 -0
- package/dist/fsharp-YAKEQOUL.js +80 -0
- package/dist/ftl-UUJQPJEN.js +7 -0
- package/dist/gams-TKSKQ363.js +178 -0
- package/dist/gap-2YXVXYOT.js +6 -0
- package/dist/gauss-NP233ZOP.js +207 -0
- package/dist/gcode-R2KUXWWM.js +6 -0
- package/dist/gcode-YNACDETH.js +89 -0
- package/dist/gdscript-N7LTKIOX.js +6 -0
- package/dist/gedcom-7ORO7C4C.js +6 -0
- package/dist/gherkin-BEOBZ2TP.js +52 -0
- package/dist/gherkin-L7GTFBNK.js +6 -0
- package/dist/git-63YFQSQE.js +6 -0
- package/dist/globals.css +101 -61
- package/dist/glsl-A472JJRK.js +7 -0
- package/dist/glsl-CC6BRQ4R.js +40 -0
- package/dist/gml-CU3CTZVM.js +6 -0
- package/dist/gml-YN66WFSY.js +33 -0
- package/dist/gn-3P2WYUAT.js +6 -0
- package/dist/go-4O5XDJ22.js +70 -0
- package/dist/go-FBMSLERD.js +6 -0
- package/dist/go-module-XRAEATKG.js +6 -0
- package/dist/golo-Y36VOWUK.js +30 -0
- package/dist/gradle-R2TYEFOT.js +29 -0
- package/dist/graphql-WKLI57K6.js +6 -0
- package/dist/groovy-7JQ74JSK.js +148 -0
- package/dist/groovy-VD3K5JSR.js +6 -0
- package/dist/haml-4SORDJJF.js +118 -0
- package/dist/haml-HUBZW3CC.js +7 -0
- package/dist/handlebars-BKAMNV3T.js +271 -0
- package/dist/handlebars-D6N24VL6.js +7 -0
- package/dist/haskell-HYPGBX2X.js +6 -0
- package/dist/haskell-OXNBLMTA.js +164 -0
- package/dist/haxe-JTSZSCAJ.js +163 -0
- package/dist/haxe-L7I5OYJ2.js +6 -0
- package/dist/hcl-KIS5AZ7Z.js +6 -0
- package/dist/hlsl-2DTDMOY7.js +7 -0
- package/dist/hoon-AL5K7USY.js +6 -0
- package/dist/hpkp-EKQKSNVB.js +6 -0
- package/dist/hsp-UF2OSXNE.js +63 -0
- package/dist/hsts-EJXOSKVQ.js +6 -0
- package/dist/htmlbars-42ZOC2D6.js +279 -0
- package/dist/http-2MRRAID3.js +6 -0
- package/dist/http-OGE25RBR.js +107 -0
- package/dist/hy-YV4X3GBV.js +83 -0
- package/dist/ichigojam-NXT7F7X3.js +6 -0
- package/dist/icon-4ADGUCRV.js +6 -0
- package/dist/icu-message-format-VO54B5YP.js +6 -0
- package/dist/idris-ZF6WGDMZ.js +7 -0
- package/dist/iecst-WNULMFOZ.js +6 -0
- package/dist/ignore-CYPT7YDE.js +6 -0
- package/dist/index.cjs +39379 -647
- package/dist/index.css +696 -61
- package/dist/index.d.cts +46 -8
- package/dist/index.d.ts +46 -8
- package/dist/index.js +12826 -533
- package/dist/inform7-6UXJUDWJ.js +67 -0
- package/dist/inform7-CDLT2WLA.js +6 -0
- package/dist/ini-RKNKROPR.js +6 -0
- package/dist/ini-WRUPK6GQ.js +149 -0
- package/dist/io-3XBLIY2S.js +6 -0
- package/dist/irpf90-OE4SIADT.js +82 -0
- package/dist/isbl-YATA2TPX.js +269 -0
- package/dist/j-UVZBTOG6.js +6 -0
- package/dist/java-GQAOFJIC.js +6 -0
- package/dist/java-VSMB3XJ4.js +178 -0
- package/dist/javadoc-TTVWJC5W.js +8 -0
- package/dist/javadoclike-FHEXEDGQ.js +6 -0
- package/dist/javascript-A6MZHESW.js +553 -0
- package/dist/javascript-THHHQF3V.js +6 -0
- package/dist/javastacktrace-IQU5IHCT.js +6 -0
- package/dist/jboss-cli-IUTBAZJB.js +63 -0
- package/dist/jexl-BAWIHKKY.js +6 -0
- package/dist/jolie-SQNWFOWN.js +6 -0
- package/dist/jq-S5UQHNRW.js +6 -0
- package/dist/js-extras-UUET4H75.js +6 -0
- package/dist/js-templates-FZ6V73KN.js +6 -0
- package/dist/jsdoc-3SC2P7PN.js +8 -0
- package/dist/json-DZFRIBFX.js +6 -0
- package/dist/json-KBL46RVP.js +66 -0
- package/dist/json5-STBRMQ2S.js +7 -0
- package/dist/jsonp-NBRJS6C6.js +7 -0
- package/dist/jsstacktrace-DHXPZYMF.js +6 -0
- package/dist/jsx-EIXN7WI4.js +6 -0
- package/dist/julia-MU3Z5224.js +357 -0
- package/dist/julia-PE6EVLNM.js +6 -0
- package/dist/julia-repl-X5HSI3TX.js +36 -0
- package/dist/keepalived-MY6EM2C3.js +6 -0
- package/dist/keyman-2YYUBN76.js +6 -0
- package/dist/kotlin-O435RUO6.js +6 -0
- package/dist/kotlin-RIIQVJYL.js +265 -0
- package/dist/kumir-BKQHUTJM.js +6 -0
- package/dist/kusto-DIVZNNWG.js +6 -0
- package/dist/lasso-YQAMZ34U.js +171 -0
- package/dist/latex-446N7AKU.js +260 -0
- package/dist/latex-6KGKRLSM.js +6 -0
- package/dist/latte-N6CW2T72.js +8 -0
- package/dist/ldif-BNNBTMGX.js +46 -0
- package/dist/leaf-QLDKGXC6.js +53 -0
- package/dist/less-OPBIOS4A.js +660 -0
- package/dist/less-W6V4JI42.js +6 -0
- package/dist/lilypond-U73SKNUR.js +7 -0
- package/dist/liquid-L7MISQOA.js +7 -0
- package/dist/lisp-PVLILRLH.js +6 -0
- package/dist/lisp-ZDEG6DX5.js +119 -0
- package/dist/livecodeserver-EVEY2S46.js +120 -0
- package/dist/livescript-RUAKOGHV.js +367 -0
- package/dist/livescript-UPW7JUSD.js +6 -0
- package/dist/llvm-DCNWQNJE.js +101 -0
- package/dist/llvm-RLDKQGUW.js +6 -0
- package/dist/log-55HSC75G.js +6 -0
- package/dist/lolcode-7CO4RSH4.js +6 -0
- package/dist/lsl-P6IYFQNG.js +91 -0
- package/dist/lua-4XIOFYMQ.js +6 -0
- package/dist/lua-HPFSUVUF.js +72 -0
- package/dist/magma-EE3VS3IR.js +6 -0
- package/dist/makefile-CZ4YFTLF.js +6 -0
- package/dist/makefile-DRKGNO3P.js +83 -0
- package/dist/markdown-I3T5BTVH.js +240 -0
- package/dist/markdown-J47CEYKA.js +6 -0
- package/dist/markup-DSVFDWPT.js +6 -0
- package/dist/markup-templating-OAVXWHPK.js +6 -0
- package/dist/mathematica-WKLBTKID.js +6752 -0
- package/dist/matlab-4ANV5ZBM.js +6 -0
- package/dist/matlab-PZCF5O6V.js +88 -0
- package/dist/maxima-PV4BAZWK.js +64 -0
- package/dist/maxscript-F2YC3KDG.js +6 -0
- package/dist/mel-KXZPRQRN.js +36 -0
- package/dist/mel-ZJK6R7PH.js +6 -0
- package/dist/mercury-IGJMIEXB.js +100 -0
- package/dist/mermaid-NEAIHK4Y.js +6 -0
- package/dist/mipsasm-7JNUQAL3.js +86 -0
- package/dist/mizar-2HS25BYN.js +6 -0
- package/dist/mizar-UAHPLIEZ.js +21 -0
- package/dist/mojolicious-2NMQM4MR.js +38 -0
- package/dist/mongodb-JX47Y675.js +6 -0
- package/dist/monkey-LCXHDHMY.js +6 -0
- package/dist/monkey-WX2KGGXI.js +85 -0
- package/dist/moonscript-25QFVA2K.js +6 -0
- package/dist/moonscript-2P6DAOMC.js +149 -0
- package/dist/n1ql-IHNBRAEL.js +6 -0
- package/dist/n1ql-UFCN2QNU.js +57 -0
- package/dist/n4js-XSRAWSLD.js +6 -0
- package/dist/nand2tetris-hdl-IEWHBLUX.js +6 -0
- package/dist/naniscript-MQFBBG75.js +6 -0
- package/dist/nasm-PMJA3GKY.js +6 -0
- package/dist/neon-MC4UIRZV.js +6 -0
- package/dist/nevod-ZYWD7ETJ.js +6 -0
- package/dist/nginx-3RDFSJFY.js +139 -0
- package/dist/nginx-3YO7YUT6.js +6 -0
- package/dist/nim-LEQE2KMR.js +6 -0
- package/dist/nim-VLAOU6CD.js +71 -0
- package/dist/nix-APGWMNL4.js +6 -0
- package/dist/nix-CJKVWX44.js +64 -0
- package/dist/node-repl-4IGO4CVF.js +39 -0
- package/dist/nsis-2SCDB5O5.js +111 -0
- package/dist/nsis-5HBAQIG3.js +6 -0
- package/dist/objectivec-RQEAB6D4.js +7 -0
- package/dist/objectivec-UDZTZPRF.js +97 -0
- package/dist/ocaml-4G6MROKG.js +6 -0
- package/dist/ocaml-WX5ZA7P3.js +75 -0
- package/dist/opencl-EA7CVAZL.js +7 -0
- package/dist/openqasm-R4AD4MRN.js +6 -0
- package/dist/openscad-ICGXMPRT.js +83 -0
- package/dist/oxygene-FZVZLZ6D.js +96 -0
- package/dist/oz-XHFVDUFI.js +6 -0
- package/dist/parigp-4G3KV5LH.js +6 -0
- package/dist/parser-WBFWFAFW.js +6 -0
- package/dist/parser3-E32FK5OC.js +59 -0
- package/dist/pascal-NOHW52AH.js +6 -0
- package/dist/pascaligo-TBYFODYY.js +6 -0
- package/dist/pcaxis-RHKLRFM6.js +6 -0
- package/dist/peoplecode-F3C5MGWM.js +6 -0
- package/dist/perl-HIDQF2O5.js +6 -0
- package/dist/perl-KRJNSWHD.js +481 -0
- package/dist/pf-OJGOPUDV.js +45 -0
- package/dist/pgsql-ECX4EOOW.js +389 -0
- package/dist/php-QDLOSGJT.js +193 -0
- package/dist/php-Z6YMJYGB.js +7 -0
- package/dist/php-extras-SCVXP75V.js +8 -0
- package/dist/php-template-7N4LQKYM.js +56 -0
- package/dist/phpdoc-TH65GVFM.js +9 -0
- package/dist/plaintext-RBZUK7TL.js +22 -0
- package/dist/plsql-NNNDEN5K.js +7 -0
- package/dist/pony-CNQ4KQWJ.js +66 -0
- package/dist/powerquery-RKIODW4Z.js +6 -0
- package/dist/powershell-73ONBPQ7.js +281 -0
- package/dist/powershell-QS4RDJ6J.js +6 -0
- package/dist/processing-5THDN4UV.js +6 -0
- package/dist/processing-YU42ML2I.js +30 -0
- package/dist/profile-BT75NUJL.js +47 -0
- package/dist/prolog-J2HZA653.js +91 -0
- package/dist/prolog-LHLMDDSD.js +6 -0
- package/dist/promql-LUBGY7DJ.js +6 -0
- package/dist/properties-46STONTA.js +83 -0
- package/dist/properties-FOYLMPAV.js +6 -0
- package/dist/protobuf-44TWAD4E.js +6 -0
- package/dist/protobuf-EQVG2QVY.js +52 -0
- package/dist/psl-D72D6EWT.js +6 -0
- package/dist/pug-NWKTYVMK.js +6 -0
- package/dist/puppet-6NUQHRHI.js +122 -0
- package/dist/puppet-UFNEDL2A.js +6 -0
- package/dist/pure-EDP3UYTA.js +6 -0
- package/dist/purebasic-2DOKMFL5.js +71 -0
- package/dist/purebasic-4O7N7T7N.js +6 -0
- package/dist/purescript-J4DSA62W.js +7 -0
- package/dist/python-FTT2PIKP.js +6 -0
- package/dist/python-TS2ACJSS.js +413 -0
- package/dist/python-repl-WUB7RWM6.js +39 -0
- package/dist/q-HJSWPPHV.js +34 -0
- package/dist/q-V4Y7U3JC.js +6 -0
- package/dist/qml-EGPAFLB2.js +6 -0
- package/dist/qml-XKBW6PEL.js +178 -0
- package/dist/qore-XDF7LURG.js +6 -0
- package/dist/qsharp-4XMDREFU.js +6 -0
- package/dist/r-47HXZXMW.js +6 -0
- package/dist/r-6ZKCKBBF.js +176 -0
- package/dist/racket-AU7LDZ4M.js +7 -0
- package/dist/reason-PX5TGG3N.js +6 -0
- package/dist/reasonml-CKV7PRLI.js +295 -0
- package/dist/refractor-B5L4TWLD.js +284 -0
- package/dist/regex-LWDNCFFA.js +6 -0
- package/dist/rego-44E2NRNP.js +6 -0
- package/dist/renpy-AAAKUZWA.js +6 -0
- package/dist/rest-SWCMDFFK.js +6 -0
- package/dist/rib-UVTB2JRB.js +25 -0
- package/dist/rip-F2ISAETZ.js +6 -0
- package/dist/roboconf-KEAQLNBI.js +79 -0
- package/dist/roboconf-X7U7WWM2.js +6 -0
- package/dist/robotframework-CXEO2WAA.js +6 -0
- package/dist/routeros-MVGGIODD.js +164 -0
- package/dist/rsl-3H64A324.js +43 -0
- package/dist/ruby-7SMB66HO.js +347 -0
- package/dist/ruby-BGCJ6MY2.js +6 -0
- package/dist/ruleslanguage-L3WECYZ4.js +41 -0
- package/dist/rust-ISDM6BAM.js +124 -0
- package/dist/rust-NYA4RZRC.js +6 -0
- package/dist/sas-KIQXE2LA.js +6 -0
- package/dist/sas-WJ3ECKBR.js +67 -0
- package/dist/sass-MGXNVRLF.js +6 -0
- package/dist/scala-LT7OL3WW.js +7 -0
- package/dist/scala-ONJJQZS6.js +132 -0
- package/dist/scheme-QPIFL46P.js +160 -0
- package/dist/scheme-W3VZM3UG.js +6 -0
- package/dist/scilab-RXHCT6DB.js +70 -0
- package/dist/scss-RVJCWB2P.js +6 -0
- package/dist/scss-V6XQ4K3L.js +552 -0
- package/dist/shell-JXCZ67JB.js +31 -0
- package/dist/shell-session-XQJ6HMB4.js +7 -0
- package/dist/smali-27UFXI4H.js +6 -0
- package/dist/smali-ALHKOSP2.js +138 -0
- package/dist/smalltalk-5ZD3PYLO.js +6 -0
- package/dist/smalltalk-HHGSBNBT.js +67 -0
- package/dist/smarty-ROILVKM2.js +7 -0
- package/dist/sml-GLD7IQ4J.js +82 -0
- package/dist/sml-UDZ3CU3O.js +6 -0
- package/dist/solidity-NIYEP6QM.js +6 -0
- package/dist/solution-file-755HIYVX.js +6 -0
- package/dist/soy-QVG7HTK3.js +7 -0
- package/dist/sparql-MUWNWIXE.js +7 -0
- package/dist/splunk-spl-6PEDD5P7.js +6 -0
- package/dist/sqf-CAGPEGHC.js +87 -0
- package/dist/sqf-GSS4MTYY.js +6 -0
- package/dist/sql-STBZJVII.js +656 -0
- package/dist/sql-ZHH7ZHBG.js +6 -0
- package/dist/sql_more-XDQGUTAS.js +61 -0
- package/dist/squirrel-C2ZULM5W.js +6 -0
- package/dist/stan-6HIYOY52.js +6 -0
- package/dist/stan-G64IQMIT.js +548 -0
- package/dist/stata-LAGCQQKY.js +55 -0
- package/dist/step21-YQKYAUKD.js +69 -0
- package/dist/stylus-LOSRNKOT.js +606 -0
- package/dist/stylus-NTT2SKYA.js +6 -0
- package/dist/subunit-RVTPQSIA.js +55 -0
- package/dist/swift-MVQRVICC.js +800 -0
- package/dist/swift-RME6R4ZI.js +6 -0
- package/dist/systemd-SAOMEJVZ.js +6 -0
- package/dist/t4-cs-IRI3YXSG.js +8 -0
- package/dist/t4-templating-AIOH6H7T.js +6 -0
- package/dist/t4-vb-URZMJE4Z.js +9 -0
- package/dist/taggerscript-TY57TCFT.js +54 -0
- package/dist/tap-IISM5Q2V.js +7 -0
- package/dist/tap-UKY24LA5.js +57 -0
- package/dist/tcl-5USNUPYZ.js +6 -0
- package/dist/tcl-W5ZQ64HI.js +84 -0
- package/dist/textile-UK3YOALH.js +6 -0
- package/dist/thrift-DO4A2JSZ.js +50 -0
- package/dist/toml-PQ3QO4X7.js +6 -0
- package/dist/tp-IWMEEQ7L.js +92 -0
- package/dist/tremor-V6VFOJ47.js +6 -0
- package/dist/tsx-YAYDDMF6.js +8 -0
- package/dist/tt2-LTMMGNTC.js +7 -0
- package/dist/turtle-GYPQXNJP.js +6 -0
- package/dist/twig-4YZ65GMX.js +7 -0
- package/dist/twig-H6M7SANN.js +71 -0
- package/dist/typescript-FE7OYJ6I.js +629 -0
- package/dist/typescript-QD4UC6QE.js +6 -0
- package/dist/typoscript-IW4JWQN7.js +6 -0
- package/dist/unrealscript-WG3NY6GJ.js +6 -0
- package/dist/uorazor-B72PNPB6.js +6 -0
- package/dist/uri-VM2EXH6W.js +6 -0
- package/dist/v-KQVEVXBZ.js +6 -0
- package/dist/vala-3644SCSM.js +52 -0
- package/dist/vala-NMIZYBSO.js +6 -0
- package/dist/vbnet-HGXLY5ZE.js +7 -0
- package/dist/vbnet-JRCGM6IS.js +165 -0
- package/dist/vbscript-2MZXH4GP.js +69 -0
- package/dist/vbscript-html-G4HCFPPG.js +25 -0
- package/dist/velocity-MCYIEAD4.js +6 -0
- package/dist/verilog-EFP6O6PK.js +6 -0
- package/dist/verilog-IFYMJ3DQ.js +73 -0
- package/dist/vhdl-NLIJ277M.js +52 -0
- package/dist/vhdl-SPJEI32C.js +6 -0
- package/dist/vim-YBYNDJ6Z.js +75 -0
- package/dist/vim-ZQLALH2E.js +6 -0
- package/dist/visual-basic-VUJRVC55.js +6 -0
- package/dist/warpscript-BWN4LRLJ.js +6 -0
- package/dist/wasm-GCFQ2LGI.js +6 -0
- package/dist/web-idl-RKYC74WM.js +6 -0
- package/dist/wiki-NK567JRH.js +6 -0
- package/dist/wolfram-44A7RKCB.js +6 -0
- package/dist/wren-N3KE6W4F.js +6 -0
- package/dist/x86asm-7MDJ6XTG.js +107 -0
- package/dist/xeora-O2NIYWDT.js +6 -0
- package/dist/xl-BESMU7F7.js +78 -0
- package/dist/xml-ZV7IWTI2.js +255 -0
- package/dist/xml-doc-PFDICLXC.js +6 -0
- package/dist/xojo-DFN5PWUN.js +6 -0
- package/dist/xquery-JR7NW4V7.js +162 -0
- package/dist/xquery-M3TN6AON.js +6 -0
- package/dist/yaml-6LWL6NO5.js +6 -0
- package/dist/yaml-RON4M36J.js +174 -0
- package/dist/yang-WEUHSW6K.js +6 -0
- package/dist/zephir-G2ZHEZR7.js +119 -0
- package/dist/zig-TQ37PBJX.js +6 -0
- package/package.json +2 -2
|
@@ -0,0 +1,1812 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
__commonJS
|
|
4
|
+
} from "./chunk-Z7PWFZG5.js";
|
|
5
|
+
|
|
6
|
+
// ../../node_modules/.pnpm/highlight.js@10.7.3/node_modules/highlight.js/lib/core.js
|
|
7
|
+
var require_core = __commonJS({
|
|
8
|
+
"../../node_modules/.pnpm/highlight.js@10.7.3/node_modules/highlight.js/lib/core.js"(exports, module) {
|
|
9
|
+
"use strict";
|
|
10
|
+
function deepFreeze(obj) {
|
|
11
|
+
if (obj instanceof Map) {
|
|
12
|
+
obj.clear = obj.delete = obj.set = function() {
|
|
13
|
+
throw new Error("map is read-only");
|
|
14
|
+
};
|
|
15
|
+
} else if (obj instanceof Set) {
|
|
16
|
+
obj.add = obj.clear = obj.delete = function() {
|
|
17
|
+
throw new Error("set is read-only");
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
Object.freeze(obj);
|
|
21
|
+
Object.getOwnPropertyNames(obj).forEach(function(name) {
|
|
22
|
+
var prop = obj[name];
|
|
23
|
+
if (typeof prop == "object" && !Object.isFrozen(prop)) {
|
|
24
|
+
deepFreeze(prop);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return obj;
|
|
28
|
+
}
|
|
29
|
+
var deepFreezeEs6 = deepFreeze;
|
|
30
|
+
var _default = deepFreeze;
|
|
31
|
+
deepFreezeEs6.default = _default;
|
|
32
|
+
var Response = class {
|
|
33
|
+
/**
|
|
34
|
+
* @param {CompiledMode} mode
|
|
35
|
+
*/
|
|
36
|
+
constructor(mode) {
|
|
37
|
+
if (mode.data === void 0) mode.data = {};
|
|
38
|
+
this.data = mode.data;
|
|
39
|
+
this.isMatchIgnored = false;
|
|
40
|
+
}
|
|
41
|
+
ignoreMatch() {
|
|
42
|
+
this.isMatchIgnored = true;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
function escapeHTML(value) {
|
|
46
|
+
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
47
|
+
}
|
|
48
|
+
function inherit(original, ...objects) {
|
|
49
|
+
const result = /* @__PURE__ */ Object.create(null);
|
|
50
|
+
for (const key in original) {
|
|
51
|
+
result[key] = original[key];
|
|
52
|
+
}
|
|
53
|
+
objects.forEach(function(obj) {
|
|
54
|
+
for (const key in obj) {
|
|
55
|
+
result[key] = obj[key];
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return (
|
|
59
|
+
/** @type {T} */
|
|
60
|
+
result
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
var SPAN_CLOSE = "</span>";
|
|
64
|
+
var emitsWrappingTags = (node) => {
|
|
65
|
+
return !!node.kind;
|
|
66
|
+
};
|
|
67
|
+
var HTMLRenderer = class {
|
|
68
|
+
/**
|
|
69
|
+
* Creates a new HTMLRenderer
|
|
70
|
+
*
|
|
71
|
+
* @param {Tree} parseTree - the parse tree (must support `walk` API)
|
|
72
|
+
* @param {{classPrefix: string}} options
|
|
73
|
+
*/
|
|
74
|
+
constructor(parseTree, options) {
|
|
75
|
+
this.buffer = "";
|
|
76
|
+
this.classPrefix = options.classPrefix;
|
|
77
|
+
parseTree.walk(this);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Adds texts to the output stream
|
|
81
|
+
*
|
|
82
|
+
* @param {string} text */
|
|
83
|
+
addText(text) {
|
|
84
|
+
this.buffer += escapeHTML(text);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Adds a node open to the output stream (if needed)
|
|
88
|
+
*
|
|
89
|
+
* @param {Node} node */
|
|
90
|
+
openNode(node) {
|
|
91
|
+
if (!emitsWrappingTags(node)) return;
|
|
92
|
+
let className = node.kind;
|
|
93
|
+
if (!node.sublanguage) {
|
|
94
|
+
className = `${this.classPrefix}${className}`;
|
|
95
|
+
}
|
|
96
|
+
this.span(className);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Adds a node close to the output stream (if needed)
|
|
100
|
+
*
|
|
101
|
+
* @param {Node} node */
|
|
102
|
+
closeNode(node) {
|
|
103
|
+
if (!emitsWrappingTags(node)) return;
|
|
104
|
+
this.buffer += SPAN_CLOSE;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* returns the accumulated buffer
|
|
108
|
+
*/
|
|
109
|
+
value() {
|
|
110
|
+
return this.buffer;
|
|
111
|
+
}
|
|
112
|
+
// helpers
|
|
113
|
+
/**
|
|
114
|
+
* Builds a span element
|
|
115
|
+
*
|
|
116
|
+
* @param {string} className */
|
|
117
|
+
span(className) {
|
|
118
|
+
this.buffer += `<span class="${className}">`;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
var TokenTree = class _TokenTree {
|
|
122
|
+
constructor() {
|
|
123
|
+
this.rootNode = { children: [] };
|
|
124
|
+
this.stack = [this.rootNode];
|
|
125
|
+
}
|
|
126
|
+
get top() {
|
|
127
|
+
return this.stack[this.stack.length - 1];
|
|
128
|
+
}
|
|
129
|
+
get root() {
|
|
130
|
+
return this.rootNode;
|
|
131
|
+
}
|
|
132
|
+
/** @param {Node} node */
|
|
133
|
+
add(node) {
|
|
134
|
+
this.top.children.push(node);
|
|
135
|
+
}
|
|
136
|
+
/** @param {string} kind */
|
|
137
|
+
openNode(kind) {
|
|
138
|
+
const node = { kind, children: [] };
|
|
139
|
+
this.add(node);
|
|
140
|
+
this.stack.push(node);
|
|
141
|
+
}
|
|
142
|
+
closeNode() {
|
|
143
|
+
if (this.stack.length > 1) {
|
|
144
|
+
return this.stack.pop();
|
|
145
|
+
}
|
|
146
|
+
return void 0;
|
|
147
|
+
}
|
|
148
|
+
closeAllNodes() {
|
|
149
|
+
while (this.closeNode()) ;
|
|
150
|
+
}
|
|
151
|
+
toJSON() {
|
|
152
|
+
return JSON.stringify(this.rootNode, null, 4);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @typedef { import("./html_renderer").Renderer } Renderer
|
|
156
|
+
* @param {Renderer} builder
|
|
157
|
+
*/
|
|
158
|
+
walk(builder) {
|
|
159
|
+
return this.constructor._walk(builder, this.rootNode);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* @param {Renderer} builder
|
|
163
|
+
* @param {Node} node
|
|
164
|
+
*/
|
|
165
|
+
static _walk(builder, node) {
|
|
166
|
+
if (typeof node === "string") {
|
|
167
|
+
builder.addText(node);
|
|
168
|
+
} else if (node.children) {
|
|
169
|
+
builder.openNode(node);
|
|
170
|
+
node.children.forEach((child) => this._walk(builder, child));
|
|
171
|
+
builder.closeNode(node);
|
|
172
|
+
}
|
|
173
|
+
return builder;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* @param {Node} node
|
|
177
|
+
*/
|
|
178
|
+
static _collapse(node) {
|
|
179
|
+
if (typeof node === "string") return;
|
|
180
|
+
if (!node.children) return;
|
|
181
|
+
if (node.children.every((el) => typeof el === "string")) {
|
|
182
|
+
node.children = [node.children.join("")];
|
|
183
|
+
} else {
|
|
184
|
+
node.children.forEach((child) => {
|
|
185
|
+
_TokenTree._collapse(child);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
var TokenTreeEmitter = class extends TokenTree {
|
|
191
|
+
/**
|
|
192
|
+
* @param {*} options
|
|
193
|
+
*/
|
|
194
|
+
constructor(options) {
|
|
195
|
+
super();
|
|
196
|
+
this.options = options;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* @param {string} text
|
|
200
|
+
* @param {string} kind
|
|
201
|
+
*/
|
|
202
|
+
addKeyword(text, kind) {
|
|
203
|
+
if (text === "") {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
this.openNode(kind);
|
|
207
|
+
this.addText(text);
|
|
208
|
+
this.closeNode();
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* @param {string} text
|
|
212
|
+
*/
|
|
213
|
+
addText(text) {
|
|
214
|
+
if (text === "") {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
this.add(text);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @param {Emitter & {root: DataNode}} emitter
|
|
221
|
+
* @param {string} name
|
|
222
|
+
*/
|
|
223
|
+
addSublanguage(emitter, name) {
|
|
224
|
+
const node = emitter.root;
|
|
225
|
+
node.kind = name;
|
|
226
|
+
node.sublanguage = true;
|
|
227
|
+
this.add(node);
|
|
228
|
+
}
|
|
229
|
+
toHTML() {
|
|
230
|
+
const renderer = new HTMLRenderer(this, this.options);
|
|
231
|
+
return renderer.value();
|
|
232
|
+
}
|
|
233
|
+
finalize() {
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
function escape(value) {
|
|
238
|
+
return new RegExp(value.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "m");
|
|
239
|
+
}
|
|
240
|
+
function source(re) {
|
|
241
|
+
if (!re) return null;
|
|
242
|
+
if (typeof re === "string") return re;
|
|
243
|
+
return re.source;
|
|
244
|
+
}
|
|
245
|
+
function concat(...args) {
|
|
246
|
+
const joined = args.map((x) => source(x)).join("");
|
|
247
|
+
return joined;
|
|
248
|
+
}
|
|
249
|
+
function either(...args) {
|
|
250
|
+
const joined = "(" + args.map((x) => source(x)).join("|") + ")";
|
|
251
|
+
return joined;
|
|
252
|
+
}
|
|
253
|
+
function countMatchGroups(re) {
|
|
254
|
+
return new RegExp(re.toString() + "|").exec("").length - 1;
|
|
255
|
+
}
|
|
256
|
+
function startsWith(re, lexeme) {
|
|
257
|
+
const match = re && re.exec(lexeme);
|
|
258
|
+
return match && match.index === 0;
|
|
259
|
+
}
|
|
260
|
+
var BACKREF_RE = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
|
|
261
|
+
function join(regexps, separator = "|") {
|
|
262
|
+
let numCaptures = 0;
|
|
263
|
+
return regexps.map((regex) => {
|
|
264
|
+
numCaptures += 1;
|
|
265
|
+
const offset = numCaptures;
|
|
266
|
+
let re = source(regex);
|
|
267
|
+
let out = "";
|
|
268
|
+
while (re.length > 0) {
|
|
269
|
+
const match = BACKREF_RE.exec(re);
|
|
270
|
+
if (!match) {
|
|
271
|
+
out += re;
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
out += re.substring(0, match.index);
|
|
275
|
+
re = re.substring(match.index + match[0].length);
|
|
276
|
+
if (match[0][0] === "\\" && match[1]) {
|
|
277
|
+
out += "\\" + String(Number(match[1]) + offset);
|
|
278
|
+
} else {
|
|
279
|
+
out += match[0];
|
|
280
|
+
if (match[0] === "(") {
|
|
281
|
+
numCaptures++;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return out;
|
|
286
|
+
}).map((re) => `(${re})`).join(separator);
|
|
287
|
+
}
|
|
288
|
+
var MATCH_NOTHING_RE = /\b\B/;
|
|
289
|
+
var IDENT_RE = "[a-zA-Z]\\w*";
|
|
290
|
+
var UNDERSCORE_IDENT_RE = "[a-zA-Z_]\\w*";
|
|
291
|
+
var NUMBER_RE = "\\b\\d+(\\.\\d+)?";
|
|
292
|
+
var C_NUMBER_RE = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";
|
|
293
|
+
var BINARY_NUMBER_RE = "\\b(0b[01]+)";
|
|
294
|
+
var RE_STARTERS_RE = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";
|
|
295
|
+
var SHEBANG = (opts = {}) => {
|
|
296
|
+
const beginShebang = /^#![ ]*\//;
|
|
297
|
+
if (opts.binary) {
|
|
298
|
+
opts.begin = concat(
|
|
299
|
+
beginShebang,
|
|
300
|
+
/.*\b/,
|
|
301
|
+
opts.binary,
|
|
302
|
+
/\b.*/
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
return inherit({
|
|
306
|
+
className: "meta",
|
|
307
|
+
begin: beginShebang,
|
|
308
|
+
end: /$/,
|
|
309
|
+
relevance: 0,
|
|
310
|
+
/** @type {ModeCallback} */
|
|
311
|
+
"on:begin": (m, resp) => {
|
|
312
|
+
if (m.index !== 0) resp.ignoreMatch();
|
|
313
|
+
}
|
|
314
|
+
}, opts);
|
|
315
|
+
};
|
|
316
|
+
var BACKSLASH_ESCAPE = {
|
|
317
|
+
begin: "\\\\[\\s\\S]",
|
|
318
|
+
relevance: 0
|
|
319
|
+
};
|
|
320
|
+
var APOS_STRING_MODE = {
|
|
321
|
+
className: "string",
|
|
322
|
+
begin: "'",
|
|
323
|
+
end: "'",
|
|
324
|
+
illegal: "\\n",
|
|
325
|
+
contains: [BACKSLASH_ESCAPE]
|
|
326
|
+
};
|
|
327
|
+
var QUOTE_STRING_MODE = {
|
|
328
|
+
className: "string",
|
|
329
|
+
begin: '"',
|
|
330
|
+
end: '"',
|
|
331
|
+
illegal: "\\n",
|
|
332
|
+
contains: [BACKSLASH_ESCAPE]
|
|
333
|
+
};
|
|
334
|
+
var PHRASAL_WORDS_MODE = {
|
|
335
|
+
begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
|
|
336
|
+
};
|
|
337
|
+
var COMMENT = function(begin, end, modeOptions = {}) {
|
|
338
|
+
const mode = inherit(
|
|
339
|
+
{
|
|
340
|
+
className: "comment",
|
|
341
|
+
begin,
|
|
342
|
+
end,
|
|
343
|
+
contains: []
|
|
344
|
+
},
|
|
345
|
+
modeOptions
|
|
346
|
+
);
|
|
347
|
+
mode.contains.push(PHRASAL_WORDS_MODE);
|
|
348
|
+
mode.contains.push({
|
|
349
|
+
className: "doctag",
|
|
350
|
+
begin: "(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
|
|
351
|
+
relevance: 0
|
|
352
|
+
});
|
|
353
|
+
return mode;
|
|
354
|
+
};
|
|
355
|
+
var C_LINE_COMMENT_MODE = COMMENT("//", "$");
|
|
356
|
+
var C_BLOCK_COMMENT_MODE = COMMENT("/\\*", "\\*/");
|
|
357
|
+
var HASH_COMMENT_MODE = COMMENT("#", "$");
|
|
358
|
+
var NUMBER_MODE = {
|
|
359
|
+
className: "number",
|
|
360
|
+
begin: NUMBER_RE,
|
|
361
|
+
relevance: 0
|
|
362
|
+
};
|
|
363
|
+
var C_NUMBER_MODE = {
|
|
364
|
+
className: "number",
|
|
365
|
+
begin: C_NUMBER_RE,
|
|
366
|
+
relevance: 0
|
|
367
|
+
};
|
|
368
|
+
var BINARY_NUMBER_MODE = {
|
|
369
|
+
className: "number",
|
|
370
|
+
begin: BINARY_NUMBER_RE,
|
|
371
|
+
relevance: 0
|
|
372
|
+
};
|
|
373
|
+
var CSS_NUMBER_MODE = {
|
|
374
|
+
className: "number",
|
|
375
|
+
begin: NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
|
|
376
|
+
relevance: 0
|
|
377
|
+
};
|
|
378
|
+
var REGEXP_MODE = {
|
|
379
|
+
// this outer rule makes sure we actually have a WHOLE regex and not simply
|
|
380
|
+
// an expression such as:
|
|
381
|
+
//
|
|
382
|
+
// 3 / something
|
|
383
|
+
//
|
|
384
|
+
// (which will then blow up when regex's `illegal` sees the newline)
|
|
385
|
+
begin: /(?=\/[^/\n]*\/)/,
|
|
386
|
+
contains: [{
|
|
387
|
+
className: "regexp",
|
|
388
|
+
begin: /\//,
|
|
389
|
+
end: /\/[gimuy]*/,
|
|
390
|
+
illegal: /\n/,
|
|
391
|
+
contains: [
|
|
392
|
+
BACKSLASH_ESCAPE,
|
|
393
|
+
{
|
|
394
|
+
begin: /\[/,
|
|
395
|
+
end: /\]/,
|
|
396
|
+
relevance: 0,
|
|
397
|
+
contains: [BACKSLASH_ESCAPE]
|
|
398
|
+
}
|
|
399
|
+
]
|
|
400
|
+
}]
|
|
401
|
+
};
|
|
402
|
+
var TITLE_MODE = {
|
|
403
|
+
className: "title",
|
|
404
|
+
begin: IDENT_RE,
|
|
405
|
+
relevance: 0
|
|
406
|
+
};
|
|
407
|
+
var UNDERSCORE_TITLE_MODE = {
|
|
408
|
+
className: "title",
|
|
409
|
+
begin: UNDERSCORE_IDENT_RE,
|
|
410
|
+
relevance: 0
|
|
411
|
+
};
|
|
412
|
+
var METHOD_GUARD = {
|
|
413
|
+
// excludes method names from keyword processing
|
|
414
|
+
begin: "\\.\\s*" + UNDERSCORE_IDENT_RE,
|
|
415
|
+
relevance: 0
|
|
416
|
+
};
|
|
417
|
+
var END_SAME_AS_BEGIN = function(mode) {
|
|
418
|
+
return Object.assign(
|
|
419
|
+
mode,
|
|
420
|
+
{
|
|
421
|
+
/** @type {ModeCallback} */
|
|
422
|
+
"on:begin": (m, resp) => {
|
|
423
|
+
resp.data._beginMatch = m[1];
|
|
424
|
+
},
|
|
425
|
+
/** @type {ModeCallback} */
|
|
426
|
+
"on:end": (m, resp) => {
|
|
427
|
+
if (resp.data._beginMatch !== m[1]) resp.ignoreMatch();
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
);
|
|
431
|
+
};
|
|
432
|
+
var MODES = /* @__PURE__ */ Object.freeze({
|
|
433
|
+
__proto__: null,
|
|
434
|
+
MATCH_NOTHING_RE,
|
|
435
|
+
IDENT_RE,
|
|
436
|
+
UNDERSCORE_IDENT_RE,
|
|
437
|
+
NUMBER_RE,
|
|
438
|
+
C_NUMBER_RE,
|
|
439
|
+
BINARY_NUMBER_RE,
|
|
440
|
+
RE_STARTERS_RE,
|
|
441
|
+
SHEBANG,
|
|
442
|
+
BACKSLASH_ESCAPE,
|
|
443
|
+
APOS_STRING_MODE,
|
|
444
|
+
QUOTE_STRING_MODE,
|
|
445
|
+
PHRASAL_WORDS_MODE,
|
|
446
|
+
COMMENT,
|
|
447
|
+
C_LINE_COMMENT_MODE,
|
|
448
|
+
C_BLOCK_COMMENT_MODE,
|
|
449
|
+
HASH_COMMENT_MODE,
|
|
450
|
+
NUMBER_MODE,
|
|
451
|
+
C_NUMBER_MODE,
|
|
452
|
+
BINARY_NUMBER_MODE,
|
|
453
|
+
CSS_NUMBER_MODE,
|
|
454
|
+
REGEXP_MODE,
|
|
455
|
+
TITLE_MODE,
|
|
456
|
+
UNDERSCORE_TITLE_MODE,
|
|
457
|
+
METHOD_GUARD,
|
|
458
|
+
END_SAME_AS_BEGIN
|
|
459
|
+
});
|
|
460
|
+
function skipIfhasPrecedingDot(match, response) {
|
|
461
|
+
const before = match.input[match.index - 1];
|
|
462
|
+
if (before === ".") {
|
|
463
|
+
response.ignoreMatch();
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
function beginKeywords(mode, parent) {
|
|
467
|
+
if (!parent) return;
|
|
468
|
+
if (!mode.beginKeywords) return;
|
|
469
|
+
mode.begin = "\\b(" + mode.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)";
|
|
470
|
+
mode.__beforeBegin = skipIfhasPrecedingDot;
|
|
471
|
+
mode.keywords = mode.keywords || mode.beginKeywords;
|
|
472
|
+
delete mode.beginKeywords;
|
|
473
|
+
if (mode.relevance === void 0) mode.relevance = 0;
|
|
474
|
+
}
|
|
475
|
+
function compileIllegal(mode, _parent) {
|
|
476
|
+
if (!Array.isArray(mode.illegal)) return;
|
|
477
|
+
mode.illegal = either(...mode.illegal);
|
|
478
|
+
}
|
|
479
|
+
function compileMatch(mode, _parent) {
|
|
480
|
+
if (!mode.match) return;
|
|
481
|
+
if (mode.begin || mode.end) throw new Error("begin & end are not supported with match");
|
|
482
|
+
mode.begin = mode.match;
|
|
483
|
+
delete mode.match;
|
|
484
|
+
}
|
|
485
|
+
function compileRelevance(mode, _parent) {
|
|
486
|
+
if (mode.relevance === void 0) mode.relevance = 1;
|
|
487
|
+
}
|
|
488
|
+
var COMMON_KEYWORDS = [
|
|
489
|
+
"of",
|
|
490
|
+
"and",
|
|
491
|
+
"for",
|
|
492
|
+
"in",
|
|
493
|
+
"not",
|
|
494
|
+
"or",
|
|
495
|
+
"if",
|
|
496
|
+
"then",
|
|
497
|
+
"parent",
|
|
498
|
+
// common variable name
|
|
499
|
+
"list",
|
|
500
|
+
// common variable name
|
|
501
|
+
"value"
|
|
502
|
+
// common variable name
|
|
503
|
+
];
|
|
504
|
+
var DEFAULT_KEYWORD_CLASSNAME = "keyword";
|
|
505
|
+
function compileKeywords(rawKeywords, caseInsensitive, className = DEFAULT_KEYWORD_CLASSNAME) {
|
|
506
|
+
const compiledKeywords = {};
|
|
507
|
+
if (typeof rawKeywords === "string") {
|
|
508
|
+
compileList(className, rawKeywords.split(" "));
|
|
509
|
+
} else if (Array.isArray(rawKeywords)) {
|
|
510
|
+
compileList(className, rawKeywords);
|
|
511
|
+
} else {
|
|
512
|
+
Object.keys(rawKeywords).forEach(function(className2) {
|
|
513
|
+
Object.assign(
|
|
514
|
+
compiledKeywords,
|
|
515
|
+
compileKeywords(rawKeywords[className2], caseInsensitive, className2)
|
|
516
|
+
);
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
return compiledKeywords;
|
|
520
|
+
function compileList(className2, keywordList) {
|
|
521
|
+
if (caseInsensitive) {
|
|
522
|
+
keywordList = keywordList.map((x) => x.toLowerCase());
|
|
523
|
+
}
|
|
524
|
+
keywordList.forEach(function(keyword) {
|
|
525
|
+
const pair = keyword.split("|");
|
|
526
|
+
compiledKeywords[pair[0]] = [className2, scoreForKeyword(pair[0], pair[1])];
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
function scoreForKeyword(keyword, providedScore) {
|
|
531
|
+
if (providedScore) {
|
|
532
|
+
return Number(providedScore);
|
|
533
|
+
}
|
|
534
|
+
return commonKeyword(keyword) ? 0 : 1;
|
|
535
|
+
}
|
|
536
|
+
function commonKeyword(keyword) {
|
|
537
|
+
return COMMON_KEYWORDS.includes(keyword.toLowerCase());
|
|
538
|
+
}
|
|
539
|
+
function compileLanguage(language, { plugins }) {
|
|
540
|
+
function langRe(value, global) {
|
|
541
|
+
return new RegExp(
|
|
542
|
+
source(value),
|
|
543
|
+
"m" + (language.case_insensitive ? "i" : "") + (global ? "g" : "")
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
class MultiRegex {
|
|
547
|
+
constructor() {
|
|
548
|
+
this.matchIndexes = {};
|
|
549
|
+
this.regexes = [];
|
|
550
|
+
this.matchAt = 1;
|
|
551
|
+
this.position = 0;
|
|
552
|
+
}
|
|
553
|
+
// @ts-ignore
|
|
554
|
+
addRule(re, opts) {
|
|
555
|
+
opts.position = this.position++;
|
|
556
|
+
this.matchIndexes[this.matchAt] = opts;
|
|
557
|
+
this.regexes.push([opts, re]);
|
|
558
|
+
this.matchAt += countMatchGroups(re) + 1;
|
|
559
|
+
}
|
|
560
|
+
compile() {
|
|
561
|
+
if (this.regexes.length === 0) {
|
|
562
|
+
this.exec = () => null;
|
|
563
|
+
}
|
|
564
|
+
const terminators = this.regexes.map((el) => el[1]);
|
|
565
|
+
this.matcherRe = langRe(join(terminators), true);
|
|
566
|
+
this.lastIndex = 0;
|
|
567
|
+
}
|
|
568
|
+
/** @param {string} s */
|
|
569
|
+
exec(s) {
|
|
570
|
+
this.matcherRe.lastIndex = this.lastIndex;
|
|
571
|
+
const match = this.matcherRe.exec(s);
|
|
572
|
+
if (!match) {
|
|
573
|
+
return null;
|
|
574
|
+
}
|
|
575
|
+
const i = match.findIndex((el, i2) => i2 > 0 && el !== void 0);
|
|
576
|
+
const matchData = this.matchIndexes[i];
|
|
577
|
+
match.splice(0, i);
|
|
578
|
+
return Object.assign(match, matchData);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
class ResumableMultiRegex {
|
|
582
|
+
constructor() {
|
|
583
|
+
this.rules = [];
|
|
584
|
+
this.multiRegexes = [];
|
|
585
|
+
this.count = 0;
|
|
586
|
+
this.lastIndex = 0;
|
|
587
|
+
this.regexIndex = 0;
|
|
588
|
+
}
|
|
589
|
+
// @ts-ignore
|
|
590
|
+
getMatcher(index) {
|
|
591
|
+
if (this.multiRegexes[index]) return this.multiRegexes[index];
|
|
592
|
+
const matcher = new MultiRegex();
|
|
593
|
+
this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));
|
|
594
|
+
matcher.compile();
|
|
595
|
+
this.multiRegexes[index] = matcher;
|
|
596
|
+
return matcher;
|
|
597
|
+
}
|
|
598
|
+
resumingScanAtSamePosition() {
|
|
599
|
+
return this.regexIndex !== 0;
|
|
600
|
+
}
|
|
601
|
+
considerAll() {
|
|
602
|
+
this.regexIndex = 0;
|
|
603
|
+
}
|
|
604
|
+
// @ts-ignore
|
|
605
|
+
addRule(re, opts) {
|
|
606
|
+
this.rules.push([re, opts]);
|
|
607
|
+
if (opts.type === "begin") this.count++;
|
|
608
|
+
}
|
|
609
|
+
/** @param {string} s */
|
|
610
|
+
exec(s) {
|
|
611
|
+
const m = this.getMatcher(this.regexIndex);
|
|
612
|
+
m.lastIndex = this.lastIndex;
|
|
613
|
+
let result = m.exec(s);
|
|
614
|
+
if (this.resumingScanAtSamePosition()) {
|
|
615
|
+
if (result && result.index === this.lastIndex) ;
|
|
616
|
+
else {
|
|
617
|
+
const m2 = this.getMatcher(0);
|
|
618
|
+
m2.lastIndex = this.lastIndex + 1;
|
|
619
|
+
result = m2.exec(s);
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
if (result) {
|
|
623
|
+
this.regexIndex += result.position + 1;
|
|
624
|
+
if (this.regexIndex === this.count) {
|
|
625
|
+
this.considerAll();
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
return result;
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
function buildModeRegex(mode) {
|
|
632
|
+
const mm = new ResumableMultiRegex();
|
|
633
|
+
mode.contains.forEach((term) => mm.addRule(term.begin, { rule: term, type: "begin" }));
|
|
634
|
+
if (mode.terminatorEnd) {
|
|
635
|
+
mm.addRule(mode.terminatorEnd, { type: "end" });
|
|
636
|
+
}
|
|
637
|
+
if (mode.illegal) {
|
|
638
|
+
mm.addRule(mode.illegal, { type: "illegal" });
|
|
639
|
+
}
|
|
640
|
+
return mm;
|
|
641
|
+
}
|
|
642
|
+
function compileMode(mode, parent) {
|
|
643
|
+
const cmode = (
|
|
644
|
+
/** @type CompiledMode */
|
|
645
|
+
mode
|
|
646
|
+
);
|
|
647
|
+
if (mode.isCompiled) return cmode;
|
|
648
|
+
[
|
|
649
|
+
// do this early so compiler extensions generally don't have to worry about
|
|
650
|
+
// the distinction between match/begin
|
|
651
|
+
compileMatch
|
|
652
|
+
].forEach((ext) => ext(mode, parent));
|
|
653
|
+
language.compilerExtensions.forEach((ext) => ext(mode, parent));
|
|
654
|
+
mode.__beforeBegin = null;
|
|
655
|
+
[
|
|
656
|
+
beginKeywords,
|
|
657
|
+
// do this later so compiler extensions that come earlier have access to the
|
|
658
|
+
// raw array if they wanted to perhaps manipulate it, etc.
|
|
659
|
+
compileIllegal,
|
|
660
|
+
// default to 1 relevance if not specified
|
|
661
|
+
compileRelevance
|
|
662
|
+
].forEach((ext) => ext(mode, parent));
|
|
663
|
+
mode.isCompiled = true;
|
|
664
|
+
let keywordPattern = null;
|
|
665
|
+
if (typeof mode.keywords === "object") {
|
|
666
|
+
keywordPattern = mode.keywords.$pattern;
|
|
667
|
+
delete mode.keywords.$pattern;
|
|
668
|
+
}
|
|
669
|
+
if (mode.keywords) {
|
|
670
|
+
mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);
|
|
671
|
+
}
|
|
672
|
+
if (mode.lexemes && keywordPattern) {
|
|
673
|
+
throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");
|
|
674
|
+
}
|
|
675
|
+
keywordPattern = keywordPattern || mode.lexemes || /\w+/;
|
|
676
|
+
cmode.keywordPatternRe = langRe(keywordPattern, true);
|
|
677
|
+
if (parent) {
|
|
678
|
+
if (!mode.begin) mode.begin = /\B|\b/;
|
|
679
|
+
cmode.beginRe = langRe(mode.begin);
|
|
680
|
+
if (mode.endSameAsBegin) mode.end = mode.begin;
|
|
681
|
+
if (!mode.end && !mode.endsWithParent) mode.end = /\B|\b/;
|
|
682
|
+
if (mode.end) cmode.endRe = langRe(mode.end);
|
|
683
|
+
cmode.terminatorEnd = source(mode.end) || "";
|
|
684
|
+
if (mode.endsWithParent && parent.terminatorEnd) {
|
|
685
|
+
cmode.terminatorEnd += (mode.end ? "|" : "") + parent.terminatorEnd;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
if (mode.illegal) cmode.illegalRe = langRe(
|
|
689
|
+
/** @type {RegExp | string} */
|
|
690
|
+
mode.illegal
|
|
691
|
+
);
|
|
692
|
+
if (!mode.contains) mode.contains = [];
|
|
693
|
+
mode.contains = [].concat(...mode.contains.map(function(c) {
|
|
694
|
+
return expandOrCloneMode(c === "self" ? mode : c);
|
|
695
|
+
}));
|
|
696
|
+
mode.contains.forEach(function(c) {
|
|
697
|
+
compileMode(
|
|
698
|
+
/** @type Mode */
|
|
699
|
+
c,
|
|
700
|
+
cmode
|
|
701
|
+
);
|
|
702
|
+
});
|
|
703
|
+
if (mode.starts) {
|
|
704
|
+
compileMode(mode.starts, parent);
|
|
705
|
+
}
|
|
706
|
+
cmode.matcher = buildModeRegex(cmode);
|
|
707
|
+
return cmode;
|
|
708
|
+
}
|
|
709
|
+
if (!language.compilerExtensions) language.compilerExtensions = [];
|
|
710
|
+
if (language.contains && language.contains.includes("self")) {
|
|
711
|
+
throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");
|
|
712
|
+
}
|
|
713
|
+
language.classNameAliases = inherit(language.classNameAliases || {});
|
|
714
|
+
return compileMode(
|
|
715
|
+
/** @type Mode */
|
|
716
|
+
language
|
|
717
|
+
);
|
|
718
|
+
}
|
|
719
|
+
function dependencyOnParent(mode) {
|
|
720
|
+
if (!mode) return false;
|
|
721
|
+
return mode.endsWithParent || dependencyOnParent(mode.starts);
|
|
722
|
+
}
|
|
723
|
+
function expandOrCloneMode(mode) {
|
|
724
|
+
if (mode.variants && !mode.cachedVariants) {
|
|
725
|
+
mode.cachedVariants = mode.variants.map(function(variant) {
|
|
726
|
+
return inherit(mode, { variants: null }, variant);
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
if (mode.cachedVariants) {
|
|
730
|
+
return mode.cachedVariants;
|
|
731
|
+
}
|
|
732
|
+
if (dependencyOnParent(mode)) {
|
|
733
|
+
return inherit(mode, { starts: mode.starts ? inherit(mode.starts) : null });
|
|
734
|
+
}
|
|
735
|
+
if (Object.isFrozen(mode)) {
|
|
736
|
+
return inherit(mode);
|
|
737
|
+
}
|
|
738
|
+
return mode;
|
|
739
|
+
}
|
|
740
|
+
var version = "10.7.3";
|
|
741
|
+
function hasValueOrEmptyAttribute(value) {
|
|
742
|
+
return Boolean(value || value === "");
|
|
743
|
+
}
|
|
744
|
+
function BuildVuePlugin(hljs) {
|
|
745
|
+
const Component = {
|
|
746
|
+
props: ["language", "code", "autodetect"],
|
|
747
|
+
data: function() {
|
|
748
|
+
return {
|
|
749
|
+
detectedLanguage: "",
|
|
750
|
+
unknownLanguage: false
|
|
751
|
+
};
|
|
752
|
+
},
|
|
753
|
+
computed: {
|
|
754
|
+
className() {
|
|
755
|
+
if (this.unknownLanguage) return "";
|
|
756
|
+
return "hljs " + this.detectedLanguage;
|
|
757
|
+
},
|
|
758
|
+
highlighted() {
|
|
759
|
+
if (!this.autoDetect && !hljs.getLanguage(this.language)) {
|
|
760
|
+
console.warn(`The language "${this.language}" you specified could not be found.`);
|
|
761
|
+
this.unknownLanguage = true;
|
|
762
|
+
return escapeHTML(this.code);
|
|
763
|
+
}
|
|
764
|
+
let result = {};
|
|
765
|
+
if (this.autoDetect) {
|
|
766
|
+
result = hljs.highlightAuto(this.code);
|
|
767
|
+
this.detectedLanguage = result.language;
|
|
768
|
+
} else {
|
|
769
|
+
result = hljs.highlight(this.language, this.code, this.ignoreIllegals);
|
|
770
|
+
this.detectedLanguage = this.language;
|
|
771
|
+
}
|
|
772
|
+
return result.value;
|
|
773
|
+
},
|
|
774
|
+
autoDetect() {
|
|
775
|
+
return !this.language || hasValueOrEmptyAttribute(this.autodetect);
|
|
776
|
+
},
|
|
777
|
+
ignoreIllegals() {
|
|
778
|
+
return true;
|
|
779
|
+
}
|
|
780
|
+
},
|
|
781
|
+
// this avoids needing to use a whole Vue compilation pipeline just
|
|
782
|
+
// to build Highlight.js
|
|
783
|
+
render(createElement) {
|
|
784
|
+
return createElement("pre", {}, [
|
|
785
|
+
createElement("code", {
|
|
786
|
+
class: this.className,
|
|
787
|
+
domProps: { innerHTML: this.highlighted }
|
|
788
|
+
})
|
|
789
|
+
]);
|
|
790
|
+
}
|
|
791
|
+
// template: `<pre><code :class="className" v-html="highlighted"></code></pre>`
|
|
792
|
+
};
|
|
793
|
+
const VuePlugin = {
|
|
794
|
+
install(Vue) {
|
|
795
|
+
Vue.component("highlightjs", Component);
|
|
796
|
+
}
|
|
797
|
+
};
|
|
798
|
+
return { Component, VuePlugin };
|
|
799
|
+
}
|
|
800
|
+
var mergeHTMLPlugin = {
|
|
801
|
+
"after:highlightElement": ({ el, result, text }) => {
|
|
802
|
+
const originalStream = nodeStream(el);
|
|
803
|
+
if (!originalStream.length) return;
|
|
804
|
+
const resultNode = document.createElement("div");
|
|
805
|
+
resultNode.innerHTML = result.value;
|
|
806
|
+
result.value = mergeStreams(originalStream, nodeStream(resultNode), text);
|
|
807
|
+
}
|
|
808
|
+
};
|
|
809
|
+
function tag(node) {
|
|
810
|
+
return node.nodeName.toLowerCase();
|
|
811
|
+
}
|
|
812
|
+
function nodeStream(node) {
|
|
813
|
+
const result = [];
|
|
814
|
+
(function _nodeStream(node2, offset) {
|
|
815
|
+
for (let child = node2.firstChild; child; child = child.nextSibling) {
|
|
816
|
+
if (child.nodeType === 3) {
|
|
817
|
+
offset += child.nodeValue.length;
|
|
818
|
+
} else if (child.nodeType === 1) {
|
|
819
|
+
result.push({
|
|
820
|
+
event: "start",
|
|
821
|
+
offset,
|
|
822
|
+
node: child
|
|
823
|
+
});
|
|
824
|
+
offset = _nodeStream(child, offset);
|
|
825
|
+
if (!tag(child).match(/br|hr|img|input/)) {
|
|
826
|
+
result.push({
|
|
827
|
+
event: "stop",
|
|
828
|
+
offset,
|
|
829
|
+
node: child
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
return offset;
|
|
835
|
+
})(node, 0);
|
|
836
|
+
return result;
|
|
837
|
+
}
|
|
838
|
+
function mergeStreams(original, highlighted, value) {
|
|
839
|
+
let processed = 0;
|
|
840
|
+
let result = "";
|
|
841
|
+
const nodeStack = [];
|
|
842
|
+
function selectStream() {
|
|
843
|
+
if (!original.length || !highlighted.length) {
|
|
844
|
+
return original.length ? original : highlighted;
|
|
845
|
+
}
|
|
846
|
+
if (original[0].offset !== highlighted[0].offset) {
|
|
847
|
+
return original[0].offset < highlighted[0].offset ? original : highlighted;
|
|
848
|
+
}
|
|
849
|
+
return highlighted[0].event === "start" ? original : highlighted;
|
|
850
|
+
}
|
|
851
|
+
function open(node) {
|
|
852
|
+
function attributeString(attr) {
|
|
853
|
+
return " " + attr.nodeName + '="' + escapeHTML(attr.value) + '"';
|
|
854
|
+
}
|
|
855
|
+
result += "<" + tag(node) + [].map.call(node.attributes, attributeString).join("") + ">";
|
|
856
|
+
}
|
|
857
|
+
function close(node) {
|
|
858
|
+
result += "</" + tag(node) + ">";
|
|
859
|
+
}
|
|
860
|
+
function render(event) {
|
|
861
|
+
(event.event === "start" ? open : close)(event.node);
|
|
862
|
+
}
|
|
863
|
+
while (original.length || highlighted.length) {
|
|
864
|
+
let stream = selectStream();
|
|
865
|
+
result += escapeHTML(value.substring(processed, stream[0].offset));
|
|
866
|
+
processed = stream[0].offset;
|
|
867
|
+
if (stream === original) {
|
|
868
|
+
nodeStack.reverse().forEach(close);
|
|
869
|
+
do {
|
|
870
|
+
render(stream.splice(0, 1)[0]);
|
|
871
|
+
stream = selectStream();
|
|
872
|
+
} while (stream === original && stream.length && stream[0].offset === processed);
|
|
873
|
+
nodeStack.reverse().forEach(open);
|
|
874
|
+
} else {
|
|
875
|
+
if (stream[0].event === "start") {
|
|
876
|
+
nodeStack.push(stream[0].node);
|
|
877
|
+
} else {
|
|
878
|
+
nodeStack.pop();
|
|
879
|
+
}
|
|
880
|
+
render(stream.splice(0, 1)[0]);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
return result + escapeHTML(value.substr(processed));
|
|
884
|
+
}
|
|
885
|
+
var seenDeprecations = {};
|
|
886
|
+
var error = (message) => {
|
|
887
|
+
console.error(message);
|
|
888
|
+
};
|
|
889
|
+
var warn = (message, ...args) => {
|
|
890
|
+
console.log(`WARN: ${message}`, ...args);
|
|
891
|
+
};
|
|
892
|
+
var deprecated = (version2, message) => {
|
|
893
|
+
if (seenDeprecations[`${version2}/${message}`]) return;
|
|
894
|
+
console.log(`Deprecated as of ${version2}. ${message}`);
|
|
895
|
+
seenDeprecations[`${version2}/${message}`] = true;
|
|
896
|
+
};
|
|
897
|
+
var escape$1 = escapeHTML;
|
|
898
|
+
var inherit$1 = inherit;
|
|
899
|
+
var NO_MATCH = Symbol("nomatch");
|
|
900
|
+
var HLJS = function(hljs) {
|
|
901
|
+
const languages = /* @__PURE__ */ Object.create(null);
|
|
902
|
+
const aliases = /* @__PURE__ */ Object.create(null);
|
|
903
|
+
const plugins = [];
|
|
904
|
+
let SAFE_MODE = true;
|
|
905
|
+
const fixMarkupRe = /(^(<[^>]+>|\t|)+|\n)/gm;
|
|
906
|
+
const LANGUAGE_NOT_FOUND = "Could not find the language '{}', did you forget to load/include a language module?";
|
|
907
|
+
const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: "Plain text", contains: [] };
|
|
908
|
+
let options = {
|
|
909
|
+
noHighlightRe: /^(no-?highlight)$/i,
|
|
910
|
+
languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i,
|
|
911
|
+
classPrefix: "hljs-",
|
|
912
|
+
tabReplace: null,
|
|
913
|
+
useBR: false,
|
|
914
|
+
languages: null,
|
|
915
|
+
// beta configuration options, subject to change, welcome to discuss
|
|
916
|
+
// https://github.com/highlightjs/highlight.js/issues/1086
|
|
917
|
+
__emitter: TokenTreeEmitter
|
|
918
|
+
};
|
|
919
|
+
function shouldNotHighlight(languageName) {
|
|
920
|
+
return options.noHighlightRe.test(languageName);
|
|
921
|
+
}
|
|
922
|
+
function blockLanguage(block) {
|
|
923
|
+
let classes = block.className + " ";
|
|
924
|
+
classes += block.parentNode ? block.parentNode.className : "";
|
|
925
|
+
const match = options.languageDetectRe.exec(classes);
|
|
926
|
+
if (match) {
|
|
927
|
+
const language = getLanguage(match[1]);
|
|
928
|
+
if (!language) {
|
|
929
|
+
warn(LANGUAGE_NOT_FOUND.replace("{}", match[1]));
|
|
930
|
+
warn("Falling back to no-highlight mode for this block.", block);
|
|
931
|
+
}
|
|
932
|
+
return language ? match[1] : "no-highlight";
|
|
933
|
+
}
|
|
934
|
+
return classes.split(/\s+/).find((_class) => shouldNotHighlight(_class) || getLanguage(_class));
|
|
935
|
+
}
|
|
936
|
+
function highlight2(codeOrlanguageName, optionsOrCode, ignoreIllegals, continuation) {
|
|
937
|
+
let code = "";
|
|
938
|
+
let languageName = "";
|
|
939
|
+
if (typeof optionsOrCode === "object") {
|
|
940
|
+
code = codeOrlanguageName;
|
|
941
|
+
ignoreIllegals = optionsOrCode.ignoreIllegals;
|
|
942
|
+
languageName = optionsOrCode.language;
|
|
943
|
+
continuation = void 0;
|
|
944
|
+
} else {
|
|
945
|
+
deprecated("10.7.0", "highlight(lang, code, ...args) has been deprecated.");
|
|
946
|
+
deprecated("10.7.0", "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277");
|
|
947
|
+
languageName = codeOrlanguageName;
|
|
948
|
+
code = optionsOrCode;
|
|
949
|
+
}
|
|
950
|
+
const context = {
|
|
951
|
+
code,
|
|
952
|
+
language: languageName
|
|
953
|
+
};
|
|
954
|
+
fire("before:highlight", context);
|
|
955
|
+
const result = context.result ? context.result : _highlight(context.language, context.code, ignoreIllegals, continuation);
|
|
956
|
+
result.code = context.code;
|
|
957
|
+
fire("after:highlight", result);
|
|
958
|
+
return result;
|
|
959
|
+
}
|
|
960
|
+
function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {
|
|
961
|
+
function keywordData(mode, match) {
|
|
962
|
+
const matchText = language.case_insensitive ? match[0].toLowerCase() : match[0];
|
|
963
|
+
return Object.prototype.hasOwnProperty.call(mode.keywords, matchText) && mode.keywords[matchText];
|
|
964
|
+
}
|
|
965
|
+
function processKeywords() {
|
|
966
|
+
if (!top.keywords) {
|
|
967
|
+
emitter.addText(modeBuffer);
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
let lastIndex = 0;
|
|
971
|
+
top.keywordPatternRe.lastIndex = 0;
|
|
972
|
+
let match = top.keywordPatternRe.exec(modeBuffer);
|
|
973
|
+
let buf = "";
|
|
974
|
+
while (match) {
|
|
975
|
+
buf += modeBuffer.substring(lastIndex, match.index);
|
|
976
|
+
const data = keywordData(top, match);
|
|
977
|
+
if (data) {
|
|
978
|
+
const [kind, keywordRelevance] = data;
|
|
979
|
+
emitter.addText(buf);
|
|
980
|
+
buf = "";
|
|
981
|
+
relevance += keywordRelevance;
|
|
982
|
+
if (kind.startsWith("_")) {
|
|
983
|
+
buf += match[0];
|
|
984
|
+
} else {
|
|
985
|
+
const cssClass = language.classNameAliases[kind] || kind;
|
|
986
|
+
emitter.addKeyword(match[0], cssClass);
|
|
987
|
+
}
|
|
988
|
+
} else {
|
|
989
|
+
buf += match[0];
|
|
990
|
+
}
|
|
991
|
+
lastIndex = top.keywordPatternRe.lastIndex;
|
|
992
|
+
match = top.keywordPatternRe.exec(modeBuffer);
|
|
993
|
+
}
|
|
994
|
+
buf += modeBuffer.substr(lastIndex);
|
|
995
|
+
emitter.addText(buf);
|
|
996
|
+
}
|
|
997
|
+
function processSubLanguage() {
|
|
998
|
+
if (modeBuffer === "") return;
|
|
999
|
+
let result2 = null;
|
|
1000
|
+
if (typeof top.subLanguage === "string") {
|
|
1001
|
+
if (!languages[top.subLanguage]) {
|
|
1002
|
+
emitter.addText(modeBuffer);
|
|
1003
|
+
return;
|
|
1004
|
+
}
|
|
1005
|
+
result2 = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);
|
|
1006
|
+
continuations[top.subLanguage] = /** @type {CompiledMode} */
|
|
1007
|
+
result2.top;
|
|
1008
|
+
} else {
|
|
1009
|
+
result2 = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);
|
|
1010
|
+
}
|
|
1011
|
+
if (top.relevance > 0) {
|
|
1012
|
+
relevance += result2.relevance;
|
|
1013
|
+
}
|
|
1014
|
+
emitter.addSublanguage(result2.emitter, result2.language);
|
|
1015
|
+
}
|
|
1016
|
+
function processBuffer() {
|
|
1017
|
+
if (top.subLanguage != null) {
|
|
1018
|
+
processSubLanguage();
|
|
1019
|
+
} else {
|
|
1020
|
+
processKeywords();
|
|
1021
|
+
}
|
|
1022
|
+
modeBuffer = "";
|
|
1023
|
+
}
|
|
1024
|
+
function startNewMode(mode) {
|
|
1025
|
+
if (mode.className) {
|
|
1026
|
+
emitter.openNode(language.classNameAliases[mode.className] || mode.className);
|
|
1027
|
+
}
|
|
1028
|
+
top = Object.create(mode, { parent: { value: top } });
|
|
1029
|
+
return top;
|
|
1030
|
+
}
|
|
1031
|
+
function endOfMode(mode, match, matchPlusRemainder) {
|
|
1032
|
+
let matched = startsWith(mode.endRe, matchPlusRemainder);
|
|
1033
|
+
if (matched) {
|
|
1034
|
+
if (mode["on:end"]) {
|
|
1035
|
+
const resp = new Response(mode);
|
|
1036
|
+
mode["on:end"](match, resp);
|
|
1037
|
+
if (resp.isMatchIgnored) matched = false;
|
|
1038
|
+
}
|
|
1039
|
+
if (matched) {
|
|
1040
|
+
while (mode.endsParent && mode.parent) {
|
|
1041
|
+
mode = mode.parent;
|
|
1042
|
+
}
|
|
1043
|
+
return mode;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
if (mode.endsWithParent) {
|
|
1047
|
+
return endOfMode(mode.parent, match, matchPlusRemainder);
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
function doIgnore(lexeme) {
|
|
1051
|
+
if (top.matcher.regexIndex === 0) {
|
|
1052
|
+
modeBuffer += lexeme[0];
|
|
1053
|
+
return 1;
|
|
1054
|
+
} else {
|
|
1055
|
+
resumeScanAtSamePosition = true;
|
|
1056
|
+
return 0;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
function doBeginMatch(match) {
|
|
1060
|
+
const lexeme = match[0];
|
|
1061
|
+
const newMode = match.rule;
|
|
1062
|
+
const resp = new Response(newMode);
|
|
1063
|
+
const beforeCallbacks = [newMode.__beforeBegin, newMode["on:begin"]];
|
|
1064
|
+
for (const cb of beforeCallbacks) {
|
|
1065
|
+
if (!cb) continue;
|
|
1066
|
+
cb(match, resp);
|
|
1067
|
+
if (resp.isMatchIgnored) return doIgnore(lexeme);
|
|
1068
|
+
}
|
|
1069
|
+
if (newMode && newMode.endSameAsBegin) {
|
|
1070
|
+
newMode.endRe = escape(lexeme);
|
|
1071
|
+
}
|
|
1072
|
+
if (newMode.skip) {
|
|
1073
|
+
modeBuffer += lexeme;
|
|
1074
|
+
} else {
|
|
1075
|
+
if (newMode.excludeBegin) {
|
|
1076
|
+
modeBuffer += lexeme;
|
|
1077
|
+
}
|
|
1078
|
+
processBuffer();
|
|
1079
|
+
if (!newMode.returnBegin && !newMode.excludeBegin) {
|
|
1080
|
+
modeBuffer = lexeme;
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
startNewMode(newMode);
|
|
1084
|
+
return newMode.returnBegin ? 0 : lexeme.length;
|
|
1085
|
+
}
|
|
1086
|
+
function doEndMatch(match) {
|
|
1087
|
+
const lexeme = match[0];
|
|
1088
|
+
const matchPlusRemainder = codeToHighlight.substr(match.index);
|
|
1089
|
+
const endMode = endOfMode(top, match, matchPlusRemainder);
|
|
1090
|
+
if (!endMode) {
|
|
1091
|
+
return NO_MATCH;
|
|
1092
|
+
}
|
|
1093
|
+
const origin = top;
|
|
1094
|
+
if (origin.skip) {
|
|
1095
|
+
modeBuffer += lexeme;
|
|
1096
|
+
} else {
|
|
1097
|
+
if (!(origin.returnEnd || origin.excludeEnd)) {
|
|
1098
|
+
modeBuffer += lexeme;
|
|
1099
|
+
}
|
|
1100
|
+
processBuffer();
|
|
1101
|
+
if (origin.excludeEnd) {
|
|
1102
|
+
modeBuffer = lexeme;
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
do {
|
|
1106
|
+
if (top.className) {
|
|
1107
|
+
emitter.closeNode();
|
|
1108
|
+
}
|
|
1109
|
+
if (!top.skip && !top.subLanguage) {
|
|
1110
|
+
relevance += top.relevance;
|
|
1111
|
+
}
|
|
1112
|
+
top = top.parent;
|
|
1113
|
+
} while (top !== endMode.parent);
|
|
1114
|
+
if (endMode.starts) {
|
|
1115
|
+
if (endMode.endSameAsBegin) {
|
|
1116
|
+
endMode.starts.endRe = endMode.endRe;
|
|
1117
|
+
}
|
|
1118
|
+
startNewMode(endMode.starts);
|
|
1119
|
+
}
|
|
1120
|
+
return origin.returnEnd ? 0 : lexeme.length;
|
|
1121
|
+
}
|
|
1122
|
+
function processContinuations() {
|
|
1123
|
+
const list = [];
|
|
1124
|
+
for (let current = top; current !== language; current = current.parent) {
|
|
1125
|
+
if (current.className) {
|
|
1126
|
+
list.unshift(current.className);
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
list.forEach((item) => emitter.openNode(item));
|
|
1130
|
+
}
|
|
1131
|
+
let lastMatch = {};
|
|
1132
|
+
function processLexeme(textBeforeMatch, match) {
|
|
1133
|
+
const lexeme = match && match[0];
|
|
1134
|
+
modeBuffer += textBeforeMatch;
|
|
1135
|
+
if (lexeme == null) {
|
|
1136
|
+
processBuffer();
|
|
1137
|
+
return 0;
|
|
1138
|
+
}
|
|
1139
|
+
if (lastMatch.type === "begin" && match.type === "end" && lastMatch.index === match.index && lexeme === "") {
|
|
1140
|
+
modeBuffer += codeToHighlight.slice(match.index, match.index + 1);
|
|
1141
|
+
if (!SAFE_MODE) {
|
|
1142
|
+
const err = new Error("0 width match regex");
|
|
1143
|
+
err.languageName = languageName;
|
|
1144
|
+
err.badRule = lastMatch.rule;
|
|
1145
|
+
throw err;
|
|
1146
|
+
}
|
|
1147
|
+
return 1;
|
|
1148
|
+
}
|
|
1149
|
+
lastMatch = match;
|
|
1150
|
+
if (match.type === "begin") {
|
|
1151
|
+
return doBeginMatch(match);
|
|
1152
|
+
} else if (match.type === "illegal" && !ignoreIllegals) {
|
|
1153
|
+
const err = new Error('Illegal lexeme "' + lexeme + '" for mode "' + (top.className || "<unnamed>") + '"');
|
|
1154
|
+
err.mode = top;
|
|
1155
|
+
throw err;
|
|
1156
|
+
} else if (match.type === "end") {
|
|
1157
|
+
const processed = doEndMatch(match);
|
|
1158
|
+
if (processed !== NO_MATCH) {
|
|
1159
|
+
return processed;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
if (match.type === "illegal" && lexeme === "") {
|
|
1163
|
+
return 1;
|
|
1164
|
+
}
|
|
1165
|
+
if (iterations > 1e5 && iterations > match.index * 3) {
|
|
1166
|
+
const err = new Error("potential infinite loop, way more iterations than matches");
|
|
1167
|
+
throw err;
|
|
1168
|
+
}
|
|
1169
|
+
modeBuffer += lexeme;
|
|
1170
|
+
return lexeme.length;
|
|
1171
|
+
}
|
|
1172
|
+
const language = getLanguage(languageName);
|
|
1173
|
+
if (!language) {
|
|
1174
|
+
error(LANGUAGE_NOT_FOUND.replace("{}", languageName));
|
|
1175
|
+
throw new Error('Unknown language: "' + languageName + '"');
|
|
1176
|
+
}
|
|
1177
|
+
const md = compileLanguage(language, { plugins });
|
|
1178
|
+
let result = "";
|
|
1179
|
+
let top = continuation || md;
|
|
1180
|
+
const continuations = {};
|
|
1181
|
+
const emitter = new options.__emitter(options);
|
|
1182
|
+
processContinuations();
|
|
1183
|
+
let modeBuffer = "";
|
|
1184
|
+
let relevance = 0;
|
|
1185
|
+
let index = 0;
|
|
1186
|
+
let iterations = 0;
|
|
1187
|
+
let resumeScanAtSamePosition = false;
|
|
1188
|
+
try {
|
|
1189
|
+
top.matcher.considerAll();
|
|
1190
|
+
for (; ; ) {
|
|
1191
|
+
iterations++;
|
|
1192
|
+
if (resumeScanAtSamePosition) {
|
|
1193
|
+
resumeScanAtSamePosition = false;
|
|
1194
|
+
} else {
|
|
1195
|
+
top.matcher.considerAll();
|
|
1196
|
+
}
|
|
1197
|
+
top.matcher.lastIndex = index;
|
|
1198
|
+
const match = top.matcher.exec(codeToHighlight);
|
|
1199
|
+
if (!match) break;
|
|
1200
|
+
const beforeMatch = codeToHighlight.substring(index, match.index);
|
|
1201
|
+
const processedCount = processLexeme(beforeMatch, match);
|
|
1202
|
+
index = match.index + processedCount;
|
|
1203
|
+
}
|
|
1204
|
+
processLexeme(codeToHighlight.substr(index));
|
|
1205
|
+
emitter.closeAllNodes();
|
|
1206
|
+
emitter.finalize();
|
|
1207
|
+
result = emitter.toHTML();
|
|
1208
|
+
return {
|
|
1209
|
+
// avoid possible breakage with v10 clients expecting
|
|
1210
|
+
// this to always be an integer
|
|
1211
|
+
relevance: Math.floor(relevance),
|
|
1212
|
+
value: result,
|
|
1213
|
+
language: languageName,
|
|
1214
|
+
illegal: false,
|
|
1215
|
+
emitter,
|
|
1216
|
+
top
|
|
1217
|
+
};
|
|
1218
|
+
} catch (err) {
|
|
1219
|
+
if (err.message && err.message.includes("Illegal")) {
|
|
1220
|
+
return {
|
|
1221
|
+
illegal: true,
|
|
1222
|
+
illegalBy: {
|
|
1223
|
+
msg: err.message,
|
|
1224
|
+
context: codeToHighlight.slice(index - 100, index + 100),
|
|
1225
|
+
mode: err.mode
|
|
1226
|
+
},
|
|
1227
|
+
sofar: result,
|
|
1228
|
+
relevance: 0,
|
|
1229
|
+
value: escape$1(codeToHighlight),
|
|
1230
|
+
emitter
|
|
1231
|
+
};
|
|
1232
|
+
} else if (SAFE_MODE) {
|
|
1233
|
+
return {
|
|
1234
|
+
illegal: false,
|
|
1235
|
+
relevance: 0,
|
|
1236
|
+
value: escape$1(codeToHighlight),
|
|
1237
|
+
emitter,
|
|
1238
|
+
language: languageName,
|
|
1239
|
+
top,
|
|
1240
|
+
errorRaised: err
|
|
1241
|
+
};
|
|
1242
|
+
} else {
|
|
1243
|
+
throw err;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
}
|
|
1247
|
+
function justTextHighlightResult(code) {
|
|
1248
|
+
const result = {
|
|
1249
|
+
relevance: 0,
|
|
1250
|
+
emitter: new options.__emitter(options),
|
|
1251
|
+
value: escape$1(code),
|
|
1252
|
+
illegal: false,
|
|
1253
|
+
top: PLAINTEXT_LANGUAGE
|
|
1254
|
+
};
|
|
1255
|
+
result.emitter.addText(code);
|
|
1256
|
+
return result;
|
|
1257
|
+
}
|
|
1258
|
+
function highlightAuto(code, languageSubset) {
|
|
1259
|
+
languageSubset = languageSubset || options.languages || Object.keys(languages);
|
|
1260
|
+
const plaintext = justTextHighlightResult(code);
|
|
1261
|
+
const results = languageSubset.filter(getLanguage).filter(autoDetection).map(
|
|
1262
|
+
(name) => _highlight(name, code, false)
|
|
1263
|
+
);
|
|
1264
|
+
results.unshift(plaintext);
|
|
1265
|
+
const sorted = results.sort((a, b) => {
|
|
1266
|
+
if (a.relevance !== b.relevance) return b.relevance - a.relevance;
|
|
1267
|
+
if (a.language && b.language) {
|
|
1268
|
+
if (getLanguage(a.language).supersetOf === b.language) {
|
|
1269
|
+
return 1;
|
|
1270
|
+
} else if (getLanguage(b.language).supersetOf === a.language) {
|
|
1271
|
+
return -1;
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
return 0;
|
|
1275
|
+
});
|
|
1276
|
+
const [best, secondBest] = sorted;
|
|
1277
|
+
const result = best;
|
|
1278
|
+
result.second_best = secondBest;
|
|
1279
|
+
return result;
|
|
1280
|
+
}
|
|
1281
|
+
function fixMarkup(html) {
|
|
1282
|
+
if (!(options.tabReplace || options.useBR)) {
|
|
1283
|
+
return html;
|
|
1284
|
+
}
|
|
1285
|
+
return html.replace(fixMarkupRe, (match) => {
|
|
1286
|
+
if (match === "\n") {
|
|
1287
|
+
return options.useBR ? "<br>" : match;
|
|
1288
|
+
} else if (options.tabReplace) {
|
|
1289
|
+
return match.replace(/\t/g, options.tabReplace);
|
|
1290
|
+
}
|
|
1291
|
+
return match;
|
|
1292
|
+
});
|
|
1293
|
+
}
|
|
1294
|
+
function updateClassName(element, currentLang, resultLang) {
|
|
1295
|
+
const language = currentLang ? aliases[currentLang] : resultLang;
|
|
1296
|
+
element.classList.add("hljs");
|
|
1297
|
+
if (language) element.classList.add(language);
|
|
1298
|
+
}
|
|
1299
|
+
const brPlugin = {
|
|
1300
|
+
"before:highlightElement": ({ el }) => {
|
|
1301
|
+
if (options.useBR) {
|
|
1302
|
+
el.innerHTML = el.innerHTML.replace(/\n/g, "").replace(/<br[ /]*>/g, "\n");
|
|
1303
|
+
}
|
|
1304
|
+
},
|
|
1305
|
+
"after:highlightElement": ({ result }) => {
|
|
1306
|
+
if (options.useBR) {
|
|
1307
|
+
result.value = result.value.replace(/\n/g, "<br>");
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
};
|
|
1311
|
+
const TAB_REPLACE_RE = /^(<[^>]+>|\t)+/gm;
|
|
1312
|
+
const tabReplacePlugin = {
|
|
1313
|
+
"after:highlightElement": ({ result }) => {
|
|
1314
|
+
if (options.tabReplace) {
|
|
1315
|
+
result.value = result.value.replace(
|
|
1316
|
+
TAB_REPLACE_RE,
|
|
1317
|
+
(m) => m.replace(/\t/g, options.tabReplace)
|
|
1318
|
+
);
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
};
|
|
1322
|
+
function highlightElement(element) {
|
|
1323
|
+
let node = null;
|
|
1324
|
+
const language = blockLanguage(element);
|
|
1325
|
+
if (shouldNotHighlight(language)) return;
|
|
1326
|
+
fire(
|
|
1327
|
+
"before:highlightElement",
|
|
1328
|
+
{ el: element, language }
|
|
1329
|
+
);
|
|
1330
|
+
node = element;
|
|
1331
|
+
const text = node.textContent;
|
|
1332
|
+
const result = language ? highlight2(text, { language, ignoreIllegals: true }) : highlightAuto(text);
|
|
1333
|
+
fire("after:highlightElement", { el: element, result, text });
|
|
1334
|
+
element.innerHTML = result.value;
|
|
1335
|
+
updateClassName(element, language, result.language);
|
|
1336
|
+
element.result = {
|
|
1337
|
+
language: result.language,
|
|
1338
|
+
// TODO: remove with version 11.0
|
|
1339
|
+
re: result.relevance,
|
|
1340
|
+
relavance: result.relevance
|
|
1341
|
+
};
|
|
1342
|
+
if (result.second_best) {
|
|
1343
|
+
element.second_best = {
|
|
1344
|
+
language: result.second_best.language,
|
|
1345
|
+
// TODO: remove with version 11.0
|
|
1346
|
+
re: result.second_best.relevance,
|
|
1347
|
+
relavance: result.second_best.relevance
|
|
1348
|
+
};
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
function configure(userOptions) {
|
|
1352
|
+
if (userOptions.useBR) {
|
|
1353
|
+
deprecated("10.3.0", "'useBR' will be removed entirely in v11.0");
|
|
1354
|
+
deprecated("10.3.0", "Please see https://github.com/highlightjs/highlight.js/issues/2559");
|
|
1355
|
+
}
|
|
1356
|
+
options = inherit$1(options, userOptions);
|
|
1357
|
+
}
|
|
1358
|
+
const initHighlighting = () => {
|
|
1359
|
+
if (initHighlighting.called) return;
|
|
1360
|
+
initHighlighting.called = true;
|
|
1361
|
+
deprecated("10.6.0", "initHighlighting() is deprecated. Use highlightAll() instead.");
|
|
1362
|
+
const blocks = document.querySelectorAll("pre code");
|
|
1363
|
+
blocks.forEach(highlightElement);
|
|
1364
|
+
};
|
|
1365
|
+
function initHighlightingOnLoad() {
|
|
1366
|
+
deprecated("10.6.0", "initHighlightingOnLoad() is deprecated. Use highlightAll() instead.");
|
|
1367
|
+
wantsHighlight = true;
|
|
1368
|
+
}
|
|
1369
|
+
let wantsHighlight = false;
|
|
1370
|
+
function highlightAll() {
|
|
1371
|
+
if (document.readyState === "loading") {
|
|
1372
|
+
wantsHighlight = true;
|
|
1373
|
+
return;
|
|
1374
|
+
}
|
|
1375
|
+
const blocks = document.querySelectorAll("pre code");
|
|
1376
|
+
blocks.forEach(highlightElement);
|
|
1377
|
+
}
|
|
1378
|
+
function boot() {
|
|
1379
|
+
if (wantsHighlight) highlightAll();
|
|
1380
|
+
}
|
|
1381
|
+
if (typeof window !== "undefined" && window.addEventListener) {
|
|
1382
|
+
window.addEventListener("DOMContentLoaded", boot, false);
|
|
1383
|
+
}
|
|
1384
|
+
function registerLanguage(languageName, languageDefinition) {
|
|
1385
|
+
let lang = null;
|
|
1386
|
+
try {
|
|
1387
|
+
lang = languageDefinition(hljs);
|
|
1388
|
+
} catch (error$1) {
|
|
1389
|
+
error("Language definition for '{}' could not be registered.".replace("{}", languageName));
|
|
1390
|
+
if (!SAFE_MODE) {
|
|
1391
|
+
throw error$1;
|
|
1392
|
+
} else {
|
|
1393
|
+
error(error$1);
|
|
1394
|
+
}
|
|
1395
|
+
lang = PLAINTEXT_LANGUAGE;
|
|
1396
|
+
}
|
|
1397
|
+
if (!lang.name) lang.name = languageName;
|
|
1398
|
+
languages[languageName] = lang;
|
|
1399
|
+
lang.rawDefinition = languageDefinition.bind(null, hljs);
|
|
1400
|
+
if (lang.aliases) {
|
|
1401
|
+
registerAliases(lang.aliases, { languageName });
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
function unregisterLanguage(languageName) {
|
|
1405
|
+
delete languages[languageName];
|
|
1406
|
+
for (const alias of Object.keys(aliases)) {
|
|
1407
|
+
if (aliases[alias] === languageName) {
|
|
1408
|
+
delete aliases[alias];
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
function listLanguages() {
|
|
1413
|
+
return Object.keys(languages);
|
|
1414
|
+
}
|
|
1415
|
+
function requireLanguage(name) {
|
|
1416
|
+
deprecated("10.4.0", "requireLanguage will be removed entirely in v11.");
|
|
1417
|
+
deprecated("10.4.0", "Please see https://github.com/highlightjs/highlight.js/pull/2844");
|
|
1418
|
+
const lang = getLanguage(name);
|
|
1419
|
+
if (lang) {
|
|
1420
|
+
return lang;
|
|
1421
|
+
}
|
|
1422
|
+
const err = new Error("The '{}' language is required, but not loaded.".replace("{}", name));
|
|
1423
|
+
throw err;
|
|
1424
|
+
}
|
|
1425
|
+
function getLanguage(name) {
|
|
1426
|
+
name = (name || "").toLowerCase();
|
|
1427
|
+
return languages[name] || languages[aliases[name]];
|
|
1428
|
+
}
|
|
1429
|
+
function registerAliases(aliasList, { languageName }) {
|
|
1430
|
+
if (typeof aliasList === "string") {
|
|
1431
|
+
aliasList = [aliasList];
|
|
1432
|
+
}
|
|
1433
|
+
aliasList.forEach((alias) => {
|
|
1434
|
+
aliases[alias.toLowerCase()] = languageName;
|
|
1435
|
+
});
|
|
1436
|
+
}
|
|
1437
|
+
function autoDetection(name) {
|
|
1438
|
+
const lang = getLanguage(name);
|
|
1439
|
+
return lang && !lang.disableAutodetect;
|
|
1440
|
+
}
|
|
1441
|
+
function upgradePluginAPI(plugin) {
|
|
1442
|
+
if (plugin["before:highlightBlock"] && !plugin["before:highlightElement"]) {
|
|
1443
|
+
plugin["before:highlightElement"] = (data) => {
|
|
1444
|
+
plugin["before:highlightBlock"](
|
|
1445
|
+
Object.assign({ block: data.el }, data)
|
|
1446
|
+
);
|
|
1447
|
+
};
|
|
1448
|
+
}
|
|
1449
|
+
if (plugin["after:highlightBlock"] && !plugin["after:highlightElement"]) {
|
|
1450
|
+
plugin["after:highlightElement"] = (data) => {
|
|
1451
|
+
plugin["after:highlightBlock"](
|
|
1452
|
+
Object.assign({ block: data.el }, data)
|
|
1453
|
+
);
|
|
1454
|
+
};
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
function addPlugin(plugin) {
|
|
1458
|
+
upgradePluginAPI(plugin);
|
|
1459
|
+
plugins.push(plugin);
|
|
1460
|
+
}
|
|
1461
|
+
function fire(event, args) {
|
|
1462
|
+
const cb = event;
|
|
1463
|
+
plugins.forEach(function(plugin) {
|
|
1464
|
+
if (plugin[cb]) {
|
|
1465
|
+
plugin[cb](args);
|
|
1466
|
+
}
|
|
1467
|
+
});
|
|
1468
|
+
}
|
|
1469
|
+
function deprecateFixMarkup(arg) {
|
|
1470
|
+
deprecated("10.2.0", "fixMarkup will be removed entirely in v11.0");
|
|
1471
|
+
deprecated("10.2.0", "Please see https://github.com/highlightjs/highlight.js/issues/2534");
|
|
1472
|
+
return fixMarkup(arg);
|
|
1473
|
+
}
|
|
1474
|
+
function deprecateHighlightBlock(el) {
|
|
1475
|
+
deprecated("10.7.0", "highlightBlock will be removed entirely in v12.0");
|
|
1476
|
+
deprecated("10.7.0", "Please use highlightElement now.");
|
|
1477
|
+
return highlightElement(el);
|
|
1478
|
+
}
|
|
1479
|
+
Object.assign(hljs, {
|
|
1480
|
+
highlight: highlight2,
|
|
1481
|
+
highlightAuto,
|
|
1482
|
+
highlightAll,
|
|
1483
|
+
fixMarkup: deprecateFixMarkup,
|
|
1484
|
+
highlightElement,
|
|
1485
|
+
// TODO: Remove with v12 API
|
|
1486
|
+
highlightBlock: deprecateHighlightBlock,
|
|
1487
|
+
configure,
|
|
1488
|
+
initHighlighting,
|
|
1489
|
+
initHighlightingOnLoad,
|
|
1490
|
+
registerLanguage,
|
|
1491
|
+
unregisterLanguage,
|
|
1492
|
+
listLanguages,
|
|
1493
|
+
getLanguage,
|
|
1494
|
+
registerAliases,
|
|
1495
|
+
requireLanguage,
|
|
1496
|
+
autoDetection,
|
|
1497
|
+
inherit: inherit$1,
|
|
1498
|
+
addPlugin,
|
|
1499
|
+
// plugins for frameworks
|
|
1500
|
+
vuePlugin: BuildVuePlugin(hljs).VuePlugin
|
|
1501
|
+
});
|
|
1502
|
+
hljs.debugMode = function() {
|
|
1503
|
+
SAFE_MODE = false;
|
|
1504
|
+
};
|
|
1505
|
+
hljs.safeMode = function() {
|
|
1506
|
+
SAFE_MODE = true;
|
|
1507
|
+
};
|
|
1508
|
+
hljs.versionString = version;
|
|
1509
|
+
for (const key in MODES) {
|
|
1510
|
+
if (typeof MODES[key] === "object") {
|
|
1511
|
+
deepFreezeEs6(MODES[key]);
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
Object.assign(hljs, MODES);
|
|
1515
|
+
hljs.addPlugin(brPlugin);
|
|
1516
|
+
hljs.addPlugin(mergeHTMLPlugin);
|
|
1517
|
+
hljs.addPlugin(tabReplacePlugin);
|
|
1518
|
+
return hljs;
|
|
1519
|
+
};
|
|
1520
|
+
var highlight = HLJS({});
|
|
1521
|
+
module.exports = highlight;
|
|
1522
|
+
}
|
|
1523
|
+
});
|
|
1524
|
+
|
|
1525
|
+
// ../../node_modules/.pnpm/format@0.2.2/node_modules/format/format.js
|
|
1526
|
+
var require_format = __commonJS({
|
|
1527
|
+
"../../node_modules/.pnpm/format@0.2.2/node_modules/format/format.js"(exports, module) {
|
|
1528
|
+
"use strict";
|
|
1529
|
+
(function() {
|
|
1530
|
+
var namespace;
|
|
1531
|
+
if (typeof module !== "undefined") {
|
|
1532
|
+
namespace = module.exports = format;
|
|
1533
|
+
} else {
|
|
1534
|
+
namespace = function() {
|
|
1535
|
+
return this || (1, eval)("this");
|
|
1536
|
+
}();
|
|
1537
|
+
}
|
|
1538
|
+
namespace.format = format;
|
|
1539
|
+
namespace.vsprintf = vsprintf;
|
|
1540
|
+
if (typeof console !== "undefined" && typeof console.log === "function") {
|
|
1541
|
+
namespace.printf = printf;
|
|
1542
|
+
}
|
|
1543
|
+
function printf() {
|
|
1544
|
+
console.log(format.apply(null, arguments));
|
|
1545
|
+
}
|
|
1546
|
+
function vsprintf(fmt, replacements) {
|
|
1547
|
+
return format.apply(null, [fmt].concat(replacements));
|
|
1548
|
+
}
|
|
1549
|
+
function format(fmt) {
|
|
1550
|
+
var argIndex = 1, args = [].slice.call(arguments), i = 0, n = fmt.length, result = "", c, escaped = false, arg, tmp, leadingZero = false, precision, nextArg = function() {
|
|
1551
|
+
return args[argIndex++];
|
|
1552
|
+
}, slurpNumber = function() {
|
|
1553
|
+
var digits = "";
|
|
1554
|
+
while (/\d/.test(fmt[i])) {
|
|
1555
|
+
digits += fmt[i++];
|
|
1556
|
+
c = fmt[i];
|
|
1557
|
+
}
|
|
1558
|
+
return digits.length > 0 ? parseInt(digits) : null;
|
|
1559
|
+
};
|
|
1560
|
+
for (; i < n; ++i) {
|
|
1561
|
+
c = fmt[i];
|
|
1562
|
+
if (escaped) {
|
|
1563
|
+
escaped = false;
|
|
1564
|
+
if (c == ".") {
|
|
1565
|
+
leadingZero = false;
|
|
1566
|
+
c = fmt[++i];
|
|
1567
|
+
} else if (c == "0" && fmt[i + 1] == ".") {
|
|
1568
|
+
leadingZero = true;
|
|
1569
|
+
i += 2;
|
|
1570
|
+
c = fmt[i];
|
|
1571
|
+
} else {
|
|
1572
|
+
leadingZero = true;
|
|
1573
|
+
}
|
|
1574
|
+
precision = slurpNumber();
|
|
1575
|
+
switch (c) {
|
|
1576
|
+
case "b":
|
|
1577
|
+
result += parseInt(nextArg(), 10).toString(2);
|
|
1578
|
+
break;
|
|
1579
|
+
case "c":
|
|
1580
|
+
arg = nextArg();
|
|
1581
|
+
if (typeof arg === "string" || arg instanceof String)
|
|
1582
|
+
result += arg;
|
|
1583
|
+
else
|
|
1584
|
+
result += String.fromCharCode(parseInt(arg, 10));
|
|
1585
|
+
break;
|
|
1586
|
+
case "d":
|
|
1587
|
+
result += parseInt(nextArg(), 10);
|
|
1588
|
+
break;
|
|
1589
|
+
case "f":
|
|
1590
|
+
tmp = String(parseFloat(nextArg()).toFixed(precision || 6));
|
|
1591
|
+
result += leadingZero ? tmp : tmp.replace(/^0/, "");
|
|
1592
|
+
break;
|
|
1593
|
+
case "j":
|
|
1594
|
+
result += JSON.stringify(nextArg());
|
|
1595
|
+
break;
|
|
1596
|
+
case "o":
|
|
1597
|
+
result += "0" + parseInt(nextArg(), 10).toString(8);
|
|
1598
|
+
break;
|
|
1599
|
+
case "s":
|
|
1600
|
+
result += nextArg();
|
|
1601
|
+
break;
|
|
1602
|
+
case "x":
|
|
1603
|
+
result += "0x" + parseInt(nextArg(), 10).toString(16);
|
|
1604
|
+
break;
|
|
1605
|
+
case "X":
|
|
1606
|
+
result += "0x" + parseInt(nextArg(), 10).toString(16).toUpperCase();
|
|
1607
|
+
break;
|
|
1608
|
+
default:
|
|
1609
|
+
result += c;
|
|
1610
|
+
break;
|
|
1611
|
+
}
|
|
1612
|
+
} else if (c === "%") {
|
|
1613
|
+
escaped = true;
|
|
1614
|
+
} else {
|
|
1615
|
+
result += c;
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
return result;
|
|
1619
|
+
}
|
|
1620
|
+
})();
|
|
1621
|
+
}
|
|
1622
|
+
});
|
|
1623
|
+
|
|
1624
|
+
// ../../node_modules/.pnpm/fault@1.0.4/node_modules/fault/index.js
|
|
1625
|
+
var require_fault = __commonJS({
|
|
1626
|
+
"../../node_modules/.pnpm/fault@1.0.4/node_modules/fault/index.js"(exports, module) {
|
|
1627
|
+
"use strict";
|
|
1628
|
+
var formatter = require_format();
|
|
1629
|
+
var fault = create(Error);
|
|
1630
|
+
module.exports = fault;
|
|
1631
|
+
fault.eval = create(EvalError);
|
|
1632
|
+
fault.range = create(RangeError);
|
|
1633
|
+
fault.reference = create(ReferenceError);
|
|
1634
|
+
fault.syntax = create(SyntaxError);
|
|
1635
|
+
fault.type = create(TypeError);
|
|
1636
|
+
fault.uri = create(URIError);
|
|
1637
|
+
fault.create = create;
|
|
1638
|
+
function create(EConstructor) {
|
|
1639
|
+
FormattedError.displayName = EConstructor.displayName || EConstructor.name;
|
|
1640
|
+
return FormattedError;
|
|
1641
|
+
function FormattedError(format) {
|
|
1642
|
+
if (format) {
|
|
1643
|
+
format = formatter.apply(null, arguments);
|
|
1644
|
+
}
|
|
1645
|
+
return new EConstructor(format);
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1649
|
+
});
|
|
1650
|
+
|
|
1651
|
+
// ../../node_modules/.pnpm/lowlight@1.20.0/node_modules/lowlight/lib/core.js
|
|
1652
|
+
var require_core2 = __commonJS({
|
|
1653
|
+
"../../node_modules/.pnpm/lowlight@1.20.0/node_modules/lowlight/lib/core.js"(exports) {
|
|
1654
|
+
var high = require_core();
|
|
1655
|
+
var fault = require_fault();
|
|
1656
|
+
exports.highlight = highlight;
|
|
1657
|
+
exports.highlightAuto = highlightAuto;
|
|
1658
|
+
exports.registerLanguage = registerLanguage;
|
|
1659
|
+
exports.listLanguages = listLanguages;
|
|
1660
|
+
exports.registerAlias = registerAlias;
|
|
1661
|
+
Emitter.prototype.addText = text;
|
|
1662
|
+
Emitter.prototype.addKeyword = addKeyword;
|
|
1663
|
+
Emitter.prototype.addSublanguage = addSublanguage;
|
|
1664
|
+
Emitter.prototype.openNode = open;
|
|
1665
|
+
Emitter.prototype.closeNode = close;
|
|
1666
|
+
Emitter.prototype.closeAllNodes = noop;
|
|
1667
|
+
Emitter.prototype.finalize = noop;
|
|
1668
|
+
Emitter.prototype.toHTML = toHtmlNoop;
|
|
1669
|
+
var defaultPrefix = "hljs-";
|
|
1670
|
+
function highlight(name, value, options) {
|
|
1671
|
+
var before = high.configure({});
|
|
1672
|
+
var settings = options || {};
|
|
1673
|
+
var prefix = settings.prefix;
|
|
1674
|
+
var result;
|
|
1675
|
+
if (typeof name !== "string") {
|
|
1676
|
+
throw fault("Expected `string` for name, got `%s`", name);
|
|
1677
|
+
}
|
|
1678
|
+
if (!high.getLanguage(name)) {
|
|
1679
|
+
throw fault("Unknown language: `%s` is not registered", name);
|
|
1680
|
+
}
|
|
1681
|
+
if (typeof value !== "string") {
|
|
1682
|
+
throw fault("Expected `string` for value, got `%s`", value);
|
|
1683
|
+
}
|
|
1684
|
+
if (prefix === null || prefix === void 0) {
|
|
1685
|
+
prefix = defaultPrefix;
|
|
1686
|
+
}
|
|
1687
|
+
high.configure({ __emitter: Emitter, classPrefix: prefix });
|
|
1688
|
+
result = high.highlight(value, { language: name, ignoreIllegals: true });
|
|
1689
|
+
high.configure(before || {});
|
|
1690
|
+
if (result.errorRaised) {
|
|
1691
|
+
throw result.errorRaised;
|
|
1692
|
+
}
|
|
1693
|
+
return {
|
|
1694
|
+
relevance: result.relevance,
|
|
1695
|
+
language: result.language,
|
|
1696
|
+
value: result.emitter.rootNode.children
|
|
1697
|
+
};
|
|
1698
|
+
}
|
|
1699
|
+
function highlightAuto(value, options) {
|
|
1700
|
+
var settings = options || {};
|
|
1701
|
+
var subset = settings.subset || high.listLanguages();
|
|
1702
|
+
var prefix = settings.prefix;
|
|
1703
|
+
var length = subset.length;
|
|
1704
|
+
var index = -1;
|
|
1705
|
+
var result;
|
|
1706
|
+
var secondBest;
|
|
1707
|
+
var current;
|
|
1708
|
+
var name;
|
|
1709
|
+
if (prefix === null || prefix === void 0) {
|
|
1710
|
+
prefix = defaultPrefix;
|
|
1711
|
+
}
|
|
1712
|
+
if (typeof value !== "string") {
|
|
1713
|
+
throw fault("Expected `string` for value, got `%s`", value);
|
|
1714
|
+
}
|
|
1715
|
+
secondBest = { relevance: 0, language: null, value: [] };
|
|
1716
|
+
result = { relevance: 0, language: null, value: [] };
|
|
1717
|
+
while (++index < length) {
|
|
1718
|
+
name = subset[index];
|
|
1719
|
+
if (!high.getLanguage(name)) {
|
|
1720
|
+
continue;
|
|
1721
|
+
}
|
|
1722
|
+
current = highlight(name, value, options);
|
|
1723
|
+
current.language = name;
|
|
1724
|
+
if (current.relevance > secondBest.relevance) {
|
|
1725
|
+
secondBest = current;
|
|
1726
|
+
}
|
|
1727
|
+
if (current.relevance > result.relevance) {
|
|
1728
|
+
secondBest = result;
|
|
1729
|
+
result = current;
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
if (secondBest.language) {
|
|
1733
|
+
result.secondBest = secondBest;
|
|
1734
|
+
}
|
|
1735
|
+
return result;
|
|
1736
|
+
}
|
|
1737
|
+
function registerLanguage(name, syntax) {
|
|
1738
|
+
high.registerLanguage(name, syntax);
|
|
1739
|
+
}
|
|
1740
|
+
function listLanguages() {
|
|
1741
|
+
return high.listLanguages();
|
|
1742
|
+
}
|
|
1743
|
+
function registerAlias(name, alias) {
|
|
1744
|
+
var map = name;
|
|
1745
|
+
var key;
|
|
1746
|
+
if (alias) {
|
|
1747
|
+
map = {};
|
|
1748
|
+
map[name] = alias;
|
|
1749
|
+
}
|
|
1750
|
+
for (key in map) {
|
|
1751
|
+
high.registerAliases(map[key], { languageName: key });
|
|
1752
|
+
}
|
|
1753
|
+
}
|
|
1754
|
+
function Emitter(options) {
|
|
1755
|
+
this.options = options;
|
|
1756
|
+
this.rootNode = { children: [] };
|
|
1757
|
+
this.stack = [this.rootNode];
|
|
1758
|
+
}
|
|
1759
|
+
function addKeyword(value, name) {
|
|
1760
|
+
this.openNode(name);
|
|
1761
|
+
this.addText(value);
|
|
1762
|
+
this.closeNode();
|
|
1763
|
+
}
|
|
1764
|
+
function addSublanguage(other, name) {
|
|
1765
|
+
var stack = this.stack;
|
|
1766
|
+
var current = stack[stack.length - 1];
|
|
1767
|
+
var results = other.rootNode.children;
|
|
1768
|
+
var node = name ? {
|
|
1769
|
+
type: "element",
|
|
1770
|
+
tagName: "span",
|
|
1771
|
+
properties: { className: [name] },
|
|
1772
|
+
children: results
|
|
1773
|
+
} : results;
|
|
1774
|
+
current.children = current.children.concat(node);
|
|
1775
|
+
}
|
|
1776
|
+
function text(value) {
|
|
1777
|
+
var stack = this.stack;
|
|
1778
|
+
var current;
|
|
1779
|
+
var tail;
|
|
1780
|
+
if (value === "") return;
|
|
1781
|
+
current = stack[stack.length - 1];
|
|
1782
|
+
tail = current.children[current.children.length - 1];
|
|
1783
|
+
if (tail && tail.type === "text") {
|
|
1784
|
+
tail.value += value;
|
|
1785
|
+
} else {
|
|
1786
|
+
current.children.push({ type: "text", value });
|
|
1787
|
+
}
|
|
1788
|
+
}
|
|
1789
|
+
function open(name) {
|
|
1790
|
+
var stack = this.stack;
|
|
1791
|
+
var className = this.options.classPrefix + name;
|
|
1792
|
+
var current = stack[stack.length - 1];
|
|
1793
|
+
var child = {
|
|
1794
|
+
type: "element",
|
|
1795
|
+
tagName: "span",
|
|
1796
|
+
properties: { className: [className] },
|
|
1797
|
+
children: []
|
|
1798
|
+
};
|
|
1799
|
+
current.children.push(child);
|
|
1800
|
+
stack.push(child);
|
|
1801
|
+
}
|
|
1802
|
+
function close() {
|
|
1803
|
+
this.stack.pop();
|
|
1804
|
+
}
|
|
1805
|
+
function toHtmlNoop() {
|
|
1806
|
+
return "";
|
|
1807
|
+
}
|
|
1808
|
+
function noop() {
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
});
|
|
1812
|
+
export default require_core2();
|