@arcgis/coding-components 5.1.0-next.66 → 5.1.0-next.68
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/cdn/2JVBS55M.js +2 -0
- package/dist/cdn/{SV4IPD4A.js → 2PRSVBDA.js} +1 -1
- package/dist/cdn/{NKGXAZPK.js → 3KONJCSO.js} +1 -1
- package/dist/cdn/{S634KF57.js → 3TELAYHA.js} +1 -1
- package/dist/cdn/4EQ6MSLU.js +2 -0
- package/dist/cdn/{2PMDEHCD.js → 4VQ6C3Z4.js} +1 -1
- package/dist/cdn/{UYBZWFE5.js → 6C52UOYL.js} +1 -1
- package/dist/cdn/{466CO37N.js → 6QSGABXH.js} +1 -1
- package/dist/cdn/{H5FX5BYQ.js → 7N4GXW32.js} +1 -1
- package/dist/cdn/{YLN7EMJC.js → B3UMUBOI.js} +1 -1
- package/dist/cdn/{2XTHR2WZ.js → BGQRJR32.js} +1 -1
- package/dist/cdn/{GHSEU7VA.js → CF3TERM3.js} +1 -1
- package/dist/cdn/{6V7Y2BRY.js → CIGWH7A3.js} +1 -1
- package/dist/cdn/{4BNI5KJQ.js → DIIOEJQ7.js} +1 -1
- package/dist/cdn/{PSBMRURG.js → DMRPNWLI.js} +1 -1
- package/dist/cdn/{MVP3KIDY.js → DOENRIOY.js} +1 -1
- package/dist/cdn/{C6SE4WPF.js → E3RU2YPF.js} +1 -1
- package/dist/cdn/{NKCYMRE4.js → ER2MKLVA.js} +2 -2
- package/dist/cdn/{CEO3L7LS.js → FGTIA6RL.js} +1 -1
- package/dist/cdn/FLEAIHCQ.js +2 -0
- package/dist/cdn/{DXTALKL4.js → FP73TORW.js} +1 -1
- package/dist/cdn/{3RDQGPHK.js → GJKC6KKP.js} +1 -1
- package/dist/cdn/{BS3DQ5NP.js → GOSZCVIB.js} +1 -1
- package/dist/cdn/{P7I342NY.js → HUPOXAQ5.js} +1 -1
- package/dist/cdn/{K7NXHXP5.js → JEQBTQ75.js} +1 -1
- package/dist/cdn/{CZ2DJPO4.js → JHVMGSI2.js} +1 -1
- package/dist/cdn/{EEUNU5QU.js → JRLRJ7TP.js} +1 -1
- package/dist/cdn/{OZ65S2RS.js → KC77WBZW.js} +1 -1
- package/dist/cdn/{B7THOFPO.js → KGFDJHXG.js} +1 -1
- package/dist/cdn/LCIIA4UY.js +2 -0
- package/dist/cdn/{NG7S6FUK.js → LLPQEURF.js} +3 -3
- package/dist/cdn/{XEUCI6KC.js → LWXQURWG.js} +1 -1
- package/dist/cdn/{CYQZ3L4C.js → M3NPOHPJ.js} +1 -1
- package/dist/cdn/{7L4W5YNH.js → MMQ24TAN.js} +1 -1
- package/dist/cdn/N7KYUPBV.js +2 -0
- package/dist/cdn/{WQD5BAWU.js → OM6WYQFV.js} +1 -1
- package/dist/cdn/{BQLG62QR.js → OSG5CFY4.js} +2 -2
- package/dist/cdn/{ZAGZKTO3.js → P6TDJOVA.js} +1 -1
- package/dist/cdn/{ZTB72BXX.js → QEFRIJA4.js} +1 -1
- package/dist/cdn/{EMXJL3XV.js → QWRY5R2W.js} +1 -1
- package/dist/cdn/{76MMOBU6.js → RAMTJLOK.js} +1 -1
- package/dist/cdn/{RQ6FLVDV.js → RI743CW6.js} +1 -1
- package/dist/cdn/{GXD4RF74.js → RRW7ORAI.js} +1 -1
- package/dist/cdn/{M2XTTDCC.js → T2JZE2LL.js} +1 -1
- package/dist/cdn/{UE4FNMRR.js → T4G2IY4F.js} +1 -1
- package/dist/cdn/{K4AAZ66L.js → T752M2BH.js} +1 -1
- package/dist/cdn/{RKMBYHVJ.js → V4GG7I2P.js} +1 -1
- package/dist/cdn/{N2YCVDWS.js → VR3U6I7F.js} +3 -3
- package/dist/cdn/{YHEDZEVZ.js → WEH53PAQ.js} +1 -1
- package/dist/cdn/{5NABF36F.js → WLHOOVAR.js} +1 -1
- package/dist/cdn/{HVICKRFB.js → XGQHHSHY.js} +1 -1
- package/dist/cdn/{CF5KFGTE.js → XR32WULA.js} +1 -1
- package/dist/cdn/{UFE33KQQ.js → Z5EGFQ6Z.js} +1 -1
- package/dist/cdn/{4OSKRQ5X.js → Z5ZZ36DQ.js} +3 -3
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/arcade-coding-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/arcade-results/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/editor-variables/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/language-api-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/sql-expression-editor/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/sql-layer-editor/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/markdown.js +13 -13
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/package.json +6 -6
- package/dist/cdn/6EMFP4US.js +0 -2
- package/dist/cdn/CJDW5UVS.js +0 -2
- package/dist/cdn/OHM465MA.js +0 -2
- package/dist/cdn/UYCTDQOM.js +0 -2
- package/dist/cdn/YPMKBMXS.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{$ as Uv,$a as bD,$b as WD,$c as li,$d as fa,$e as pl,$f as YE,$g as Ia,$h as Sn,$i as oR,$j as Dl,A as Zn,Aa as fo,Ab as dt,Ac as eb,Ad as fn,Ae as fE,Af as _l,Ag as r0,Ah as R0,Ai as Il,Aj as Na,Ak as jR,B as eD,Ba as ol,Bb as kD,Bc as U,Bd as sE,Be as rb,Bf as ub,Bg as s0,Bh as Da,Bi as gr,Bj as vR,Bk as KR,C as Jd,Ca as cD,Cb as Xv,Cc as ne,Cd as uu,Ce as _E,Cf as VE,Cg as Vu,Ch as yb,Ci as mr,Cj as Ju,Ck as Vb,D as tD,Da as hD,Db as Qv,Dc as De,Dd as gu,De as wu,Df as zE,Dg as ar,Dh as Ea,Di as pr,Dj as Nt,Dk as qR,E as oa,Ea as uD,Eb as ai,Ec as me,Ed as mu,Ee as Co,Ef as Sa,Eg as Cl,Eh as X,Ei as Dt,Ej as Tb,Ek as zb,F as iD,Fa as Jh,Fb as ca,Fc as k,Fd as Jr,Fe as Ca,Ff as or,Fg as So,Fh as O,Fi as fr,Fj as Ll,Fk as ag,G as Ve,Ga as gD,Gb as xe,Gc as UD,Gd as er,Ge as se,Gf as wa,Gg as ya,Gh as zu,Gi as zo,Gj as bR,Gk as GR,H as Bv,Ha as eu,Hb as MD,Hc as J,Hd as ga,He as de,Hf as gb,Hg as a0,Hh as Ra,Hi as Lb,Hj as bt,Hk as dg,I as el,Ia as Gv,Ib as tt,Ic as Y,Id as cl,Ie as vE,If as mb,Ig as d0,Ih as be,Ii as Kt,Ij as ro,Ik as Ko,J as Qi,Ja as tu,Jb as Si,Jc as Vt,Jd as aE,Je as W,Jf as UE,Jg as l0,Jh as cr,Ji as ye,Jj as eg,K as Xh,Ka as $r,Kb as te,Kc as di,Kd as ma,Ke as Fo,Kf as jE,Kg as rs,Kh as ka,Ki as Db,Kj as CR,Kk as $R,L as ki,La as iu,Lb as wi,Lc as jD,Ld as xi,Le as Qe,Lf as Eu,Lg as c0,Lh as hr,Li as yn,Lj as SR,Lk as ZR,M as na,Ma as re,Mb as TD,Mc as j,Md as hl,Me as yu,Mf as KE,Mg as Sl,Mh as xb,Mi as $0,Mj as wR,Mk as YR,N as Ze,Na as at,Nb as ND,Nc as bo,Nd as Oo,Ne as pt,Nf as qE,Ng as h0,Nh as k0,Ni as vt,Nj as yR,Nk as XR,O as Vv,Oa as mD,Ob as lu,Oc as Xt,Od as dE,Oe as sb,Of as Ru,Og as _b,Oh as M0,Oi as Ta,Oj as Pa,P as he,Pa as pD,Pb as Jv,Pc as KD,Pd as ul,Pe as bE,Pf as GE,Pg as xa,Ph as $i,Pi as Z0,Pj as xR,Q as R,Qa as da,Qb as PD,Qc as pn,Qd as gl,Qe as to,Qf as ku,Qg as vb,Qh as Bo,Qi as Eb,Qj as IR,R as L,Ra as ou,Rb as No,Rc as lt,Rd as ib,Re as Ho,Rf as $E,Rg as bb,Rh as Vo,Ri as Rb,Rj as LR,S as we,Sa as Zt,Sb as Ce,Sc as ge,Sd as pu,Se as CE,Sg as Cb,Sh as ss,Si as Y0,Sj as DR,T as oD,Ta as nl,Tb as OD,Tc as zt,Td as oe,Te as ft,Tf as Mu,Tg as u0,Th as Uu,Ti as X0,Tj as ER,U as Qh,Ua as fD,Ub as AD,Uc as Ki,Ud as hi,Ue as is,Uf as nr,Ug as g0,Uh as T0,Ui as Yu,Uj as Fe,V as st,Va as _D,Vb as Ue,Vc as qi,Vd as Ut,Ve as xu,Vf as Tu,Vg as wl,Vh as N0,Vi as Q0,Vj as Nb,W as ke,Wa as $v,Wb as yi,Wc as qD,Wd as _t,We as SE,Wf as Nu,Wg as dr,Wh as P0,Wi as J0,Wj as tg,X as H,Xa as si,Xb as Qn,Xc as GD,Xd as lE,Xe as wE,Xf as vn,Xg as ze,Xh as O0,Xi as Xu,Xj as ig,Y as zv,Ya as vD,Yb as FD,Yc as tb,Yd as pa,Ye as yE,Yf as pb,Yg as lr,Yh as A0,Yi as eR,Yj as Pb,Z as Q,Za as ut,Zb as HD,Zc as Ji,Zd as fu,Ze as xE,Zf as ZE,Zg as m0,Zh as F0,Zi as tR,Zj as RR,_ as Me,_a as nu,_b as cu,_c as $D,_d as Ne,_e as IE,_g as p0,_h as as,_i as iR,_j as kR,a as m,aa as Oe,ab as ru,ac as BD,ad as ZD,ae as Be,af as LE,ag as Pu,ah as ce,ai as ju,aj as wt,ak as Ob,b as x,ba as mo,bb as _o,bc as Zr,bd as ua,be as eo,bf as DE,bg as bn,bh as Wo,bi as Ku,bj as nR,bk as MR,c as ea,ca as nD,cb as vo,cc as ha,cd as YD,ce as cE,cf as ab,cg as XE,ch as Mt,ci as H0,cj as rR,ck as og,d as $L,da as vi,db as CD,dc as fe,dd as XD,de as tr,df as EE,dg as Ou,dh as Sb,di as W0,dj as _r,dk as Ab,e as ae,ea as Yn,eb as SD,ec as Yr,ed as al,ee as hE,ef as RE,eg as Au,eh as Tt,ei as nt,ej as sR,ek as Fb,f as _e,fa as po,fb as wD,fc as Ui,fd as Xe,fe as _u,ff as kE,fg as vl,fh as Gi,fi as ur,fj as ds,fk as Hb,g as Bt,ga as tl,gb as yD,gc as B,gd as QD,ge as _n,gf as ME,gg as fb,gh as f0,gi as yl,gj as aR,gk as TR,h as ta,ha as To,hb as la,hc as Xr,hd as JD,he as es,hf as Iu,hg as Fu,hh as Cn,hi as qu,hj as Et,hk as NR,i as Ri,ia as Le,ib as su,ic as F,id as eE,ie as vu,if as TE,ig as rr,ih as Qt,ii as B0,ij as vr,ik as PR,j as et,ja as ra,jb as xD,jc as VD,jd as tE,je as ob,jf as db,jg as QE,jh as ot,ji as V0,jj as dR,jk as ng,k as $h,ka as rD,kb as Zv,kc as Yt,kd as hu,ke as uE,kf as lb,kg as Hu,kh as wb,ki as z0,kj as Qu,kk as jo,l as ZL,la as ni,lb as au,lc as Wt,ld as Ye,le as S,lf as Lu,lg as je,lh as _0,li as wn,lj as oo,lk as OR,m as YL,ma as sD,mb as du,mc as zD,md as M,me as _a,mf as NE,mg as Ke,mh as v0,mi as Gu,mj as lR,mk as Wb,n as Zh,na as sa,nb as ID,nc as Jn,nd as dl,ne as gE,nf as PE,ng as sr,nh as La,ni as U0,nj as Uo,nk as AR,o as Yh,oa as aD,ob as LD,oc as Z,od as ci,oe as bu,of as OE,og as JE,oh as b0,oi as j0,oj as cR,ok as FR,p as XL,pa as aa,pb as DD,pd as Lt,pe as mE,pf as AE,pg as Wu,ph as C0,pi as Ma,pj as gi,pk as rg,q as ia,qa as mn,qb as T,qc as Ct,qd as q,qe as va,qf as FE,qg as e0,qh as S0,qi as xl,qj as hR,qk as HR,r as Wv,ra as dD,rb as zi,rc as ji,rd as D,re as ba,rf as HE,rg as Bu,rh as w0,ri as yo,rj as uR,rk as WR,s as Gr,sa as ri,sb as Yv,sc as z,sd as ll,se as pE,sf as os,sg as t0,sh as wo,si as K0,sj as no,sk as BR,t as Vi,ta as il,tb as rl,tc as St,td as iE,te as Cu,tf as ir,tg as i0,th as y0,ti as q0,tj as kb,tk as VR,u as le,ua as it,ub as ue,uc as ve,ud as K,ue as Su,uf as fl,ug as o0,uh as x0,ui as $u,uj as gR,uk as zR,v as Gn,va as Xn,vb as bi,vc as P,vd as C,ve as Ao,vf as WE,vg as n0,vh as io,vi as Ib,vj as mR,vk as sg,w as QL,wa as jv,wb as ED,wc as gt,wd as G,we as ml,wf as BE,wg as bl,wh as I0,wi as Ae,wj as Mb,wk as El,x as $n,xa as lD,xb as Ci,xc as mt,xd as oE,xe as nb,xf as Du,xg as Ii,xh as L0,xi as Zu,xj as pR,xk as Bb,y as oi,ya as Kv,yb as RD,yc as Po,yd as nE,ye as Mi,yf as cb,yg as ns,yh as D0,yi as ui,yj as fR,yk as UR,z as JL,za as qv,zb as sl,zc as Qr,zd as rE,ze as ts,zf as hb,zg as jt,zh as E0,zi as G0,zj as _R,zk as Oa}from"./NG7S6FUK.js";var lg=class extends lt{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:x(85,"Toggle Collapse Unchanged Regions"),icon:U.map,toggled:k.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:k.has("isInDiffEditor"),menu:{when:k.has("isInDiffEditor"),id:j.EditorTitle,order:22,group:"navigation"}})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",o)}},Rl=class extends lt{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:x(86,"Toggle Show Moved Code Blocks"),precondition:k.has("isInDiffEditor")})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",o)}},kl=class extends lt{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:x(87,"Toggle Use Inline View When Space Is Limited"),precondition:k.has("isInDiffEditor")})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",o)}},Tl=x(88,"Diff Editor"),cg=class extends ci{constructor(){super({id:"diffEditor.switchSide",title:x(89,"Switch Side"),icon:U.arrowSwap,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,i){let o=ls(e);if(o instanceof ds){if(i&&i.dryRun)return{destinationSelection:o.mapToOtherSide().destinationSelection};o.switchSide()}}},hg=class extends ci{constructor(){super({id:"diffEditor.exitCompareMove",title:x(90,"Exit Compare Move"),icon:U.close,precondition:S.comparingMovedCode,f1:!1,category:Tl,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.exitCompareMove()}},ug=class extends ci{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:x(91,"Collapse All Unchanged Regions"),icon:U.fold,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.collapseAllUnchangedRegions()}},gg=class extends ci{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:x(92,"Show All Unchanged Regions"),icon:U.unfold,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.showAllUnchangedRegions()}},Aa=class extends lt{constructor(){super({id:"diffEditor.revert",title:x(93,"Revert"),f1:!0,category:Tl,precondition:k.has("isInDiffEditor")})}run(e,t){return t?this.runViaToolbarContext(e,t):this.runViaCursorOrSelection(e)}runViaCursorOrSelection(e){let t=ls(e);t instanceof ds&&t.revertFocusedRangeMappings()}runViaToolbarContext(e,t){let i=$T(e,t.originalUri,t.modifiedUri);i instanceof ds&&i.revertRangeMappings(t.mapping.innerChanges??[])}},QR=x(94,"Accessible Diff Viewer"),Fa=class r extends lt{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:r.id,title:x(95,"Go to Next Difference"),category:QR,precondition:k.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){ls(e)?.accessibleDiffViewerNext()}},Ml=class r extends lt{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:r.id,title:x(96,"Go to Previous Difference"),category:QR,precondition:k.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){ls(e)?.accessibleDiffViewerPrev()}};function $T(r,e,t){return r.get(ve).listDiffEditors().find(n=>{let s=n.getModifiedEditor(),a=n.getOriginalEditor();return s&&s.getModel()?.uri.toString()===t.toString()&&a&&a.getModel()?.uri.toString()===e.toString()})||null}function ls(r){let t=r.get(ve).listDiffEditors(),i=cu();if(i){for(let o of t)if(o.getContainerDomNode().contains(i))return o}return null}ge(lg);ge(Rl);ge(kl);Xt.appendMenuItem(j.EditorTitle,{command:{id:new kl().desc.id,title:m(119,"Use Inline View When Space Is Limited"),toggled:k.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:k.has("isInDiffEditor")},order:11,group:"1_diff",when:k.and(S.diffEditorRenderSideBySideInlineBreakpointReached,k.has("isInDiffEditor"))});Xt.appendMenuItem(j.EditorTitle,{command:{id:new Rl().desc.id,title:m(120,"Show Moved Code Blocks"),icon:U.move,toggled:UD.create("config.diffEditor.experimental.showMoves",!0),precondition:k.has("isInDiffEditor")},order:10,group:"1_diff",when:k.has("isInDiffEditor")});ge(Aa);for(let r of[{icon:U.arrowRight,key:S.diffEditorInlineMode.toNegated()},{icon:U.discard,key:S.diffEditorInlineMode}])Xt.appendMenuItem(j.DiffEditorHunkToolbar,{command:{id:new Aa().desc.id,title:m(121,"Revert Block"),icon:r.icon},when:k.and(S.diffEditorModifiedWritable,r.key),order:5,group:"primary"}),Xt.appendMenuItem(j.DiffEditorSelectionToolbar,{command:{id:new Aa().desc.id,title:m(122,"Revert Selection"),icon:r.icon},when:k.and(S.diffEditorModifiedWritable,r.key),order:5,group:"primary"});ge(cg);ge(hg);ge(ug);ge(gg);Xt.appendMenuItem(j.EditorTitle,{command:{id:Fa.id,title:m(123,"Open Accessible Diff Viewer"),precondition:k.has("isInDiffEditor")},order:10,group:"2_diff",when:k.and(S.accessibleDiffViewerVisible.negate(),k.has("isInDiffEditor"))});me.registerCommandAlias("editor.action.diffReview.next",Fa.id);ge(Fa);me.registerCommandAlias("editor.action.diffReview.prev",Ml.id);ge(Ml);var ZT=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},YT=function(r,e){return function(t,i){e(t,i,r)}},Ub,mg=new J("selectionAnchorSet",!1),br=class{static{Ub=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(Ub.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=mg.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(G.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new nt().appendText(m(798,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ct(m(799,"Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(G.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};br=Ub=ZT([YT(1,Y)],br);var jb=class extends M{constructor(){super({id:"editor.action.setSelectionAnchor",label:x(800,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2080),weight:100}})}async run(e,t){br.get(t)?.setSelectionAnchor()}},Kb=class extends M{constructor(){super({id:"editor.action.goToSelectionAnchor",label:x(801,"Go to Selection Anchor"),precondition:mg})}async run(e,t){br.get(t)?.goToSelectionAnchor()}},qb=class extends M{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:x(802,"Select from Anchor to Cursor"),precondition:mg,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2089),weight:100}})}async run(e,t){br.get(t)?.selectFromAnchorToCursor()}},Gb=class extends M{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:x(803,"Cancel Selection Anchor"),precondition:mg,kbOpts:{kbExpr:S.editorTextFocus,primary:9,weight:100}})}async run(e,t){br.get(t)?.cancelSelectionAnchor()}};K(br.ID,br,4);D(jb);D(Kb);D(qb);D(Gb);var XT=W("editorOverviewRuler.bracketMatchForeground","#A0A0A0",m(804,"Overview ruler marker color for matching brackets.")),$b=class extends M{constructor(){super({id:"editor.action.jumpToBracket",label:x(806,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:3165,weight:100}})}run(e,t){cs.get(t)?.jumpToBracket()}},Zb=class extends M{constructor(){super({id:"editor.action.selectToBracket",label:x(807,"Select to Bracket"),precondition:void 0,metadata:{description:x(808,"Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){let o=!0;i&&i.selectBrackets===!1&&(o=!1),cs.get(t)?.selectToBracket(o)}},Yb=class extends M{constructor(){super({id:"editor.action.removeBrackets",label:x(809,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){cs.get(t)?.removeBrackets(this.id)}},Xb=class{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}},cs=class r extends L{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(r.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Le(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{let o=i.getStartPosition(),n=e.bracketPairs.matchBracket(o),s=null;if(n)n[0].containsPosition(o)&&!n[1].containsPosition(o)?s=n[1].getStartPosition():n[1].containsPosition(o)&&(s=n[0].getStartPosition());else{let a=e.bracketPairs.findEnclosingBrackets(o);if(a)s=a[1].getStartPosition();else{let d=e.bracketPairs.findNextBracket(o);d&&d.range&&(s=d.range.getStartPosition())}}return s?new G(s.lineNumber,s.column,s.lineNumber,s.column):new G(o.lineNumber,o.column,o.lineNumber,o.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(o=>{let n=o.getStartPosition(),s=t.bracketPairs.matchBracket(n);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(n),!s)){let l=t.bracketPairs.findNextBracket(n);l&&l.range&&(s=t.bracketPairs.matchBracket(l.range.getStartPosition()))}let a=null,d=null;if(s){s.sort(C.compareRangesUsingStarts);let[l,c]=s;if(a=e?l.getStartPosition():l.getEndPosition(),d=e?c.getEndPosition():c.getStartPosition(),c.containsPosition(n)){let h=a;a=d,d=h}}a&&d&&i.push(new G(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(i=>{let o=i.getPosition(),n=t.bracketPairs.matchBracket(o);n||(n=t.bracketPairs.findEnclosingBrackets(o)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=X.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Ke(XT),position:xi.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=X.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let e=[],t=0;for(let i of this._lastBracketsData){let o=i.brackets;o&&(e[t++]={range:o[0],options:i.options},e[t++]={range:o[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getModel(),i=t.getVersionId(),o=[];this._lastVersionId===i&&(o=this._lastBracketsData);let n=[],s=0;for(let h=0,u=e.length;h<u;h++){let g=e[h];g.isEmpty()&&(n[s++]=g.getStartPosition())}n.length>1&&n.sort(P.compare);let a=[],d=0,l=0,c=o.length;for(let h=0,u=n.length;h<u;h++){let g=n[h];for(;l<c&&o[l].position.isBefore(g);)l++;if(l<c&&o[l].position.equals(g))a[d++]=o[l];else{let p=t.bracketPairs.matchBracket(g,20),f=r._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!p&&this._matchBrackets==="always"&&(p=t.bracketPairs.findEnclosingBrackets(g,20),f=r._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new Xb(g,p,f)}}this._lastBracketsData=a,this._lastVersionId=i}};K(cs.ID,cs,1);D(Zb);D($b);D(Yb);Xt.appendMenuItem(j.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:m(805,"Go to &&Bracket")},order:2});var pg=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let i=this._selection.startLineNumber,o=this._selection.startColumn,n=this._selection.endColumn;if(!(this._isMovingLeft&&o===1)&&!(!this._isMovingLeft&&n===e.getLineMaxColumn(i)))if(this._isMovingLeft){let s=new C(i,o-1,i,o),a=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new C(i,n,i,n),a)}else{let s=new C(i,n,i,n+1),a=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new C(i,o,i,o),a)}}computeCursorState(e,t){return this._isMovingLeft?new G(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new G(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}};var fg=class extends M{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let i=[],o=t.getSelections();for(let n of o)i.push(new pg(n,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Qb=class extends fg{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:x(810,"Move Selected Text Left"),precondition:S.writable})}},Jb=class extends fg{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:x(811,"Move Selected Text Right"),precondition:S.writable})}};D(Qb);D(Jb);var eC=class extends M{constructor(){super({id:"editor.action.transposeLetters",label:x(812,"Transpose Letters"),precondition:S.writable,kbOpts:{kbExpr:S.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=[],n=t.getSelections();for(let s of n){if(!s.isEmpty())continue;let a=s.startLineNumber,d=s.startColumn,l=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&l===2))continue;let c=d===l?s.getPosition():gu.rightPosition(i,s.getPosition().lineNumber,s.getPosition().column),h=gu.leftPosition(i,c),u=gu.leftPosition(i,h),g=i.getValueInRange(C.fromPositions(u,h)),p=i.getValueInRange(C.fromPositions(h,c)),f=C.fromPositions(u,c);o.push(new fn(f,p+g))}o.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())}};D(eC);var QT=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},JT=function(r,e){return function(t,i){e(t,i,r)}},eN=X.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:eu,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),tC=class r extends L{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,o,n){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(o),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=F(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;let t=F("span.icon");this.domNode.append(t),t.classList.add(...ne.asClassNameArray(U.loading),"codicon-modifier-spin");let i=()=>{let o=this.editor.getOption(75);this.domNode.style.height=`${o}px`,this.domNode.style.width=`${Math.ceil(.8*o)}px`};i(),this._register(this.editor.onDidChangeConfiguration(o=>{(o.hasChanged(61)||o.hasChanged(75))&&i()})),this._register(te(this.domNode,fe.CLICK,o=>{this.delegate.cancel()}))}getId(){return r.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},Ha=class extends L{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new we),this._currentWidget=this._register(new we),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,o,n){let s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=po(()=>{let a=C.fromPositions(e);this._currentDecorations.set([{range:a,options:eN}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(tC,this.id,this._editor,a,t,o))},n??this._showDelay);try{return await i}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Ha=QT([JT(2,z)],Ha);var JR=St("productService");function Nl(r,e){return{id:e,asString:async()=>r,asFile:()=>{},value:typeof r=="string"?r:void 0}}function ek(r,e,t,i){let o={id:rr(),name:r,uri:e,data:t};return{id:i,asString:async()=>"",asFile:()=>o,value:void 0}}var Wa=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return ki.some(this,([i,o])=>o.asFile())&&t.push("files"),tk(_g(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let i of t)yield[e,i]}toKey(e){return _g(e)}};function _g(r){return r.toLowerCase()}function iC(r,e){return tk(_g(r),e.map(_g))}function tk(r,e){if(r==="*/*")return e.length>0;if(e.includes(r))return!0;let t=r.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;let[i,o,n]=t;return n==="*"?e.some(s=>s.startsWith(o+"/")):!1}var hs=Object.freeze({create:r=>nu(r.map(e=>e.toString())).join(`\r
|
|
2
|
+
import{$ as Uv,$a as bD,$b as WD,$c as li,$d as fa,$e as pl,$f as YE,$g as Ia,$h as Sn,$i as oR,$j as Dl,A as Zn,Aa as fo,Ab as dt,Ac as eb,Ad as fn,Ae as fE,Af as _l,Ag as r0,Ah as R0,Ai as Il,Aj as Na,Ak as jR,B as eD,Ba as ol,Bb as kD,Bc as U,Bd as sE,Be as rb,Bf as ub,Bg as s0,Bh as Da,Bi as gr,Bj as vR,Bk as KR,C as Jd,Ca as cD,Cb as Xv,Cc as ne,Cd as uu,Ce as _E,Cf as VE,Cg as Vu,Ch as yb,Ci as mr,Cj as Ju,Ck as Vb,D as tD,Da as hD,Db as Qv,Dc as De,Dd as gu,De as wu,Df as zE,Dg as ar,Dh as Ea,Di as pr,Dj as Nt,Dk as qR,E as oa,Ea as uD,Eb as ai,Ec as me,Ed as mu,Ee as Co,Ef as Sa,Eg as Cl,Eh as X,Ei as Dt,Ej as Tb,Ek as zb,F as iD,Fa as Jh,Fb as ca,Fc as k,Fd as Jr,Fe as Ca,Ff as or,Fg as So,Fh as O,Fi as fr,Fj as Ll,Fk as ag,G as Ve,Ga as gD,Gb as xe,Gc as UD,Gd as er,Ge as se,Gf as wa,Gg as ya,Gh as zu,Gi as zo,Gj as bR,Gk as GR,H as Bv,Ha as eu,Hb as MD,Hc as J,Hd as ga,He as de,Hf as gb,Hg as a0,Hh as Ra,Hi as Lb,Hj as bt,Hk as dg,I as el,Ia as Gv,Ib as tt,Ic as Y,Id as cl,Ie as vE,If as mb,Ig as d0,Ih as be,Ii as Kt,Ij as ro,Ik as Ko,J as Qi,Ja as tu,Jb as Si,Jc as Vt,Jd as aE,Je as W,Jf as UE,Jg as l0,Jh as cr,Ji as ye,Jj as eg,K as Xh,Ka as $r,Kb as te,Kc as di,Kd as ma,Ke as Fo,Kf as jE,Kg as rs,Kh as ka,Ki as Db,Kj as CR,Kk as $R,L as ki,La as iu,Lb as wi,Lc as jD,Ld as xi,Le as Qe,Lf as Eu,Lg as c0,Lh as hr,Li as yn,Lj as SR,Lk as ZR,M as na,Ma as re,Mb as TD,Mc as j,Md as hl,Me as yu,Mf as KE,Mg as Sl,Mh as xb,Mi as $0,Mj as wR,Mk as YR,N as Ze,Na as at,Nb as ND,Nc as bo,Nd as Oo,Ne as pt,Nf as qE,Ng as h0,Nh as k0,Ni as vt,Nj as yR,Nk as XR,O as Vv,Oa as mD,Ob as lu,Oc as Xt,Od as dE,Oe as sb,Of as Ru,Og as _b,Oh as M0,Oi as Ta,Oj as Pa,P as he,Pa as pD,Pb as Jv,Pc as KD,Pd as ul,Pe as bE,Pf as GE,Pg as xa,Ph as $i,Pi as Z0,Pj as xR,Q as R,Qa as da,Qb as PD,Qc as pn,Qd as gl,Qe as to,Qf as ku,Qg as vb,Qh as Bo,Qi as Eb,Qj as IR,R as L,Ra as ou,Rb as No,Rc as lt,Rd as ib,Re as Ho,Rf as $E,Rg as bb,Rh as Vo,Ri as Rb,Rj as LR,S as we,Sa as Zt,Sb as Ce,Sc as ge,Sd as pu,Se as CE,Sg as Cb,Sh as ss,Si as Y0,Sj as DR,T as oD,Ta as nl,Tb as OD,Tc as zt,Td as oe,Te as ft,Tf as Mu,Tg as u0,Th as Uu,Ti as X0,Tj as ER,U as Qh,Ua as fD,Ub as AD,Uc as Ki,Ud as hi,Ue as is,Uf as nr,Ug as g0,Uh as T0,Ui as Yu,Uj as Fe,V as st,Va as _D,Vb as Ue,Vc as qi,Vd as Ut,Ve as xu,Vf as Tu,Vg as wl,Vh as N0,Vi as Q0,Vj as Nb,W as ke,Wa as $v,Wb as yi,Wc as qD,Wd as _t,We as SE,Wf as Nu,Wg as dr,Wh as P0,Wi as J0,Wj as tg,X as H,Xa as si,Xb as Qn,Xc as GD,Xd as lE,Xe as wE,Xf as vn,Xg as ze,Xh as O0,Xi as Xu,Xj as ig,Y as zv,Ya as vD,Yb as FD,Yc as tb,Yd as pa,Ye as yE,Yf as pb,Yg as lr,Yh as A0,Yi as eR,Yj as Pb,Z as Q,Za as ut,Zb as HD,Zc as Ji,Zd as fu,Ze as xE,Zf as ZE,Zg as m0,Zh as F0,Zi as tR,Zj as RR,_ as Me,_a as nu,_b as cu,_c as $D,_d as Ne,_e as IE,_g as p0,_h as as,_i as iR,_j as kR,a as m,aa as Oe,ab as ru,ac as BD,ad as ZD,ae as Be,af as LE,ag as Pu,ah as ce,ai as ju,aj as wt,ak as Ob,b as x,ba as mo,bb as _o,bc as Zr,bd as ua,be as eo,bf as DE,bg as bn,bh as Wo,bi as Ku,bj as nR,bk as MR,c as ea,ca as nD,cb as vo,cc as ha,cd as YD,ce as cE,cf as ab,cg as XE,ch as Mt,ci as H0,cj as rR,ck as og,d as $L,da as vi,db as CD,dc as fe,dd as XD,de as tr,df as EE,dg as Ou,dh as Sb,di as W0,dj as _r,dk as Ab,e as ae,ea as Yn,eb as SD,ec as Yr,ed as al,ee as hE,ef as RE,eg as Au,eh as Tt,ei as nt,ej as sR,ek as Fb,f as _e,fa as po,fb as wD,fc as Ui,fd as Xe,fe as _u,ff as kE,fg as vl,fh as Gi,fi as ur,fj as ds,fk as Hb,g as Bt,ga as tl,gb as yD,gc as B,gd as QD,ge as _n,gf as ME,gg as fb,gh as f0,gi as yl,gj as aR,gk as TR,h as ta,ha as To,hb as la,hc as Xr,hd as JD,he as es,hf as Iu,hg as Fu,hh as Cn,hi as qu,hj as Et,hk as NR,i as Ri,ia as Le,ib as su,ic as F,id as eE,ie as vu,if as TE,ig as rr,ih as Qt,ii as B0,ij as vr,ik as PR,j as et,ja as ra,jb as xD,jc as VD,jd as tE,je as ob,jf as db,jg as QE,jh as ot,ji as V0,jj as dR,jk as ng,k as $h,ka as rD,kb as Zv,kc as Yt,kd as hu,ke as uE,kf as lb,kg as Hu,kh as wb,ki as z0,kj as Qu,kk as jo,l as ZL,la as ni,lb as au,lc as Wt,ld as Ye,le as S,lf as Lu,lg as je,lh as _0,li as wn,lj as oo,lk as OR,m as YL,ma as sD,mb as du,mc as zD,md as M,me as _a,mf as NE,mg as Ke,mh as v0,mi as Gu,mj as lR,mk as Wb,n as Zh,na as sa,nb as ID,nc as Jn,nd as dl,ne as gE,nf as PE,ng as sr,nh as La,ni as U0,nj as Uo,nk as AR,o as Yh,oa as aD,ob as LD,oc as Z,od as ci,oe as bu,of as OE,og as JE,oh as b0,oi as j0,oj as cR,ok as FR,p as XL,pa as aa,pb as DD,pd as Lt,pe as mE,pf as AE,pg as Wu,ph as C0,pi as Ma,pj as gi,pk as rg,q as ia,qa as mn,qb as T,qc as Ct,qd as q,qe as va,qf as FE,qg as e0,qh as S0,qi as xl,qj as hR,qk as HR,r as Wv,ra as dD,rb as zi,rc as ji,rd as D,re as ba,rf as HE,rg as Bu,rh as w0,ri as yo,rj as uR,rk as WR,s as Gr,sa as ri,sb as Yv,sc as z,sd as ll,se as pE,sf as os,sg as t0,sh as wo,si as K0,sj as no,sk as BR,t as Vi,ta as il,tb as rl,tc as St,td as iE,te as Cu,tf as ir,tg as i0,th as y0,ti as q0,tj as kb,tk as VR,u as le,ua as it,ub as ue,uc as ve,ud as K,ue as Su,uf as fl,ug as o0,uh as x0,ui as $u,uj as gR,uk as zR,v as Gn,va as Xn,vb as bi,vc as P,vd as C,ve as Ao,vf as WE,vg as n0,vh as io,vi as Ib,vj as mR,vk as sg,w as QL,wa as jv,wb as ED,wc as gt,wd as G,we as ml,wf as BE,wg as bl,wh as I0,wi as Ae,wj as Mb,wk as El,x as $n,xa as lD,xb as Ci,xc as mt,xd as oE,xe as nb,xf as Du,xg as Ii,xh as L0,xi as Zu,xj as pR,xk as Bb,y as oi,ya as Kv,yb as RD,yc as Po,yd as nE,ye as Mi,yf as cb,yg as ns,yh as D0,yi as ui,yj as fR,yk as UR,z as JL,za as qv,zb as sl,zc as Qr,zd as rE,ze as ts,zf as hb,zg as jt,zh as E0,zi as G0,zj as _R,zk as Oa}from"./LLPQEURF.js";var lg=class extends lt{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:x(85,"Toggle Collapse Unchanged Regions"),icon:U.map,toggled:k.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:k.has("isInDiffEditor"),menu:{when:k.has("isInDiffEditor"),id:j.EditorTitle,order:22,group:"navigation"}})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",o)}},Rl=class extends lt{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:x(86,"Toggle Show Moved Code Blocks"),precondition:k.has("isInDiffEditor")})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",o)}},kl=class extends lt{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:x(87,"Toggle Use Inline View When Space Is Limited"),precondition:k.has("isInDiffEditor")})}run(e,...t){let i=e.get(oe),o=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",o)}},Tl=x(88,"Diff Editor"),cg=class extends ci{constructor(){super({id:"diffEditor.switchSide",title:x(89,"Switch Side"),icon:U.arrowSwap,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,i){let o=ls(e);if(o instanceof ds){if(i&&i.dryRun)return{destinationSelection:o.mapToOtherSide().destinationSelection};o.switchSide()}}},hg=class extends ci{constructor(){super({id:"diffEditor.exitCompareMove",title:x(90,"Exit Compare Move"),icon:U.close,precondition:S.comparingMovedCode,f1:!1,category:Tl,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.exitCompareMove()}},ug=class extends ci{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:x(91,"Collapse All Unchanged Regions"),icon:U.fold,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.collapseAllUnchangedRegions()}},gg=class extends ci{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:x(92,"Show All Unchanged Regions"),icon:U.unfold,precondition:k.has("isInDiffEditor"),f1:!0,category:Tl})}runEditorCommand(e,t,...i){let o=ls(e);o instanceof ds&&o.showAllUnchangedRegions()}},Aa=class extends lt{constructor(){super({id:"diffEditor.revert",title:x(93,"Revert"),f1:!0,category:Tl,precondition:k.has("isInDiffEditor")})}run(e,t){return t?this.runViaToolbarContext(e,t):this.runViaCursorOrSelection(e)}runViaCursorOrSelection(e){let t=ls(e);t instanceof ds&&t.revertFocusedRangeMappings()}runViaToolbarContext(e,t){let i=$T(e,t.originalUri,t.modifiedUri);i instanceof ds&&i.revertRangeMappings(t.mapping.innerChanges??[])}},QR=x(94,"Accessible Diff Viewer"),Fa=class r extends lt{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:r.id,title:x(95,"Go to Next Difference"),category:QR,precondition:k.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){ls(e)?.accessibleDiffViewerNext()}},Ml=class r extends lt{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:r.id,title:x(96,"Go to Previous Difference"),category:QR,precondition:k.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){ls(e)?.accessibleDiffViewerPrev()}};function $T(r,e,t){return r.get(ve).listDiffEditors().find(n=>{let s=n.getModifiedEditor(),a=n.getOriginalEditor();return s&&s.getModel()?.uri.toString()===t.toString()&&a&&a.getModel()?.uri.toString()===e.toString()})||null}function ls(r){let t=r.get(ve).listDiffEditors(),i=cu();if(i){for(let o of t)if(o.getContainerDomNode().contains(i))return o}return null}ge(lg);ge(Rl);ge(kl);Xt.appendMenuItem(j.EditorTitle,{command:{id:new kl().desc.id,title:m(119,"Use Inline View When Space Is Limited"),toggled:k.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:k.has("isInDiffEditor")},order:11,group:"1_diff",when:k.and(S.diffEditorRenderSideBySideInlineBreakpointReached,k.has("isInDiffEditor"))});Xt.appendMenuItem(j.EditorTitle,{command:{id:new Rl().desc.id,title:m(120,"Show Moved Code Blocks"),icon:U.move,toggled:UD.create("config.diffEditor.experimental.showMoves",!0),precondition:k.has("isInDiffEditor")},order:10,group:"1_diff",when:k.has("isInDiffEditor")});ge(Aa);for(let r of[{icon:U.arrowRight,key:S.diffEditorInlineMode.toNegated()},{icon:U.discard,key:S.diffEditorInlineMode}])Xt.appendMenuItem(j.DiffEditorHunkToolbar,{command:{id:new Aa().desc.id,title:m(121,"Revert Block"),icon:r.icon},when:k.and(S.diffEditorModifiedWritable,r.key),order:5,group:"primary"}),Xt.appendMenuItem(j.DiffEditorSelectionToolbar,{command:{id:new Aa().desc.id,title:m(122,"Revert Selection"),icon:r.icon},when:k.and(S.diffEditorModifiedWritable,r.key),order:5,group:"primary"});ge(cg);ge(hg);ge(ug);ge(gg);Xt.appendMenuItem(j.EditorTitle,{command:{id:Fa.id,title:m(123,"Open Accessible Diff Viewer"),precondition:k.has("isInDiffEditor")},order:10,group:"2_diff",when:k.and(S.accessibleDiffViewerVisible.negate(),k.has("isInDiffEditor"))});me.registerCommandAlias("editor.action.diffReview.next",Fa.id);ge(Fa);me.registerCommandAlias("editor.action.diffReview.prev",Ml.id);ge(Ml);var ZT=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},YT=function(r,e){return function(t,i){e(t,i,r)}},Ub,mg=new J("selectionAnchorSet",!1),br=class{static{Ub=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(Ub.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=mg.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(G.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new nt().appendText(m(798,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ct(m(799,"Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(G.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};br=Ub=ZT([YT(1,Y)],br);var jb=class extends M{constructor(){super({id:"editor.action.setSelectionAnchor",label:x(800,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2080),weight:100}})}async run(e,t){br.get(t)?.setSelectionAnchor()}},Kb=class extends M{constructor(){super({id:"editor.action.goToSelectionAnchor",label:x(801,"Go to Selection Anchor"),precondition:mg})}async run(e,t){br.get(t)?.goToSelectionAnchor()}},qb=class extends M{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:x(802,"Select from Anchor to Cursor"),precondition:mg,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2089),weight:100}})}async run(e,t){br.get(t)?.selectFromAnchorToCursor()}},Gb=class extends M{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:x(803,"Cancel Selection Anchor"),precondition:mg,kbOpts:{kbExpr:S.editorTextFocus,primary:9,weight:100}})}async run(e,t){br.get(t)?.cancelSelectionAnchor()}};K(br.ID,br,4);D(jb);D(Kb);D(qb);D(Gb);var XT=W("editorOverviewRuler.bracketMatchForeground","#A0A0A0",m(804,"Overview ruler marker color for matching brackets.")),$b=class extends M{constructor(){super({id:"editor.action.jumpToBracket",label:x(806,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:3165,weight:100}})}run(e,t){cs.get(t)?.jumpToBracket()}},Zb=class extends M{constructor(){super({id:"editor.action.selectToBracket",label:x(807,"Select to Bracket"),precondition:void 0,metadata:{description:x(808,"Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){let o=!0;i&&i.selectBrackets===!1&&(o=!1),cs.get(t)?.selectToBracket(o)}},Yb=class extends M{constructor(){super({id:"editor.action.removeBrackets",label:x(809,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:S.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){cs.get(t)?.removeBrackets(this.id)}},Xb=class{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}},cs=class r extends L{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(r.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Le(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{let o=i.getStartPosition(),n=e.bracketPairs.matchBracket(o),s=null;if(n)n[0].containsPosition(o)&&!n[1].containsPosition(o)?s=n[1].getStartPosition():n[1].containsPosition(o)&&(s=n[0].getStartPosition());else{let a=e.bracketPairs.findEnclosingBrackets(o);if(a)s=a[1].getStartPosition();else{let d=e.bracketPairs.findNextBracket(o);d&&d.range&&(s=d.range.getStartPosition())}}return s?new G(s.lineNumber,s.column,s.lineNumber,s.column):new G(o.lineNumber,o.column,o.lineNumber,o.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(o=>{let n=o.getStartPosition(),s=t.bracketPairs.matchBracket(n);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(n),!s)){let l=t.bracketPairs.findNextBracket(n);l&&l.range&&(s=t.bracketPairs.matchBracket(l.range.getStartPosition()))}let a=null,d=null;if(s){s.sort(C.compareRangesUsingStarts);let[l,c]=s;if(a=e?l.getStartPosition():l.getEndPosition(),d=e?c.getEndPosition():c.getStartPosition(),c.containsPosition(n)){let h=a;a=d,d=h}}a&&d&&i.push(new G(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(i=>{let o=i.getPosition(),n=t.bracketPairs.matchBracket(o);n||(n=t.bracketPairs.findEnclosingBrackets(o)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=X.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Ke(XT),position:xi.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=X.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let e=[],t=0;for(let i of this._lastBracketsData){let o=i.brackets;o&&(e[t++]={range:o[0],options:i.options},e[t++]={range:o[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getModel(),i=t.getVersionId(),o=[];this._lastVersionId===i&&(o=this._lastBracketsData);let n=[],s=0;for(let h=0,u=e.length;h<u;h++){let g=e[h];g.isEmpty()&&(n[s++]=g.getStartPosition())}n.length>1&&n.sort(P.compare);let a=[],d=0,l=0,c=o.length;for(let h=0,u=n.length;h<u;h++){let g=n[h];for(;l<c&&o[l].position.isBefore(g);)l++;if(l<c&&o[l].position.equals(g))a[d++]=o[l];else{let p=t.bracketPairs.matchBracket(g,20),f=r._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!p&&this._matchBrackets==="always"&&(p=t.bracketPairs.findEnclosingBrackets(g,20),f=r._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new Xb(g,p,f)}}this._lastBracketsData=a,this._lastVersionId=i}};K(cs.ID,cs,1);D(Zb);D($b);D(Yb);Xt.appendMenuItem(j.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:m(805,"Go to &&Bracket")},order:2});var pg=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let i=this._selection.startLineNumber,o=this._selection.startColumn,n=this._selection.endColumn;if(!(this._isMovingLeft&&o===1)&&!(!this._isMovingLeft&&n===e.getLineMaxColumn(i)))if(this._isMovingLeft){let s=new C(i,o-1,i,o),a=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new C(i,n,i,n),a)}else{let s=new C(i,n,i,n+1),a=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new C(i,o,i,o),a)}}computeCursorState(e,t){return this._isMovingLeft?new G(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new G(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}};var fg=class extends M{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let i=[],o=t.getSelections();for(let n of o)i.push(new pg(n,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Qb=class extends fg{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:x(810,"Move Selected Text Left"),precondition:S.writable})}},Jb=class extends fg{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:x(811,"Move Selected Text Right"),precondition:S.writable})}};D(Qb);D(Jb);var eC=class extends M{constructor(){super({id:"editor.action.transposeLetters",label:x(812,"Transpose Letters"),precondition:S.writable,kbOpts:{kbExpr:S.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=[],n=t.getSelections();for(let s of n){if(!s.isEmpty())continue;let a=s.startLineNumber,d=s.startColumn,l=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&l===2))continue;let c=d===l?s.getPosition():gu.rightPosition(i,s.getPosition().lineNumber,s.getPosition().column),h=gu.leftPosition(i,c),u=gu.leftPosition(i,h),g=i.getValueInRange(C.fromPositions(u,h)),p=i.getValueInRange(C.fromPositions(h,c)),f=C.fromPositions(u,c);o.push(new fn(f,p+g))}o.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())}};D(eC);var QT=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},JT=function(r,e){return function(t,i){e(t,i,r)}},eN=X.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:eu,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),tC=class r extends L{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,o,n){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(o),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=F(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;let t=F("span.icon");this.domNode.append(t),t.classList.add(...ne.asClassNameArray(U.loading),"codicon-modifier-spin");let i=()=>{let o=this.editor.getOption(75);this.domNode.style.height=`${o}px`,this.domNode.style.width=`${Math.ceil(.8*o)}px`};i(),this._register(this.editor.onDidChangeConfiguration(o=>{(o.hasChanged(61)||o.hasChanged(75))&&i()})),this._register(te(this.domNode,fe.CLICK,o=>{this.delegate.cancel()}))}getId(){return r.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},Ha=class extends L{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new we),this._currentWidget=this._register(new we),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,o,n){let s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=po(()=>{let a=C.fromPositions(e);this._currentDecorations.set([{range:a,options:eN}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(tC,this.id,this._editor,a,t,o))},n??this._showDelay);try{return await i}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Ha=QT([JT(2,z)],Ha);var JR=St("productService");function Nl(r,e){return{id:e,asString:async()=>r,asFile:()=>{},value:typeof r=="string"?r:void 0}}function ek(r,e,t,i){let o={id:rr(),name:r,uri:e,data:t};return{id:i,asString:async()=>"",asFile:()=>o,value:void 0}}var Wa=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return ki.some(this,([i,o])=>o.asFile())&&t.push("files"),tk(_g(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let i of t)yield[e,i]}toKey(e){return _g(e)}};function _g(r){return r.toLowerCase()}function iC(r,e){return tk(_g(r),e.map(_g))}function tk(r,e){if(r==="*/*")return e.length>0;if(e.includes(r))return!0;let t=r.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;let[i,o,n]=t;return n==="*"?e.some(s=>s.startsWith(o+"/")):!1}var hs=Object.freeze({create:r=>nu(r.map(e=>e.toString())).join(`\r
|
|
3
3
|
`),split:r=>r.split(`\r
|
|
4
4
|
`),parse:r=>hs.split(r).filter(e=>!e.startsWith("#"))});var Ie=class r{static{this.sep="."}static{this.None=new r("@@none@@")}static{this.Empty=new r("")}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+r.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new r((this.value?[this.value,...e]:e).join(r.sep))}};var nC={EDITORS:"CodeEditors",FILES:"CodeFiles"},oC=class{},tN={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Vt.add(tN.DragAndDropContribution,new oC);var vg=class r{static{this.INSTANCE=new r}constructor(){}static getInstance(){return r.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};function rC(r){if(Zn&&typeof globalThis.vscode?.webUtils?.getPathForFile=="function")return globalThis.vscode?.webUtils?.getPathForFile(r)}function sC(r){let e=new Wa;for(let t of r.items){let i=t.type;if(t.kind==="string"){let o=new Promise(n=>t.getAsString(n));e.append(i,Nl(o))}else if(t.kind==="file"){let o=t.getAsFile();o&&e.append(i,iN(o))}}return e}function iN(r){let e=rC(r),t=e?re.parse(e):void 0;return ek(r.name,t,async()=>new Uint8Array(await r.arrayBuffer()))}var oN=Object.freeze([nC.EDITORS,nC.FILES,ss.RESOURCES,ss.INTERNAL_URI_LIST]);function bg(r,e=!1){let t=sC(r),i=t.get(ss.INTERNAL_URI_LIST);if(i)t.replace(_t.uriList,i);else if(e||!t.has(_t.uriList)){let o=[];for(let n of r.items){let s=n.getAsFile();if(s){let a=rC(s);try{a?o.push(re.file(a).toString()):o.push(re.parse(s.name,!0).toString())}catch{}}}o.length&&t.replace(_t.uriList,Nl(hs.create(o)))}for(let o of oN)t.delete(o);return t}var nN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ik=function(r,e){return function(t,i){e(t,i,r)}},Cg,Pt=class{static{Cg=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new J("messageVisible",!1,m(1287,"Whether the editor is currently showing an inline message"))}static get(e){return e.getContribution(Cg.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new we,this._messageListeners=new R,this._mouseOverMessage=!1,this._editor=e,this._visible=Cg.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(Ct(yl(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),yl(e)){let o=this._messageListeners.add(Gu(e,{actionHandler:(n,s)=>{this.closeMessage(),hR(this._openerService,n,s.isTrusted)}}));this._messageWidget.value=new Pl(this._editor,t,o.element)}else this._messageWidget.value=new Pl(this._editor,t,e);this._messageListeners.add(ke.debounce(this._editor.onDidBlurEditorText,(o,n)=>n,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&FD(cu(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(te(this._messageWidget.value.getDomNode(),fe.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(te(this._messageWidget.value.getDomNode(),fe.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(o=>{o.target.position&&(i?i.containsPosition(o.target.position)||this.closeMessage():i=new C(t.lineNumber-3,1,o.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Pl.fadeOut(this._messageWidget.value))}};Pt=Cg=nN([ik(1,Y),ik(2,Uo)],Pt);var rN=Ye.bindToContribution(Pt.get);q(new rN({id:"leaveEditorMessage",precondition:Pt.MESSAGE_VISIBLE,handler:r=>r.closeMessage(),kbOpts:{weight:130,primary:9}}));var Pl=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},o){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";let n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);let s=document.createElement("div");typeof o=="string"?(s.classList.add("message"),s.textContent=o):(o.classList.add("message"),s.appendChild(o)),this._domNode.appendChild(s);let a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};K(Pt.ID,Pt,4);var dC=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ol=function(r,e){return function(t,i){e(t,i,r)}},Al=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,i,o,n){let s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,o){let n=await this.getEdit(i,o);if(n)return{edits:[{insertText:n.insertText,title:n.title,kind:n.kind,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}],dispose(){}}}},xn=class r extends Al{static{this.id="text"}constructor(){super(Ie.Empty.append("text","plain")),this.id=r.id,this.dropMimeTypes=[_t.text],this.pasteMimeTypes=[_t.text]}async getEdit(e,t){let i=e.get(_t.text);if(!i||e.has(_t.uriList))return;let o=await i.asString();return{handledMimeType:_t.text,title:m(926,"Insert Plain Text"),insertText:o,kind:this.kind}}},Sg=class extends Al{constructor(){super(Ie.Empty.append("uri","path","absolute")),this.dropMimeTypes=[_t.uriList],this.pasteMimeTypes=[_t.uriList]}async getEdit(e,t){let i=await ok(e);if(!i.length||t.isCancellationRequested)return;let o=0,n=i.map(({uri:a,originalText:d})=>a.scheme===at.file?a.fsPath:(o++,d)).join(" "),s;return o>0?s=i.length>1?m(927,"Insert Uris"):m(928,"Insert Uri"):s=i.length>1?m(929,"Insert Paths"):m(930,"Insert Path"),{handledMimeType:_t.uriList,insertText:n,title:s,kind:this.kind}}},wg=class extends Al{constructor(e){super(Ie.Empty.append("uri","path","relative")),this._workspaceContextService=e,this.dropMimeTypes=[_t.uriList],this.pasteMimeTypes=[_t.uriList]}async getEdit(e,t){let i=await ok(e);if(!i.length||t.isCancellationRequested)return;let o=si(i.map(({uri:n})=>{let s=this._workspaceContextService.getWorkspaceFolder(n);return s?XD(s.uri,n):void 0}));if(o.length)return{handledMimeType:_t.uriList,insertText:o.join(" "),title:i.length>1?m(931,"Insert Relative Paths"):m(932,"Insert Relative Path"),kind:this.kind}}};wg=dC([Ol(0,no)],wg);var aC=class{constructor(){this.kind=new Ie("html"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:_t.text}]}async provideDocumentPasteEdits(e,t,i,o,n){if(o.triggerKind!==Cl.PasteAs&&!o.only?.contains(this.kind))return;let a=await i.get("text/html")?.asString();if(!(!a||n.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:m(933,"Insert HTML"),kind:this.kind}]}}};async function ok(r){let e=r.get(_t.uriList);if(!e)return[];let t=await e.asString(),i=[];for(let o of hs.parse(t))try{i.push({uri:re.parse(o),originalText:o})}catch{}return i}var us={scheme:"*",hasAccessToAllModels:!0},yg=class extends L{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(us,new xn)),this._register(e.documentDropEditProvider.register(us,new Sg)),this._register(e.documentDropEditProvider.register(us,new wg(t)))}};yg=dC([Ol(0,O),Ol(1,no)],yg);var xg=class extends L{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(us,new xn)),this._register(e.documentPasteEditProvider.register(us,new Sg)),this._register(e.documentPasteEditProvider.register(us,new wg(t))),this._register(e.documentPasteEditProvider.register(us,new aC))}};xg=dC([Ol(0,O),Ol(1,no)],xg);var lC=class r{constructor(){this.value="",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let e=this.pos,t=0,i=this.value.charCodeAt(e),o;if(o=r._table[i],typeof o=="number")return this.pos+=1,{type:o,pos:e,len:1};if(r.isDigitCharacter(i)){o=8;do t+=1,i=this.value.charCodeAt(e+t);while(r.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}if(r.isVariableCharacter(i)){o=9;do i=this.value.charCodeAt(e+ ++t);while(r.isVariableCharacter(i)||r.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}o=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof r._table[i]>"u"&&!r.isDigitCharacter(i)&&!r.isVariableCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}},Cr=class{constructor(){this._children=[]}appendChild(e){return e instanceof Ot&&this._children[this._children.length-1]instanceof Ot?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:i}=e,o=i.children.indexOf(e),n=i.children.slice(0);n.splice(o,1,...t),i._children=n,(function s(a,d){for(let l of a)l.parent=d,s(l.children,l)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Ba)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}},Ot=class r extends Cr{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new r(this.value)}},Ig=class extends Cr{},Ti=class r extends Ig{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof gs?this._children[0]:void 0}clone(){let e=new r(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}},gs=class r extends Cr{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Ot&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let e=new r;return this.options.forEach(e.appendChild,e),e}},cC=class r extends Cr{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){let t=this,i=!1,o=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(n=>n instanceof xo&&!!n.elseValue)&&(o=this._replace([])),o}_replace(e){let t="";for(let i of this._children)if(i instanceof xo){let o=e[i.index]||"";o=i.resolve(o),t+=o}else t+=i.toString();return t}toString(){return""}clone(){let e=new r;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}},xo=class r extends Cr{constructor(e,t,i,o){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=o}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map((i,o)=>o===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new r(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Fl=class r extends Ig{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Ot(t)],!0):!1}clone(){let e=new r(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}};function nk(r,e){let t=[...r];for(;t.length>0;){let i=t.shift();if(!e(i))break;t.unshift(...i.children)}}var Ba=class r extends Cr{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(i){return i instanceof Ti&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(o=>o===e?(i=!0,!1):(t+=o.len(),!0)),i?t:-1}fullLen(e){let t=0;return nk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:i}=e;for(;i;)i instanceof Ti&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Fl&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let e=new r;return this._children=this.children.map(t=>t.clone()),e}walk(e){nk(this.children,e)}},Li=class{constructor(){this._scanner=new lC,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){let o=new Ba;return this.parseFragment(e,o),this.ensureFinalTabstop(o,i??!1,t??!1),o}parseFragment(e,t){let i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let o=new Map,n=[];t.walk(d=>(d instanceof Ti&&(d.isFinalTabstop?o.set(0,void 0):!o.has(d.index)&&d.children.length>0?o.set(d.index,d.children):n.push(d)),!0));let s=(d,l)=>{let c=o.get(d.index);if(!c)return;let h=new Ti(d.index);h.transform=d.transform;for(let u of c){let g=u.clone();h.appendChild(g),g instanceof Ti&&o.has(g.index)&&!l.has(g.index)&&(l.add(g.index),s(g,l),l.delete(g.index))}t.replace(d,[h])},a=new Set;for(let d of n)s(d,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(n=>n.index===0)||e.appendChild(new Ti(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let o=this._scanner.next();if(o.type!==0&&o.type!==4&&o.type!==5)return!1}this._token=this._scanner.next()}let i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Ot(t)),!0):!1}_parseTabstopOrVariableName(e){let t,i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Ti(Number(t)):new Fl(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);let n=new Ti(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ot("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else if(n.index>0&&this._accept(7)){let s=new gs;for(;;){if(this._parseChoiceElement(s)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(s),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseChoiceElement(e){let t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let o;if((o=this._accept(5,!0))?o=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||o:o=this._accept(void 0,!0),!o)return this._backTo(t),!1;i.push(o)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Ot(i.join(""))),!0)}_parseComplexVariable(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);let n=new Fl(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ot("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseTransform(e){let t=new cC,i="",o="";for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(6,!0)||n,i+=n;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(5,!0)||this._accept(6,!0)||n,t.appendChild(new Ot(n));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){o+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,o)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);let o=this._accept(8,!0);if(o)if(i){if(this._accept(4))return e.appendChild(new xo(Number(o))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new xo(Number(o))),!0;else return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new xo(Number(o),n)),!0)}else if(this._accept(11)){let n=this._until(4);if(n)return e.appendChild(new xo(Number(o),void 0,n,void 0)),!0}else if(this._accept(12)){let n=this._until(4);if(n)return e.appendChild(new xo(Number(o),void 0,void 0,n)),!0}else if(this._accept(13)){let n=this._until(1);if(n){let s=this._until(4);if(s)return e.appendChild(new xo(Number(o),void 0,n,s)),!0}}else{let n=this._until(4);if(n)return e.appendChild(new xo(Number(o),void 0,void 0,n)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Ot(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}};function Lg(r,e,t){return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:t.additionalEdit?.edits??[]}:{edits:[...e.map(i=>new dR(r,{range:i,text:typeof t.insertText=="string"?Li.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...t.additionalEdit?.edits??[]]}}function Dg(r){function e(s,a){return"mimeType"in s?s.mimeType===a.handledMimeType:!!a.kind&&s.kind.contains(a.kind)}let t=new Map;for(let s of r)for(let a of s.yieldTo??[])for(let d of r)if(d!==s&&e(a,d)){let l=t.get(s);l||(l=[],t.set(s,l)),l.push(d)}if(!t.size)return Array.from(r);let i=new Set,o=[];function n(s){if(!s.length)return[];let a=s[0];if(o.includes(a))return console.warn("Yield to cycle detected",a),s;if(i.has(a))return n(s.slice(1));let d=[],l=t.get(a);return l&&(o.push(a),d=n(l),o.pop()),i.add(a),[...d,a,...n(s.slice(1))]}return n(Array.from(r))}function hC(r,e){return e&&(r.stack||r.stacktrace)?m(29,"{0}: {1}",sk(r),rk(r.stack)||rk(r.stacktrace)):sk(r)}function rk(r){return Array.isArray(r)?r.join(`
|
|
5
5
|
`):r}function sk(r){return r.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${r.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof r.code=="string"&&typeof r.errno=="number"&&typeof r.syscall=="string"?m(30,"A system error occurred ({0})",r.message):r.message||m(31,"An unknown error occurred. Please consult the log for more details.")}function Va(r=null,e=!1){if(!r)return m(32,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(r)){let t=si(r),i=Va(t[0],e);return t.length>1?m(33,"{0} ({1} errors in total)",i,t.length):i}if(Yh(r))return r;if(r.detail){let t=r.detail;if(t.error)return hC(t.error,e);if(t.exception)return hC(t.exception,e)}return r.stack?hC(r,e):r.message?r.message:m(34,"An unknown error occurred. Please consult the log for more details.")}var ak=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Eg=function(r,e){return function(t,i){e(t,i,r)}},fC="acceptSelectedCodeAction",_C="previewSelectedCodeAction",uC=class{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");let t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??e.label??""}disposeTemplate(e){}},gC=class{get templateId(){return"separator"}renderTemplate(e){e.classList.add("separator");let t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.label??""}disposeTemplate(e){}},mC=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement("div");t.className="icon",e.append(t);let i=document.createElement("span");i.className="title",e.append(i);let o=document.createElement("span");o.className="description",e.append(o);let n=new Na(e,oa);return{container:e,icon:t,text:i,description:o,keybinding:n}}renderElement(e,t,i){if(e.group?.icon?(i.icon.className=ne.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=de(e.group.icon.color.id))):(i.icon.className=ne.asClassName(U.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;VD(!e.hideIcon,i.icon),i.text.textContent=Mg(e.label),e.keybinding?(i.description.textContent=e.keybinding.getLabel(),i.description.style.display="inline",i.description.style.letterSpacing="0.5px"):e.description?(i.description.textContent=Mg(e.description),i.description.style.display="inline"):(i.description.textContent="",i.description.style.display="none");let o=this._keybindingService.lookupKeybinding(fC)?.getLabel(),n=this._keybindingService.lookupKeybinding(_C)?.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.tooltip?i.container.title=e.tooltip:e.disabled?i.container.title=e.label:o&&n?this._supportsPreview&&e.canPreview?i.container.title=m(1653,"{0} to Apply, {1} to Preview",o,n):i.container.title=m(1654,"{0} to Apply",o):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};mC=ak([Eg(1,ce)],mC);var pC=class extends UIEvent{constructor(){super("acceptSelectedAction")}},Rg=class extends UIEvent{constructor(){super("previewSelectedAction")}};function sN(r){if(r.kind==="action")return r.label}var kg=class extends L{constructor(e,t,i,o,n,s,a,d){super(),this._delegate=o,this._contextViewService=s,this._keybindingService=a,this._layoutService=d,this._actionLineHeight=28,this._headerLineHeight=28,this._separatorLineHeight=8,this.cts=this._register(new Me),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");let l={getHeight:c=>{switch(c.kind){case"header":return this._headerLineHeight;case"separator":return this._separatorLineHeight;default:return this._actionLineHeight}},getTemplateId:c=>c.kind};this._list=this._register(new Ma(e,this.domNode,l,[new mC(t,this._keybindingService),new uC,new gC],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:sN},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?Mg(c?.label):"";return c.description&&(h=h+", "+Mg(c.description)),c.disabled&&(h=m(1655,"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>m(1656,"Action Widget"),getRole:c=>{switch(c.kind){case"action":return"option";case"separator":return"separator";default:return"separator"}},getWidgetRole:()=>"listbox",...n}})),this._list.style(X0),this._register(this._list.onMouseClick(c=>this.onListClick(c))),this._register(this._list.onMouseOver(c=>this.onListHover(c))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(c=>this.onListSelection(c))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){let t=this._allMenuItems.filter(c=>c.kind==="header").length,i=this._allMenuItems.filter(c=>c.kind==="separator").length,s=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight+i*this._separatorLineHeight-i*this._actionLineHeight;this._list.layout(s);let a=e;if(this._allMenuItems.length>=50)a=380;else{let c=this._allMenuItems.map((h,u)=>{let g=this.domNode.ownerDocument.getElementById(this._list.getElementID(u));if(g){g.style.width="auto";let p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});a=Math.max(...c,e)}let l=Math.min(s,this._layoutService.getContainer(tt(this.domNode)).clientHeight*.7);return this._list.layout(l,a),this.domNode.style.height=`${l}px`,this._list.domFocus(),a}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let i=t[0],o=this._list.element(i);if(!this.focusCondition(o))return;let n=e?new Rg:new pC;this._list.setSelection([i],n)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof Rg):this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],i=this._list.element(t);this._delegate.onFocus?.(i.item)}async onListHover(e){let t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){let i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};kg=ak([Eg(5,fr),Eg(6,ce),Eg(7,vR)],kg);function Mg(r){return r.replace(/\r\n|\r|\n/g," ")}var aN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},vC=function(r,e){return function(t,i){e(t,i,r)}};W("actionBar.toggledBackground",or,m(1657,"Background color for toggled action items in action bar."));var ms={Visible:new J("codeActionMenuVisible",!1,m(1658,"Whether the action widget list is visible"))},qo=St("actionWidgetService"),ps=class extends L{get isVisible(){return ms.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new we)}show(e,t,i,o,n,s,a,d){let l=ms.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(kg,e,t,i,o,d);this._contextViewService.showContextView({getAnchor:()=>n,render:h=>(l.set(!0),this._renderWidget(h,c,a??[])),onHide:h=>{l.reset(),this._onWidgetClosed(h)}},s,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(e){this._list.value?.hide(e),this._list.clear()}_renderWidget(e,t,i){let o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,this._list.value)o.appendChild(this._list.value.domNode);else throw new Error("List has no value");let n=new R,s=document.createElement("div"),a=e.appendChild(s);a.classList.add("context-view-block"),n.add(te(a,fe.MOUSE_DOWN,g=>g.stopPropagation()));let d=document.createElement("div"),l=e.appendChild(d);l.classList.add("context-view-pointerBlock"),n.add(te(l,fe.POINTER_MOVE,()=>l.remove())),n.add(te(l,fe.MOUSE_DOWN,()=>l.remove()));let c=0;if(i.length){let g=this._createActionBar(".action-widget-action-bar",i);g&&(o.appendChild(g.getContainer().parentElement),n.add(g),c=g.getContainer().offsetWidth)}let h=this._list.value?.layout(c);o.style.width=`${h}px`;let u=n.add(Ui(e));return n.add(u.onDidBlur(()=>this.hide(!0))),n}_createActionBar(e,t){if(!t.length)return;let i=F(e),o=new yo(i);return o.push(t,{icon:!1,label:!0}),o}_onWidgetClosed(e){this._list.value?.hide(e)}};ps=aN([vC(0,fr),vC(1,Y),vC(2,z)],ps);Ut(qo,ps,1);var Hl=1100;ge(class extends lt{constructor(){super({id:"hideCodeActionWidget",title:x(1659,"Hide action widget"),precondition:ms.Visible,keybinding:{weight:Hl,primary:9,secondary:[1033]}})}run(r){r.get(qo).hide(!0)}});ge(class extends lt{constructor(){super({id:"selectPrevCodeAction",title:x(1660,"Select previous action"),precondition:ms.Visible,keybinding:{weight:Hl,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(r){let e=r.get(qo);e instanceof ps&&e.focusPrevious()}});ge(class extends lt{constructor(){super({id:"selectNextCodeAction",title:x(1661,"Select next action"),precondition:ms.Visible,keybinding:{weight:Hl,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(r){let e=r.get(qo);e instanceof ps&&e.focusNext()}});ge(class extends lt{constructor(){super({id:fC,title:x(1662,"Accept selected action"),precondition:ms.Visible,keybinding:{weight:Hl,primary:3,secondary:[2137]}})}run(r){let e=r.get(qo);e instanceof ps&&e.acceptSelected()}});ge(class extends lt{constructor(){super({id:_C,title:x(1663,"Preview selected action"),precondition:ms.Visible,keybinding:{weight:Hl,primary:2051}})}run(r){let e=r.get(qo);e instanceof ps&&e.acceptSelected(!0)}});var dk=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},za=function(r,e){return function(t,i){e(t,i,r)}},bC,CC=class extends L{static{bC=this}static{this.baseId="editor.widget.postEditWidget"}constructor(e,t,i,o,n,s,a,d,l,c,h){super(),this.typeId=e,this.editor=t,this.showCommand=o,this.range=n,this.edits=s,this.onSelectNewEdit=a,this.additionalActions=d,this._keybindingService=c,this._actionWidgetService=h,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(l),this.visibleContext.set(!0),this._register(he(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(he((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(u=>{this.dispose()})),this._register(ke.runAndSubscribe(c.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){let e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=F(".post-edit-widget"),this.button=this._register(new fR(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(te(this.domNode,fe.CLICK,()=>this.showSelector()))}getId(){return bC.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=Ue(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show("postEditWidget",!1,this.edits.allEdits.map((i,o)=>({kind:"action",item:i,label:i.title,disabled:!1,canPreview:!1,group:{title:"",icon:ne.fromId(o===this.edits.activeEditIndex?U.check.id:U.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:i=>{this._actionWidgetService.hide(!1);let o=this.edits.allEdits.findIndex(n=>n===i);if(o!==this.edits.activeEditIndex)return this.onSelectNewEdit(o)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}};CC=bC=dk([za(8,Y),za(9,ce),za(10,qo)],CC);var Ua=class extends L{constructor(e,t,i,o,n,s,a,d){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=o,this._getAdditionalActions=n,this._instantiationService=s,this._bulkEditService=a,this._notificationService=d,this._currentWidget=this._register(new we),this._register(ke.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,o,n){if(!e.length||!this._editor.hasModel())return;let s=this._editor.getModel(),a=t.allEdits.at(t.activeEditIndex);if(!a)return;let d=async v=>{let w=this._editor.getModel();w&&(await w.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:v,allEdits:t.allEdits},i,o,n))},l=(v,w)=>{Bt(v)||(this._notificationService.error(w),i&&this.show(e[0],t,d))},c=new oo(this._editor,3,void 0,n),h;try{h=await nD(o(a,c.token),c.token)}catch(v){return l(v,m(937,`Error resolving edit '{0}':
|
|
@@ -8,7 +8,7 @@ import{$ as Uv,$a as bD,$b as WD,$c as li,$d as fa,$e as pl,$f as YE,$g as Ia,$h
|
|
|
8
8
|
`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};$C=Tk([Ss(0,jo)],$C);var am=class extends $a{constructor(e,t,i,o,n,s,a,d,l){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},s),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=n,this._instantiationService=s,this._peekViewService=a,this._uriLabel=d,this._keybindingService=l,this._disposeOnNewModel=new R,this._callOnDispose=new R,this._onDidSelectReference=new H,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Ce(0,0),this._isClosing=!1,this._applyTheme(o.getColorTheme()),this._callOnDispose.add(o.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),Ze(this._preview),Ze(this._previewNotAvailableMessage),Ze(this._tree),Ze(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){let t=e.getColor(kk)||se.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Rk)||se.transparent,primaryHeadingColor:e.getColor(Xg),secondaryHeadingColor:e.getColor(Qg)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=B(e,F("div.messages")),Wt(this._messageContainer),this._splitView=new RR(e,{orientation:1}),this._previewContainer=B(e,F("div.preview.inline"));let t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Di,this._previewContainer,t,{},this.editor),Wt(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Da,m(1084,"no preview available"),fu,Da.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=B(e,F("div.ref-tree.inline"));let i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new om,keyboardNavigationLabelProvider:this._instantiationService.createInstance(tm),identityProvider:new im,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:Mk},dnd:this._instantiationService.createInstance($C)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(wi(this._treeContainer,"keydown",n=>{n.equals(9)&&(this._keybindingService.dispatchEvent(n,n.target),n.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(GC,"ReferencesWidget",this._treeContainer,new em,[this._instantiationService.createInstance(Kl),this._instantiationService.createInstance(ql)],this._instantiationService.createInstance(Jg),i),this._splitView.addView({onDidChange:ke.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:n=>{this._preview.layout({height:this._dim.height,width:n})}},Pb.Distribute),this._splitView.addView({onDidChange:ke.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:n=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${n}px`,this._tree.layout(this._dim.height,n)}},Pb.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let o=(n,s)=>{n instanceof Ni&&(s==="show"&&this._revealReference(n,!1),this._onDidSelectReference.fire({element:n,kind:s,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(n=>{n.sideBySide?o(n.element,"side"):n.editorOptions.pinned?o(n.element,"goto"):o(n.element,"show")})),Wt(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Ce(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=m(1085,"No results"),Yt(this._messageContainer),Promise.resolve(void 0)):(Wt(this._messageContainer),this._decorationsManager=new qC(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{let{event:t,target:i}=e;if(t.detail!==2)return;let o=this._getFocusedReference();o&&this._onDidSelectReference.fire({element:{uri:o.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),Yt(this._treeContainer),Yt(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){let[e]=this._tree.getFocus();if(e instanceof Ni)return e;if(e instanceof Yo&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==at.inMemory?this.setTitle($D(e.uri),this._uriLabel.getUriLabel(ua(e.uri))):this.setTitle(m(1086,"References"));let i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));let o=await i;if(!this._model){o.dispose();return}Ze(this._previewModelReference);let n=o.object;if(n){let s=this._preview.getModel()===n.textEditorModel?0:1,a=C.lift(e.range).collapseToStart();this._previewModelReference=o,this._preview.setModel(n.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,s)}else this._preview.setModel(this._previewNotAvailableMessage),o.dispose()}};am=Tk([Ss(3,je),Ss(4,mt),Ss(5,z),Ss(6,BC),Ss(7,jo),Ss(8,ce)],am);var NN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Za=function(r,e){return function(t,i){e(t,i,r)}},dm,ws=new J("referenceSearchVisible",!1,m(1078,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'")),Dn=class{static{dm=this}static{this.ID="editor.contrib.referencesController"}static get(e){return e.getContribution(dm.ID)}constructor(e,t,i,o,n,s,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=o,this._notificationService=n,this._instantiationService=s,this._storageService=a,this._configurationService=d,this._disposables=new R,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ws.bindTo(i)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let o;if(this._widget&&(o=this._widget.position),this.closeWidget(),o&&e.containsPosition(o))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));let n="peekViewLayout",s=sm.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(am,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(m(1079,"Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(d=>{let{element:l,kind:c}=d;if(l)switch(c){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(l,!1,!1);break;case"side":this.openReference(l,!0,!1);break;case"goto":i?this._gotoReference(l,!0):this.openReference(l,!1,!0);break}}));let a=++this._requestIdPool;t.then(d=>{if(a!==this._requestIdPool||!this._widget){d.dispose();return}return this._model?.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(m(1080,"{0} ({1})",this._model.title,this._model.references.length));let l=this._editor.getModel().uri,c=new P(e.startLineNumber,e.startColumn),h=this._model.nearestReference(l,c);if(h)return this._widget.setSelection(h).then(()=>{this._widget&&this._editor.getOption(99)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;let t=this._widget.position;if(!t)return;let i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;let o=this._model.nextOrPreviousReference(i,e),n=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();await this._widget.setSelection(o),await this._gotoReference(o,!1),n?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;let i=C.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(o=>{if(this._ignoreModelChangeEvent=!1,!o||!this._widget){this.closeWidget();return}if(this._editor===o)this._widget.show(i),this._widget.focusOnReferenceTree();else{let n=dm.get(o),s=this._model.clone();this.closeWidget(),o.focus(),n?.toggleWidget(i,Oe(a=>Promise.resolve(s)),this._peekMode??!1)}},o=>{this._ignoreModelChangeEvent=!1,ae(o)})}openReference(e,t,i){t||this.closeWidget();let{uri:o,range:n}=e;this._editorService.openCodeEditor({resource:o,options:{selection:n,selectionSource:"code.jump",pinned:i}},this._editor,t)}};Dn=dm=NN([Za(2,Y),Za(3,ve),Za(4,ze),Za(5,z),Za(6,vt),Za(7,oe)],Dn);function ys(r,e){let t=$g(r);if(!t)return;let i=Dn.get(t);i&&e(i)}di.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ve(2089,60),when:k.or(ws,Ft.inPeekEditor),handler(r){ys(r,e=>{e.changeFocusBetweenPreviewAndReferences()})}});di.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:k.or(ws,Ft.inPeekEditor),handler(r){ys(r,e=>{e.goToNextOrPreviousReference(!0)})}});di.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:k.or(ws,Ft.inPeekEditor),handler(r){ys(r,e=>{e.goToNextOrPreviousReference(!1)})}});me.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");me.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");me.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");me.registerCommand("closeReferenceSearch",r=>ys(r,e=>e.closeWidget()));di.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:k.and(Ft.inPeekEditor,k.not("config.editor.stablePeek"))});di.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:k.and(ws,k.not("config.editor.stablePeek"),k.or(S.editorTextFocus,MR.negate()))});di.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:k.and(ws,Ab,Fb.negate(),Hb.negate()),handler(r){let t=r.get(og).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Ni&&ys(r,i=>i.revealReference(t[0]))}});di.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:k.and(ws,Ab,Fb.negate(),Hb.negate()),handler(r){let t=r.get(og).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Ni&&ys(r,i=>i.openReference(t[0],!0,!0))}});me.registerCommand("openReference",r=>{let t=r.get(og).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Ni&&ys(r,i=>i.openReference(t[0],!1,!0))});var Nk=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gl=function(r,e){return function(t,i){e(t,i,r)}},XC=new J("hasSymbols",!1,m(1095,"Whether there are symbol locations that can be navigated via keyboard-only.")),$l=St("ISymbolNavigationService"),ZC=class{constructor(e,t,i,o){this._editorService=t,this._notificationService=i,this._keybindingService=o,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=XC.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put(e){let t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();let i=new YC(this._editorService),o=i.onDidChange(n=>{if(this._ignoreEditorChange)return;let s=this._editorService.getActiveCodeEditor();if(!s)return;let a=s.getModel(),d=s.getPosition();if(!a||!d)return;let l=!1,c=!1;for(let h of t.references)if(Ji(h.uri,a.uri))l=!0,c=c||C.containsPosition(h.range,d);else if(l)break;(!l||!c)&&this.reset()});this._currentState=Vv(i,o)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:C.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?m(1096,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):m(1097,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};ZC=Nk([Gl(0,Y),Gl(1,ve),Gl(2,ze),Gl(3,ce)],ZC);Ut($l,ZC,1);q(new class extends Ye{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:XC,kbOpts:{weight:100,primary:70}})}runEditorCommand(r,e){return r.get($l).revealNext(e)}});di.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:XC,primary:9,handler(r){r.get($l).reset()}});var YC=class{constructor(e){this._listener=new Map,this._disposables=new R,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Ze(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,Vv(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){this._listener.get(e)?.dispose(),this._listener.delete(e)}};YC=Nk([Gl(0,ve)],YC);function QC(r,e){return e.uri.scheme===r.uri.scheme?!0:!pD(e.uri,at.walkThroughSnippet,at.vscodeChatCodeBlock,at.vscodeChatCodeCompareBlock)}async function Zl(r,e,t,i,o){let s=t.ordered(r,i).map(d=>Promise.resolve(o(d,r,e)).then(void 0,l=>{_e(l)})),a=await Promise.all(s);return si(a.flat()).filter(d=>QC(r,d))}function yr(r,e,t,i,o){return Zl(e,t,r,i,(n,s,a)=>n.provideDefinition(s,a,o))}function lm(r,e,t,i,o){return Zl(e,t,r,i,(n,s,a)=>n.provideDeclaration(s,a,o))}function cm(r,e,t,i,o){return Zl(e,t,r,i,(n,s,a)=>n.provideImplementation(s,a,o))}function hm(r,e,t,i,o){return Zl(e,t,r,i,(n,s,a)=>n.provideTypeDefinition(s,a,o))}function Ya(r,e,t,i,o,n){return Zl(e,t,r,o,async(s,a,d)=>{let l=(await s.provideReferences(a,d,{includeDeclaration:!0},n))?.filter(h=>QC(a,h));if(!i||!l||l.length!==2)return l;let c=(await s.provideReferences(a,d,{includeDeclaration:!1},n))?.filter(h=>QC(a,h));return c&&c.length===1?c:l})}async function Xo(r){let e=await r(),t=new mi(e,""),i=t.references.map(o=>o.link);return t.dispose(),i}Lt("_executeDefinitionProvider",(r,e,t)=>{let i=r.get(O),o=yr(i.definitionProvider,e,t,!1,Q.None);return Xo(()=>o)});Lt("_executeDefinitionProvider_recursive",(r,e,t)=>{let i=r.get(O),o=yr(i.definitionProvider,e,t,!0,Q.None);return Xo(()=>o)});Lt("_executeTypeDefinitionProvider",(r,e,t)=>{let i=r.get(O),o=hm(i.typeDefinitionProvider,e,t,!1,Q.None);return Xo(()=>o)});Lt("_executeTypeDefinitionProvider_recursive",(r,e,t)=>{let i=r.get(O),o=hm(i.typeDefinitionProvider,e,t,!0,Q.None);return Xo(()=>o)});Lt("_executeDeclarationProvider",(r,e,t)=>{let i=r.get(O),o=lm(i.declarationProvider,e,t,!1,Q.None);return Xo(()=>o)});Lt("_executeDeclarationProvider_recursive",(r,e,t)=>{let i=r.get(O),o=lm(i.declarationProvider,e,t,!0,Q.None);return Xo(()=>o)});Lt("_executeReferenceProvider",(r,e,t)=>{let i=r.get(O),o=Ya(i.referenceProvider,e,t,!1,!1,Q.None);return Xo(()=>o)});Lt("_executeReferenceProvider_recursive",(r,e,t)=>{let i=r.get(O),o=Ya(i.referenceProvider,e,t,!1,!0,Q.None);return Xo(()=>o)});Lt("_executeImplementationProvider",(r,e,t)=>{let i=r.get(O),o=cm(i.implementationProvider,e,t,!1,Q.None);return Xo(()=>o)});Lt("_executeImplementationProvider_recursive",(r,e,t)=>{let i=r.get(O),o=cm(i.implementationProvider,e,t,!0,Q.None);return Xo(()=>o)});Xt.appendMenuItem(j.EditorContext,{submenu:j.EditorContextPeek,title:m(1038,"Peek"),group:"navigation",order:100});var xs=class r{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof r||P.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}},Qo=class r extends ci{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return r._allSymbolNavigationCommands.values()}static _patchConfig(e){let t={...e,f1:!0};if(t.menu)for(let i of ki.wrap(t.menu))(i.id===j.EditorContext||i.id===j.EditorContextPeek)&&(i.when=k.and(e.precondition,i.when));return t}constructor(e,t){super(r._patchConfig(t)),this.configuration=e,r._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,o){if(!t.hasModel())return Promise.resolve(void 0);let n=e.get(ze),s=e.get(ve),a=e.get(Bo),d=e.get($l),l=e.get(O),c=e.get(z),h=t.getModel(),u=t.getPosition(),g=xs.is(i)?i:new xs(h,u),p=new oo(t,5),f=mo(this._getLocationModel(l,g.model,g.position,p.token),p.token).then(async _=>{if(!_||p.token.isCancellationRequested)return;Ct(_.ariaMessage);let v;if(_.referenceAt(h.uri,u)){let I=this._getAlternativeCommand(t);I!==void 0&&!r._activeAlternativeCommands.has(I)&&r._allSymbolNavigationCommands.has(I)&&(v=r._allSymbolNavigationCommands.get(I))}let w=_.references.length;if(w===0){if(!this.configuration.muteMessage){let I=h.getWordAtPosition(u);Pt.get(t)?.showMessage(this._getNoResultFoundMessage(I),u)}}else if(w===1&&v)r._activeAlternativeCommands.add(this.desc.id),c.invokeFunction(I=>v.runEditorCommand(I,t,i,o).finally(()=>{r._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(s,d,t,_,o)},_=>{n.error(_)}).finally(()=>{p.dispose()});return a.showWhile(f,250),f}async _onResult(e,t,i,o,n){let s=this._getGoToPreference(i);if(!(i instanceof Di)&&(this.configuration.openInPeek||s==="peek"&&o.references.length>1))this._openInPeek(i,o,n);else{let a=o.firstReference(),d=o.references.length>1&&s==="gotoAndPeek",l=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&l?this._openInPeek(l,o,n):o.dispose(),s==="goto"&&t.put(a)}}async _openReference(e,t,i,o,n){let s;if(a0(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;let a=await t.openCodeEditor({resource:i.uri,options:{selection:C.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,o);if(a){if(n){let d=a.getModel(),l=a.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&l.clear()},350)}return a}}_openInPeek(e,t,i){let o=Dn.get(e);o&&e.hasModel()?o.toggleWidget(i??e.getSelection(),Oe(n=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}},En=class extends Qo{async _getLocationModel(e,t,i,o){return new mi(await yr(e.definitionProvider,t,i,!1,o),m(1039,"Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?m(1040,"No definition found for '{0}'",e.word):m(1041,"No definition found")}_getAlternativeCommand(e){return e.getOption(67).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleDefinitions}};ge(class JC extends En{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:JC.id,title:{...x(1065,"Go to Definition"),mnemonicTitle:m(1042,"Go to &&Definition")},precondition:S.hasDefinitionProvider,keybinding:[{when:S.editorTextFocus,primary:70,weight:100},{when:k.and(S.editorTextFocus,Ob),primary:2118,weight:100}],menu:[{id:j.EditorContext,group:"navigation",order:1.1},{id:j.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),me.registerCommandAlias("editor.action.goToDeclaration",JC.id)}});ge(class eS extends En{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:eS.id,title:x(1066,"Open Definition to the Side"),precondition:k.and(S.hasDefinitionProvider,S.isInEmbeddedEditor.toNegated()),keybinding:[{when:S.editorTextFocus,primary:Ve(2089,70),weight:100},{when:k.and(S.editorTextFocus,Ob),primary:Ve(2089,2118),weight:100}]}),me.registerCommandAlias("editor.action.openDeclarationToTheSide",eS.id)}});ge(class tS extends En{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:tS.id,title:x(1067,"Peek Definition"),precondition:k.and(S.hasDefinitionProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),keybinding:{when:S.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:j.EditorContextPeek,group:"peek",order:2}}),me.registerCommandAlias("editor.action.previewDeclaration",tS.id)}});var um=class extends Qo{async _getLocationModel(e,t,i,o){return new mi(await lm(e.declarationProvider,t,i,!1,o),m(1043,"Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?m(1044,"No declaration found for '{0}'",e.word):m(1045,"No declaration found")}_getAlternativeCommand(e){return e.getOption(67).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(67).multipleDeclarations}};ge(class Pk extends um{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Pk.id,title:{...x(1068,"Go to Declaration"),mnemonicTitle:m(1046,"Go to &&Declaration")},precondition:k.and(S.hasDeclarationProvider,S.isInEmbeddedEditor.toNegated()),menu:[{id:j.EditorContext,group:"navigation",order:1.3},{id:j.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?m(1047,"No declaration found for '{0}'",e.word):m(1048,"No declaration found")}});ge(class extends um{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:x(1069,"Peek Declaration"),precondition:k.and(S.hasDeclarationProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),menu:{id:j.EditorContextPeek,group:"peek",order:3}})}});var gm=class extends Qo{async _getLocationModel(e,t,i,o){return new mi(await hm(e.typeDefinitionProvider,t,i,!1,o),m(1049,"Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?m(1050,"No type definition found for '{0}'",e.word):m(1051,"No type definition found")}_getAlternativeCommand(e){return e.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleTypeDefinitions}};ge(class Ok extends gm{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ok.ID,title:{...x(1070,"Go to Type Definition"),mnemonicTitle:m(1052,"Go to &&Type Definition")},precondition:S.hasTypeDefinitionProvider,keybinding:{when:S.editorTextFocus,primary:0,weight:100},menu:[{id:j.EditorContext,group:"navigation",order:1.4},{id:j.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}});ge(class Ak extends gm{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ak.ID,title:x(1071,"Peek Type Definition"),precondition:k.and(S.hasTypeDefinitionProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),menu:{id:j.EditorContextPeek,group:"peek",order:4}})}});var mm=class extends Qo{async _getLocationModel(e,t,i,o){return new mi(await cm(e.implementationProvider,t,i,!1,o),m(1053,"Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?m(1054,"No implementation found for '{0}'",e.word):m(1055,"No implementation found")}_getAlternativeCommand(e){return e.getOption(67).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(67).multipleImplementations}};ge(class Fk extends mm{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Fk.ID,title:{...x(1072,"Go to Implementations"),mnemonicTitle:m(1056,"Go to &&Implementations")},precondition:S.hasImplementationProvider,keybinding:{when:S.editorTextFocus,primary:2118,weight:100},menu:[{id:j.EditorContext,group:"navigation",order:1.45},{id:j.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}});ge(class Hk extends mm{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Hk.ID,title:x(1073,"Peek Implementations"),precondition:k.and(S.hasImplementationProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),keybinding:{when:S.editorTextFocus,primary:3142,weight:100},menu:{id:j.EditorContextPeek,group:"peek",order:5}})}});var pm=class extends Qo{_getNoResultFoundMessage(e){return e?m(1057,"No references found for '{0}'",e.word):m(1058,"No references found")}_getAlternativeCommand(e){return e.getOption(67).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(67).multipleReferences}};ge(class extends pm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...x(1074,"Go to References"),mnemonicTitle:m(1059,"Go to &&References")},precondition:k.and(S.hasReferenceProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),keybinding:{when:S.editorTextFocus,primary:1094,weight:100},menu:[{id:j.EditorContext,group:"navigation",order:1.45},{id:j.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,o){return new mi(await Ya(e.referenceProvider,t,i,!0,!1,o),m(1060,"References"))}});ge(class extends pm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:x(1075,"Peek References"),precondition:k.and(S.hasReferenceProvider,Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated()),menu:{id:j.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,o){return new mi(await Ya(e.referenceProvider,t,i,!1,!1,o),m(1061,"References"))}});var iS=class extends Qo{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:x(1076,"Go to Any Symbol"),precondition:k.and(Ft.notInPeekEditor,S.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,o){return new mi(this._references,m(1062,"Locations"))}_getNoResultFoundMessage(e){return e&&m(1063,"No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(67).multipleReferences}_getAlternativeCommand(){}};me.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:re},{name:"position",description:"The position at which to start",constraint:P.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(r,e,t,i,o,n,s)=>{le(re.isUri(e)),le(P.isIPosition(t)),le(Array.isArray(i)),le(typeof o>"u"||typeof o=="string"),le(typeof s>"u"||typeof s=="boolean");let a=r.get(ve),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(Nb(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(l=>{let c=new class extends iS{_getNoResultFoundMessage(h){return n||super._getNoResultFoundMessage(h)}}({muteMessage:!n,openInPeek:!!s,openToSide:!1},i,o);l.get(z).invokeFunction(c.run.bind(c),d)})}});me.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:re},{name:"position",description:"The position at which to start",constraint:P.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(r,e,t,i,o)=>{r.get(De).executeCommand("editor.action.goToLocations",e,t,i,o,void 0,!0)}});me.registerCommand({id:"editor.action.findReferences",handler:(r,e,t)=>{le(re.isUri(e)),le(P.isIPosition(t));let i=r.get(O),o=r.get(ve);return o.openCodeEditor({resource:e},o.getFocusedCodeEditor()).then(n=>{if(!Nb(n)||!n.hasModel())return;let s=Dn.get(n);if(!s)return;let a=Oe(l=>Ya(i.referenceProvider,n.getModel(),P.lift(t),!1,!1,l).then(c=>new mi(c,m(1064,"References")))),d=new C(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(s.toggleWidget(d,a,!1))})}});me.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var Wk=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},fm=function(r,e){return function(t,i){e(t,i,r)}},_m=class{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}},oS=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._dispoables=new R,this._markers=[],this._nextIdx=-1,re.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);let o=this._configService.getValue("problems.sortOrder"),n=(a,d)=>{let l=jv(a.resource.toString(),d.resource.toString());return l===0&&(o==="position"?l=C.compareRangesUsingStarts(a,d)||Nt.compare(a.severity,d.severity):l=Nt.compare(a.severity,d.severity)||C.compareRangesUsingStarts(a,d)),l},s=()=>{let a=this._markerService.read({resource:re.isUri(e)?e:void 0,severities:Nt.Error|Nt.Warning|Nt.Info});return typeof e=="function"&&(a=a.filter(d=>this._resourceFilter(d.resource))),a.sort(n),Zt(a,this._markers,(d,l)=>d.resource.toString()===l.resource.toString()&&d.startLineNumber===l.startLineNumber&&d.startColumn===l.startColumn&&d.endLineNumber===l.endLineNumber&&d.endColumn===l.endColumn&&d.severity===l.severity&&d.message===l.message)?!1:(this._markers=a,!0)};s(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(d=>this._resourceFilter(d)))&&s()&&(this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){let e=this._markers[this._nextIdx];return e&&new _m(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let o=this._markers.findIndex(n=>Ji(n.resource,e.uri));if(o<0)o=fD(this._markers.length,n=>jv(this._markers[n].resource.toString(),e.uri.toString())),o<0&&(o=~o),i?this._nextIdx=o:this._nextIdx=(this._markers.length+o-1)%this._markers.length;else{let n=!1,s=!1;for(let a=o;a<this._markers.length;a++){let d=C.lift(this._markers[a]);if(d.isEmpty()){let l=e.getWordAtPosition(d.getStartPosition());l&&(d=new C(d.startLineNumber,l.startColumn,d.startLineNumber,l.endColumn))}if(t&&(d.containsPosition(t)||t.isBeforeOrEqual(d.getStartPosition()))){this._nextIdx=a,n=!0,s=!d.containsPosition(t);break}if(this._markers[a].resource.toString()!==e.uri.toString())break}n?s&&!i&&(this._nextIdx-=1):this._nextIdx=i?0:this._markers.length-1}this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;let o=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),o!==this._nextIdx}find(e,t){let i=this._markers.findIndex(o=>o.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(C.containsPosition(this._markers[i],t))return new _m(this._markers[i],i+1,this._markers.length)}}};oS=Wk([fm(1,Ll),fm(2,oe)],oS);var rS=St("IMarkerNavigationService"),nS=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new Qh}getMarkerList(e){for(let t of this._provider){let i=t.getMarkerList(e);if(i)return i}return new oS(e,this._markerService,this._configService)}};nS=Wk([fm(0,Ll),fm(1,oe)],nS);Ut(rS,nS,1);var vm;(function(r){function e(t){switch(t){case wl.Ignore:return"severity-ignore "+ne.asClassName(U.info);case wl.Info:return ne.asClassName(U.info);case wl.Warning:return ne.asClassName(U.warning);case wl.Error:return ne.asClassName(U.error);default:return""}}r.className=e})(vm||(vm={}));var PN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xa=function(r,e){return function(t,i){e(t,i,r)}},sS,aS=class{constructor(e,t,i,o,n){this._openerService=o,this._labelService=n,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new R,this._editor=t;let s=document.createElement("div");s.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(wi(this._relatedBlock,"click",a=>{a.preventDefault();let d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new XE(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{s.style.left=`-${a.scrollLeft}px`,s.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){Ze(this._disposables)}update(e){let{source:t,message:i,relatedInformation:o,code:n}=e,s=(t?.length||0)+2;n&&(typeof n=="string"?s+=n.length:s+=n.value.length);let a=ri(i);this._lines=a.length,this._longestLineLength=0;for(let u of a)this._longestLineLength=Math.max(u.length+s,this._longestLineLength);Si(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(let u of a)d=document.createElement("div"),d.innerText=u,u===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||n){let u=document.createElement("span");if(u.classList.add("details"),d.appendChild(u),t){let g=document.createElement("span");g.innerText=t,g.classList.add("source"),u.appendChild(g)}if(n)if(typeof n=="string"){let g=document.createElement("span");g.innerText=`(${n})`,g.classList.add("code"),u.appendChild(g)}else{this._codeLink=F("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=p=>{this._openerService.open(n.target,{allowCommands:!0}),p.preventDefault(),p.stopPropagation()};let g=B(this._codeLink,F("span"));g.innerText=n.value,u.appendChild(this._codeLink)}}if(Si(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),ut(o)){let u=this._relatedBlock.appendChild(document.createElement("div"));u.style.paddingTop=`${Math.floor(this._editor.getOption(75)*.66)}px`,this._lines+=1;for(let g of o){let p=document.createElement("div"),f=document.createElement("a");f.classList.add("filename"),f.innerText=`${this._labelService.getUriBasenameLabel(g.resource)}(${g.startLineNumber}, ${g.startColumn}): `,f.title=this._labelService.getUriLabel(g.resource),this._relatedDiagnostics.set(f,g);let _=document.createElement("span");_.innerText=g.message,p.appendChild(f),p.appendChild(_),this._lines+=1,u.appendChild(p)}}let l=this._editor.getOption(59),c=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),h=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:c,scrollHeight:h})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Nt.Error:t=m(1024,"Error");break;case Nt.Warning:t=m(1025,"Warning");break;case Nt.Info:t=m(1026,"Info");break;case Nt.Hint:t=m(1027,"Hint");break}let i=m(1028,"{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn),o=this._editor.getModel();return o&&e.startLineNumber<=o.getLineCount()&&e.startLineNumber>=1&&(i=`${o.getLineContent(e.startLineNumber)}, ${i}`),i}},Qa=class extends $a{static{sS=this}static{this.TitleMenu=new j("gotoErrorTitleMenu")}constructor(e,t,i,o,n,s,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=t,this._openerService=i,this._menuService=o,this._contextKeyService=s,this._labelService=a,this._callOnDispose=new R,this._onDidSelectRelatedInformation=new H,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Nt.Warning,this._backgroundColor=se.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(HN);let t=dS,i=ON;this._severity===Nt.Warning?(t=bm,i=AN):this._severity===Nt.Info&&(t=lS,i=FN);let o=e.getColor(t),n=e.getColor(i);this.style({arrowColor:o,frameColor:o,headerBackgroundColor:n,primaryHeadingColor:e.getColor(Xg),secondaryHeadingColor:e.getColor(Qg)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(o=>this.editor.focus()));let t=this._menuService.getMenuActions(sS.TitleMenu,this._contextKeyService),i=J0(t);this._actionbarWidget.push(i,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=B(e,F(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new aS(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());let o=C.lift(e),n=this.editor.getPosition(),s=n&&o.containsPosition(n)?n:o.getStartPosition();super.show(s,this.computeRequiredHeight());let a=this.editor.getModel();if(a){let d=i>1?m(1029,"{0} of {1} problems",t,i):m(1030,"{0} of {1} problem",t,i);this.setTitle(li(a.uri),d)}this._icon.className=`codicon ${vm.className(Nt.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};Qa=sS=PN([Xa(1,je),Xa(2,Uo),Xa(3,bo),Xa(4,z),Xa(5,Y),Xa(6,jo)],Qa);var Bk=yu(wE,yE),Vk=yu(xE,IE),zk=yu(pl,LE),dS=W("editorMarkerNavigationError.background",{dark:Bk,light:Bk,hcDark:to,hcLight:to},m(1031,"Editor marker navigation widget error color.")),ON=W("editorMarkerNavigationError.headerBackground",{dark:Qe(dS,.1),light:Qe(dS,.1),hcDark:null,hcLight:null},m(1032,"Editor marker navigation widget error heading background.")),bm=W("editorMarkerNavigationWarning.background",{dark:Vk,light:Vk,hcDark:to,hcLight:to},m(1033,"Editor marker navigation widget warning color.")),AN=W("editorMarkerNavigationWarning.headerBackground",{dark:Qe(bm,.1),light:Qe(bm,.1),hcDark:"#0C141F",hcLight:Qe(bm,.2)},m(1034,"Editor marker navigation widget warning heading background.")),lS=W("editorMarkerNavigationInfo.background",{dark:zk,light:zk,hcDark:to,hcLight:to},m(1035,"Editor marker navigation widget info color.")),FN=W("editorMarkerNavigationInfo.headerBackground",{dark:Qe(lS,.1),light:Qe(lS,.1),hcDark:null,hcLight:null},m(1036,"Editor marker navigation widget info heading background.")),HN=W("editorMarkerNavigation.background",ft,m(1037,"Editor marker navigation widget background."));var WN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Cm=function(r,e){return function(t,i){e(t,i,r)}},Yl,xr=class{static{Yl=this}static{this.ID="editor.contrib.markerController"}static get(e){return e.getContribution(Yl.ID)}constructor(e,t,i,o,n){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=o,this._instantiationService=n,this._sessionDispoables=new R,this._editor=e,this._widgetVisible=Uk.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Qa,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{(!this._model?.selected||!C.containsPosition(this._model?.selected.marker,i.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:C.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=this._getOrCreateModel(t.uri);i.resetIndex(),i.move(!0,t,new P(e.startLineNumber,e.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}async navigate(e,t){if(!this._editor.hasModel())return;let i=this._editor.getModel(),o=this._getOrCreateModel(t?void 0:i.uri);if(o.move(e,i,this._editor.getPosition()),!!o.selected)if(o.selected.marker.resource.toString()!==i.uri.toString()){this._cleanUp();let n=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);n&&(Yl.get(n)?.close(),Yl.get(n)?.navigate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}};xr=Yl=WN([Cm(1,rS),Cm(2,Y),Cm(3,ve),Cm(4,z)],xr);var Ja=class extends M{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&await xr.get(t)?.navigate(this._next,this._multiFile)}},Xl=class r extends Ja{static{this.ID="editor.action.marker.next"}static{this.LABEL=x(1020,"Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:r.ID,label:r.LABEL,precondition:void 0,kbOpts:{kbExpr:S.focus,primary:578,weight:100},menuOpts:{menuId:Qa.TitleMenu,title:r.LABEL.value,icon:Ae("marker-navigation-next",U.arrowDown,m(1016,"Icon for goto next marker.")),group:"navigation",order:1}})}},cS=class r extends Ja{static{this.ID="editor.action.marker.prev"}static{this.LABEL=x(1021,"Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:r.ID,label:r.LABEL,precondition:void 0,kbOpts:{kbExpr:S.focus,primary:1602,weight:100},menuOpts:{menuId:Qa.TitleMenu,title:r.LABEL.value,icon:Ae("marker-navigation-previous",U.arrowUp,m(1017,"Icon for goto previous marker.")),group:"navigation",order:2}})}},hS=class extends Ja{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:x(1022,"Go to Next Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:S.focus,primary:66,weight:100},menuOpts:{menuId:j.MenubarGoMenu,title:m(1018,"Next &&Problem"),group:"6_problem_nav",order:1}})}},uS=class extends Ja{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:x(1023,"Go to Previous Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:S.focus,primary:1090,weight:100},menuOpts:{menuId:j.MenubarGoMenu,title:m(1019,"Previous &&Problem"),group:"6_problem_nav",order:2}})}};K(xr.ID,xr,4);D(Xl);D(cS);D(hS);D(uS);var Uk=new J("markersNavigationVisible",!1),BN=Ye.bindToContribution(xr.get);q(new BN({id:"closeMarkersNavigation",precondition:Uk,handler:r=>r.close(),kbOpts:{weight:150,kbExpr:S.focus,primary:9,secondary:[1033]}}));var ed=class{constructor(e,t,i,o){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=o,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}},Rn=class{constructor(e,t,i,o,n,s){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=o,this.initialMousePosY=n,this.supportsMarkerHover=s,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}},Pi=class{constructor(e,t){this.renderedHoverParts=e,this.disposables=t}dispose(){for(let e of this.renderedHoverParts)e.dispose();this.disposables?.dispose()}},Zi=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var jk=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gS=function(r,e){return function(t,i){e(t,i,r)}},Is=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){let o=t.range,n=t.color,s=n.alpha,a=new se(new Co(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),s)),d=s?se.Format.CSS.formatRGBA(a):se.Format.CSS.formatRGB(a),l=s?se.Format.CSS.formatHSLA(a):se.Format.CSS.formatHSL(a),c=s?se.Format.CSS.formatHexA(a):se.Format.CSS.formatHex(a),h=[];return h.push({label:d,textEdit:{range:o,text:d}}),h.push({label:l,textEdit:{range:o,text:l}}),h.push({label:c,textEdit:{range:o,text:c}}),h}};Is=jk([gS(0,ui)],Is);var Sm=class extends L{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Is(t)))}};Sm=jk([gS(0,O),gS(1,ui)],Sm);async function xm(r,e,t,i="auto"){return Im(new mS,r,e,t,i)}function pS(r,e,t,i){return Promise.resolve(t.provideColorPresentations(r,e,i))}var mS=class{constructor(){}async compute(e,t,i,o){let n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(let s of n)o.push({colorInfo:s,provider:e});return Array.isArray(n)}},wm=class{constructor(){}async compute(e,t,i,o){let n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(let s of n)o.push({range:s.range,color:[s.color.red,s.color.green,s.color.blue,s.color.alpha]});return Array.isArray(n)}},ym=class{constructor(e){this.colorInfo=e}async compute(e,t,i,o){let n=await e.provideColorPresentations(t,this.colorInfo,Q.None);return Array.isArray(n)&&o.push(...n),Array.isArray(n)}};async function Im(r,e,t,i,o){let n=!1,s,a=[],d=e.ordered(t);for(let l=d.length-1;l>=0;l--){let c=d[l];if(o!=="always"&&c instanceof Is)s=c;else try{await r.compute(c,t,i,a)&&(n=!0)}catch(h){_e(h)}}return n?a:s&&o!=="never"?(await r.compute(s,t,i,a),a):[]}function fS(r,e){let{colorProvider:t}=r.get(O),i=r.get(gt).getModel(e);if(!i)throw Ri();let o=r.get(oe).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,defaultColorDecoratorsEnablement:o}}var VN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},_S=function(r,e){return function(t,i){e(t,i,r)}},vS,CS=Object.create({}),kn=class extends L{static{vS=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}constructor(e,t,i,o){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new R),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new bS),this._colorDecorationClassRefs=this._register(new R),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new Mu(this._editor)),this._debounceInformation=o.for(i.colorProvider,"Document Colors",{min:vS.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(n=>{let s=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(167);let a=s!==this._isColorDecoratorsEnabled||n.hasChanged(27),d=n.hasChanged(167);(a||d)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(167),this.updateColors()}isEnabled(){let e=this._editor.getModel();if(!e)return!1;let t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){let o=i.colorDecorators;if(o&&o.enable!==void 0&&!o.enable)return o.enable}return this._editor.getOption(26)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;let e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new To,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Oe(async e=>{let t=this._editor.getModel();if(!t)return[];let i=new st(!1),o=await xm(this._languageFeaturesService.colorProvider,t,e,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(t,i.elapsed()),o});try{let e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){ae(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){let t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:X.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((o,n)=>this._colorDatas.set(o,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],i=this._editor.getOption(27);for(let n=0;n<e.length&&t.length<i;n++){let{red:s,green:a,blue:d,alpha:l}=e[n].colorInfo.color,c=new Co(Math.round(s*255),Math.round(a*255),Math.round(d*255),l),h=`rgba(${c.r}, ${c.g}, ${c.b}, ${c.a})`,u=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:h}));t.push({range:{startLineNumber:e[n].colorInfo.range.startLineNumber,startColumn:e[n].colorInfo.range.startColumn,endLineNumber:e[n].colorInfo.range.endLineNumber,endColumn:e[n].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:eu,inlineClassName:`${u.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:CS}}})}let o=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,o),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){let t=this._editor.getModel();if(!t)return null;let i=t.getDecorationsInRange(C.fromPositions(e,e)).filter(o=>this._colorDatas.has(o.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};kn=vS=VN([_S(1,oe),_S(2,O),_S(3,bt)],kn);var bS=class extends L{constructor(){super(...arguments),this._onDidChange=this._register(new H),this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}};var Lm="editor.action.showHover",Kk="editor.action.showDefinitionPreviewHover",qk="editor.action.hideHover",Gk="editor.action.scrollUpHover",$k="editor.action.scrollDownHover",Zk="editor.action.scrollLeftHover",Yk="editor.action.scrollRightHover",Xk="editor.action.pageUpHover",Qk="editor.action.pageDownHover",Jk="editor.action.goToTopHover",e1="editor.action.goToBottomHover",Ls="editor.action.increaseHoverVerbosityLevel",t1=m(1102,"Increase Hover Verbosity Level"),Ds="editor.action.decreaseHoverVerbosityLevel",i1=m(1103,"Decrease Hover Verbosity Level");var Ir="editor.action.inlineSuggest.commit",Dm="editor.action.inlineSuggest.showPrevious",Em="editor.action.inlineSuggest.showNext",o1="editor.action.inlineSuggest.jump",Rm="editor.action.inlineSuggest.hide",Ql="editor.action.inlineSuggest.toggleShowCollapsed";var xS=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ao=function(r,e){return function(t,i){e(t,i,r)}},km,Mm=class extends L{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=dt(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar==="always"),this.sessionPosition=void 0,this.position=T(this,o=>{let n=this.model.read(o)?.primaryGhostText.read(o);if(!this.alwaysShowToolbar.read(o)||!n||n.parts.length===0)return this.sessionPosition=void 0,null;let s=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);let a=new P(n.lineNumber,Math.min(s,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(bi((o,n)=>{let s=this.model.read(o);if(!s||!this.alwaysShowToolbar.read(o))return;let a=T(l=>{let c=l.store.add(this.instantiationService.createInstance(Mn.hot.read(l),this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands,s.warning,()=>{}));return e.addContentWidget(c),l.store.add(he(()=>e.removeContentWidget(c))),l.store.add(ue(h=>{this.position.read(h)&&s.lastTriggerKind.read(h)!==jt.Explicit&&s.triggerExplicitly()})),c}),d=ai(this,(l,c)=>!!this.position.read(l)||!!c);n.add(ue(l=>{d.read(l)&&a.read(l)}))}))}};Mm=xS([ao(2,z)],Mm);var zN=Ae("inline-suggestion-hints-next",U.chevronRight,m(1207,"Icon for show next parameter hint.")),UN=Ae("inline-suggestion-hints-previous",U.chevronLeft,m(1208,"Icon for show previous parameter hint.")),Mn=class extends L{static{km=this}static{this.hot=cr(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,i){let o=new Po(e,t,i,!0,()=>this._commandService.executeCommand(e)),n=this.keybindingService.lookupKeybinding(e,this._contextKeyService),s=t;return n&&(s=m(1209,"{0} ({1})",t,n.getLabel())),o.tooltip=s,o}constructor(e,t,i,o,n,s,a,d,l,c,h,u,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=o,this._suggestionCount=n,this._extraCommands=s,this._warning=a,this._relayout=d,this._commandService=l,this.keybindingService=h,this._contextKeyService=u,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${km.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=T(p=>{let f=this._warning.read(p);return f?typeof f.message=="string"?f.message:p.store.add(Gu(f.message)).element:void 0}),this._warningMessageNode=Z.div({class:"warningMessage",style:{maxWidth:400,margin:4,marginBottom:4,display:T(p=>this._warning.read(p)?"block":"none")}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Jn("div.inlineSuggestionsHints",{className:this.withBorder?"monaco-hover monaco-hover-content":""},[this._warningMessageNode.element,Jn("div@toolBar")]),this.previousAction=this._register(this.createCommandAction(Dm,m(1210,"Previous"),ne.asClassName(UN))),this.availableSuggestionCountAction=this._register(new Po("inlineSuggestionHints.availableSuggestionCount","",void 0,!1)),this.nextAction=this._register(this.createCommandAction(Em,m(1211,"Next"),ne.asClassName(zN))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(j.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Le(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Le(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(ue(p=>{this._warningMessageContentNode.read(p),this._warningMessageNode.readEffect(p),this._relayout()})),this.toolBar=this._register(c.createInstance(yS,this.nodes.toolBar,j.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,f)=>{if(p instanceof pn)return c.createInstance(wS,p,void 0);if(p===this.availableSuggestionCountAction){let _=new SS(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{km._dropDownVisible=p})),this._register(ue(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(ue(p=>{let f=this._suggestionCount.read(p),_=this._currentSuggestionIdx.read(p);f!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${f}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),f!==void 0&&f>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(ue(p=>{let _=this._extraCommands.read(p).map(v=>({class:void 0,id:v.command.id,enabled:!0,tooltip:v.command.tooltip||"",label:v.command.title,run:w=>this._commandService.executeCommand(v.command.id)}));for(let[v,w]of this.inlineCompletionsActionsMenus.getActions())for(let I of w)I instanceof pn&&_.push(I);_.length>0&&_.unshift(new Qr),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Mn=km=xS([ao(8,De),ao(9,z),ao(10,ce),ao(11,Y),ao(12,bo)],Mn);var SS=class extends xl{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}},wS=class extends Xu{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!e)return super.updateLabel();if(this.label){let t=Jn("div.keybinding").root;this._register(new Na(t,oa,{disableTitle:!0,..._R})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},yS=class extends iR{constructor(e,t,i,o,n,s,a,d,l){super(e,{resetMenu:t,...i},o,n,s,a,d,l),this.menuId=t,this.options2=i,this.menuService=o,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this.additionalPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let{primary:e,secondary:t}=Q0(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),e.push(...this.additionalPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Zt(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Zt(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};yS=xS([ao(3,bo),ao(4,Y),ao(5,zo),ao(6,ce),ao(7,De),ao(8,zt)],yS);function Lr(r,e,t){let i=Ue(r);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}var IS=class{constructor(e,t,i,o){this.value=e,this.isComplete=t,this.hasLoadingMessage=i,this.options=o}},td=class extends L{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new H),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new Jl(i=>this._triggerAsyncComputation(i),0)),this._syncComputationScheduler=this._register(new Jl(i=>this._triggerSyncComputation(i),0)),this._loadingMessageScheduler=this._register(new Jl(i=>this._triggerLoadingMessage(i),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._options=void 0,super.dispose()}get _hoverTime(){return this._editor.getOption(69).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t){this._options=t,this._state=e,this._fireResult(t)}_triggerAsyncComputation(e){this._setState(2,e),this._syncComputationScheduler.schedule(e,this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=rD(t=>this._computer.computeAsync(e,t)),(async()=>{try{for await(let t of this._asyncIterable)t&&(this._result.push(t),this._fireResult(e));this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0,e)}catch(t){ae(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(e){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync(e))),this._setState(this._asyncIterableDone?0:3,e)}_triggerLoadingMessage(e){this._state===3&&this._setState(4,e)}_fireResult(e){if(this._state===1||this._state===2)return;let t=this._state===0,i=this._state===4;this._onResult.fire(new IS(this._result.slice(0),t,i,e))}start(e,t){if(e===0)this._state===0&&(this._setState(1,t),this._asyncComputationScheduler.schedule(t,this._firstWaitTime),this._loadingMessageScheduler.schedule(t,this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(t),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}},Jl=class extends L{constructor(e,t){super(),this._scheduler=this._register(new Le(()=>e(this._options),t))}schedule(e,t){this._options=e,this._scheduler.schedule(t)}cancel(){this._scheduler.cancel()}};var Dr=class{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new H,this._onDidResize=new H,this._sashListener=new R,this._size=new Ce(0,0),this._minSize=new Ce(0,0),this._maxSize=new Ce(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new yn(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new yn(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new yn(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:Db.North}),this._southSash=new yn(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:Db.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(ke.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(ke.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(o=>{e&&(i=o.currentX-o.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(o=>{e&&(i=-(o.currentX-o.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(o=>{e&&(t=-(o.currentY-o.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(o=>{e&&(t=o.currentY-o.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(ke.any(this._eastSash.onDidReset,this._westSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(ke.any(this._northSash.onDidReset,this._southSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,o){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=o?3:0}layout(e=this.size.height,t=this.size.width){let{height:i,width:o}=this._minSize,{height:n,width:s}=this._maxSize;e=Math.max(i,Math.min(n,e)),t=Math.max(o,Math.min(s,t));let a=new Ce(t,e);Ce.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}};var jN=30,KN=24,Tm=class extends L{constructor(e,t=new Ce(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new Dr),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Ce.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Ce(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?P.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Ue(t).top+i.top-jN}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;let o=Ue(t),n=No(t.ownerDocument.body),s=o.top+i.top+i.height;return n.height-s-KN}_findPositionPreference(e,t){let i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),o=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),n=Math.min(Math.max(o,i),e),s=Math.min(e,n),a;return this._editor.getOption(69).above?a=s<=o?1:2:a=s<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}};var qN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Nm=function(r,e){return function(t,i){e(t,i,r)}},lo,n1=30,Pm=class extends Tm{static{lo=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new Ce(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,o,n){let s=e.getOption(75)+8,a=150,d=new Ce(a,s);super(e,d),this._configurationService=i,this._accessibilityService=o,this._keybindingService=n,this._hover=this._register(new eg(!0)),this._onDidResize=this._register(new H),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new H),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new H),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=d,this._hoverVisibleKey=S.hoverVisible.bindTo(t),this._hoverFocusedKey=S.hoverFocused.bindTo(t),B(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._resizableNode.domNode.className="monaco-resizable-hover",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(59)&&this._updateFont()}));let l=this._register(Ui(this._resizableNode.domNode));this._register(l.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(l.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(c=>{this._onDidScroll.fire(c)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return lo.ID}static _applyDimensions(e,t,i){let o=typeof t=="number"?`${t}px`:t,n=typeof i=="number"?`${i}px`:i;e.style.width=o,e.style.height=n}_setContentsDomNodeDimensions(e,t){let i=this._hover.contentsDomNode;return lo._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){let i=this._hover.containerDomNode;return lo._applyDimensions(i,e,t)}_setScrollableElementDimensions(e,t){let i=this._hover.scrollbar.getDomNode();return lo._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContainerDomNodeDimensions(e,t),this._setScrollableElementDimensions(e,t),this._setContentsDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){let o=typeof t=="number"?`${t}px`:t,n=typeof i=="number"?`${i}px`:i;e.style.maxWidth=o,e.style.maxHeight=n}_setHoverWidgetMaxDimensions(e,t){lo._applyMaxDimensions(this._hover.contentsDomNode,e,t),lo._applyMaxDimensions(this._hover.scrollbar.getDomNode(),e,t),lo._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none"),this._setHoverWidgetDimensions(e.width,e.height)}_updateResizableNodeMaxDimensions(){let e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Ce(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){lo._lastDimensions=new Ce(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let e=this._renderedHover?.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){let e=this._findAvailableSpaceVertically();if(!e)return;let i=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach(o=>{i+=o.clientHeight}),Math.min(e,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");let e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth;return e||this._hover.containerDomNode.clientWidth<t?No(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;let i=Ue(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=r1(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));let o=r1(e,t,i.left,i.top,i.width,i.height);return o>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,o),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){let{fontSize:e,lineHeight:t}=this._editor.getOption(59),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(n=>this._editor.applyFontInfo(n))}_updateContent(e){let t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let e=Math.max(this._editor.getLayoutInfo().height/4,250,lo._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,750,lo._lastDimensions.width);this._resizableNode.maxSize=new Ce(t,e),this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);let t=Qn(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.handleContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();let n=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&SR(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");n&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+n)}hide(){if(!this._renderedHover)return;let e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Ce(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){let e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto"),this._updateMaxDimensions()}setMinimumDimensions(e){this._minimumSize=new Ce(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Ce(e,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.contentsDomNode,t=Qn(e),i=yi(e)+2;if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Qn(e),i=yi(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),this._renderedHover?.showAtPosition){let o=Qn(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(o,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-n1})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+n1})}pageUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};Pm=lo=qN([Nm(1,Y),Nm(2,oe),Nm(3,Mi),Nm(4,ce)],Pm);function r1(r,e,t,i,o,n){let s=t+o/2,a=i+n/2,d=Math.max(Math.abs(r-s)-o/2,0),l=Math.max(Math.abs(e-a)-n/2,0);return Math.sqrt(d*d+l*l)}var Om=class r{constructor(e,t){this._editor=e,this._participants=t}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];let i=e.getModel(),o=t.range.startLineNumber;if(o>i.getLineCount())return[];let n=i.getLineMaxColumn(o);return e.getLineDecorations(o).filter(s=>{if(s.options.isWholeLine)return!0;let a=s.range.startLineNumber===o?s.range.startColumn:1,d=s.range.endLineNumber===o?s.range.endColumn:n;if(s.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e,t){let i=e.anchor;if(!this._editor.hasModel()||!i)return ni.EMPTY;let o=r._getLineDecorations(this._editor,i);return ni.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(i,o,e.source,t):ni.EMPTY))}computeSync(e){if(!this._editor.hasModel())return[];let t=e.anchor,i=r._getLineDecorations(this._editor,t),o=[];for(let n of this._participants)o=o.concat(n.computeSync(t,i,e.source));return si(o)}};var ec=class{constructor(e,t,i){this.hoverParts=e,this.isComplete=t,this.options=i}filter(e){let t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new LS(this,t,this.isComplete,this.options)}},LS=class extends ec{constructor(e,t,i,o){super(t,i,o),this.original=e}filter(e){return this.original.filter(e)}};var GN=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},s1=function(r,e){return function(t,i){e(t,i,r)}},a1=F,id=class extends L{get hasContent(){return this._hasContent}constructor(e,t){super(),this._keybindingService=e,this._hoverService=t,this.actions=[],this._hasContent=!1,this.hoverElement=a1("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=B(this.hoverElement,a1("div.actions"))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;let o=this._register(CR.render(this.actionsElement,e,i));return this._register(this._hoverService.setupManagedHover(Uu("element"),o.actionContainer,o.actionRenderedLabel)),this.actions.push(o),o}append(e){let t=B(this.actionsElement,e);return this._hasContent=!0,t}};id=GN([s1(0,ce),s1(1,wt)],id);var Am=class r{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){let e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){let t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){let t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){let t=this._editor.getModel().getDecorationsInRange(e);for(let i of t){let o=i.options;if(o===r._FIND_MATCH_DECORATION||o===r._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let o=0,n=this._decorations.length;o<n;o++){let s=this._editor.getModel().getDecorationRange(this._decorations[o]);if(e.equalsRange(s)){t=this._decorations[o],i=o+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(o=>{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,r._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,o.changeDecorationOptions(this._highlightedDecorationId,r._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let n=this._editor.getModel().getDecorationRange(t);if(n.startLineNumber!==n.endLineNumber&&n.endColumn===1){let s=n.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(s);n=new C(n.startLineNumber,n.startColumn,s,a)}this._rangeHighlightDecorationId=o.addDecoration(n,r._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let o=r._FIND_MATCH_DECORATION,n=[];if(e.length>1e3){o=r._FIND_MATCH_NO_OVERVIEW_DECORATION;let a=this._editor.getModel().getLineCount(),l=this._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/l)),h=e[0].range.startLineNumber,u=e[0].range.endLineNumber;for(let g=1,p=e.length;g<p;g++){let f=e[g].range;u+c>=f.startLineNumber?f.endLineNumber>u&&(u=f.endLineNumber):(n.push({range:new C(h,1,u,1),options:r._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),h=f.startLineNumber,u=f.endLineNumber)}n.push({range:new C(h,1,u,1),options:r._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let s=new Array(e.length);for(let a=0,d=e.length;a<d;a++)s[a]={range:e[a].range,options:o};this._decorations=i.deltaDecorations(this._decorations,s),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,n),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,r._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){let i=this._decorations[t],o=this._editor.getModel().getDecorationRange(i);if(!(!o||o.endLineNumber>e.lineNumber)){if(o.endLineNumber<e.lineNumber)return o;if(!(o.endColumn>e.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){let o=this._decorations[t],n=this._editor.getModel().getDecorationRange(o);if(!(!n||n.startLineNumber<e.lineNumber)){if(n.startLineNumber>e.lineNumber)return n;if(!(n.startColumn<e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}static{this._CURRENT_FIND_MATCH_DECORATION=X.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Ke(Du),position:xi.Center},minimap:{color:Ke(hb),position:1}})}static{this._FIND_MATCH_DECORATION=X.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Ke(Du),position:xi.Center},minimap:{color:Ke(hb),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=X.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=X.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Ke(Du),position:xi.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=X.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=X.register({description:"find-scope",className:"findScope",isWholeLine:!0})}};var Fm=class{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){let i=[];for(let s=0;s<this._ranges.length;s++)i.push({range:this._ranges[s],text:this._replaceStrings[s]});i.sort((s,a)=>C.compareRangesUsingStarts(s.range,a.range));let o=[],n=i[0];for(let s=1;s<i.length;s++)n.range.endLineNumber===i[s].range.startLineNumber&&n.range.endColumn===i[s].range.startColumn?(n.range=n.range.plusRange(i[s].range),n.text=n.text+i[s].text):(o.push(n),n=i[s]);o.push(n);for(let s of o)t.addEditOperation(s.range,s.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}};function DS(r,e){if(r&&r[0]!==""){let t=d1(r,e,"-"),i=d1(r,e,"_");return t&&!i?l1(r,e,"-"):!t&&i?l1(r,e,"_"):r[0].toUpperCase()===r[0]?e.toUpperCase():r[0].toLowerCase()===r[0]?e.toLowerCase():gD(r[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):r[0][0].toUpperCase()!==r[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function d1(r,e,t){return r[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&r[0].split(t).length===e.split(t).length}function l1(r,e,t){let i=e.split(t),o=r[0].split(t),n="";return i.forEach((s,a)=>{n+=DS([o[a]],s)+t}),n.slice(0,-1)}var Hm=class{constructor(e){this.staticValue=e,this.kind=0}},ES=class{constructor(e){this.pieces=e,this.kind=1}},nd=class r{static fromStaticValue(e){return new r([od.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Hm(""):e.length===1&&e[0].staticValue!==null?this._state=new Hm(e[0].staticValue):this._state=new ES(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?DS(e,this._state.staticValue):this._state.staticValue;let i="";for(let o=0,n=this._state.pieces.length;o<n;o++){let s=this._state.pieces[o];if(s.staticValue!==null){i+=s.staticValue;continue}let a=r._substitute(s.matchIndex,e);if(s.caseOps!==null&&s.caseOps.length>0){let d=[],l=s.caseOps.length,c=0;for(let h=0,u=a.length;h<u;h++){if(c>=l){d.push(a.slice(h));break}switch(s.caseOps[c]){case"U":d.push(a[h].toUpperCase());break;case"u":d.push(a[h].toUpperCase()),c++;break;case"L":d.push(a[h].toLowerCase());break;case"l":d.push(a[h].toLowerCase()),c++;break;default:d.push(a[h])}}a=d.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}},od=class r{static staticValue(e){return new r(e,-1,null)}static caseOps(e,t){return new r(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}},RS=class{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=od.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=od.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=od.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new nd(this._result)}};function c1(r){if(!r||r.length===0)return new nd(null);let e=[],t=new RS(r);for(let i=0,o=r.length;i<o;i++){let n=r.charCodeAt(i);if(n===92){if(i++,i>=o)break;let s=r.charCodeAt(i);switch(s){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
|
|
9
9
|
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(s));break}continue}if(n===36){if(i++,i>=o)break;let s=r.charCodeAt(i);if(s===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(s===48||s===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=s&&s<=57){let a=s-48;if(i+1<o){let d=r.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}var en=new J("findWidgetVisible",!1);en.toNegated();var rd=new J("findInputFocussed",!1),tc=new J("replaceInputFocussed",!1),ic={primary:545,mac:{primary:2593}},oc={primary:565,mac:{primary:2613}},nc={primary:560,mac:{primary:2608}},rc={primary:554,mac:{primary:2602}},sc={primary:558,mac:{primary:2606}},Te={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},Jo=19999,$N=240,Wm=class r{constructor(e,t){this._toDispose=new R,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new To,this._decorations=new Am(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Le(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Ze(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},$N)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new C(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));let o=this._findMatches(i,!1,Jo);this._decorations.set(o,i);let n=this._editor.getSelection(),s=this._decorations.getCurrentMatchesPosition(n);if(s===0&&o.length>0){let a=Bu(o.map(d=>d.range),d=>C.compareRangesUsingStarts(d,n)>=0);s=a>0?a-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){let t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:i,column:o}=e,n=this._editor.getModel();return t||o===1?(i===1?i=n.getLineCount():i--,o=n.getLineMaxColumn(i)):o--,new P(i,o)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){let c=this._decorations.matchAfterPosition(e);c&&this._setCurrentFindMatch(c);return}if(this._decorations.getCount()<Jo){let c=this._decorations.matchBeforePosition(e);c&&c.isEmpty()&&c.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),c=this._decorations.matchBeforePosition(e)),c&&this._setCurrentFindMatch(c);return}if(this._cannotFind())return;let i=this._decorations.getFindScope(),o=r._getSearchRange(this._editor.getModel(),i);o.getEndPosition().isBefore(e)&&(e=o.getEndPosition()),e.isBefore(o.getStartPosition())&&(e=o.getEndPosition());let{lineNumber:n,column:s}=e,a=this._editor.getModel(),d=new P(n,s),l=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(l&&l.range.isEmpty()&&l.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),l=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),!!l){if(!t&&!o.containsRange(l.range))return this._moveToPrevMatch(l.range.getStartPosition(),!0);this._setCurrentFindMatch(l.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:i,column:o}=e,n=this._editor.getModel();return t||o===n.getLineMaxColumn(i)?(i===n.getLineCount()?i=1:i++,o=1):o++,new P(i,o)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){let i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<Jo){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}let t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,o=!1){if(this._cannotFind())return null;let n=this._decorations.getFindScope(),s=r._getSearchRange(this._editor.getModel(),n);s.getEndPosition().isBefore(e)&&(e=s.getStartPosition()),e.isBefore(s.getStartPosition())&&(e=s.getStartPosition());let{lineNumber:a,column:d}=e,l=this._editor.getModel(),c=new P(a,d),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t)),h?!o&&!s.containsRange(h.range)?this._getNextMatch(h.range.getEndPosition(),t,i,!0):h:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){let t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?c1(this._state.replaceString):nd.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){let o=e.buildReplaceString(i.matches,this._state.preserveCase),n=new fn(t,o);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new P(t.startLineNumber,t.startColumn+o.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){let o=(e||[null]).map(n=>r._getSearchRange(this._editor.getModel(),n));return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t,i)}replaceAll(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=Jo?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){let t=new x0(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let h="mu";i.ignoreCase&&(h+="i"),i.global&&(h+="g"),i=new RegExp(i.source,h)}let o=this._editor.getModel(),n=o.getValue(1),s=o.getFullModelRange(),a=this._getReplacePattern(),d,l=this._state.preserveCase;a.hasReplacementPatterns||l?d=n.replace(i,function(){return a.buildReplaceString(arguments,l)}):d=n.replace(i,a.buildReplaceString(null,l));let c=new uu(s,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(e){let t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),o=[];for(let s=0,a=i.length;s<a;s++)o[s]=t.buildReplaceString(i[s].matches,this._state.preserveCase);let n=new Fm(this._editor.getSelection(),i.map(s=>s.range),o);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes(),i=this._findMatches(e,!1,1073741824).map(n=>new G(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn)),o=this._editor.getSelection();for(let n=0,s=i.length;n<s;n++)if(i[n].equalsRange(o)){i=[o].concat(i.slice(0,n)).concat(i.slice(n+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}};var ZN=m(5,"input"),YN=m(6,"Preserve Case"),kS=class extends Pa{constructor(e){super({icon:U.preserveCase,title:YN+e.appendTitle,isChecked:e.isChecked,hoverLifecycleOptions:e.hoverLifecycleOptions,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},Bm=class extends bn{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(e,t,i,o){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new H),this._onKeyDown=this._register(new H),this._onMouseDown=this._register(new H),this._onInput=this._register(new H),this._onKeyUp=this._register(new H),this._onPreserveCaseKeyDown=this._register(new H),this.contextViewProvider=t,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||ZN;let n=o.appendPreserveCaseLabel||"",s=o.history||new Set([]),a=!!o.flexibleHeight,d=!!o.flexibleWidth,l=o.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new DR(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:o.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:l,inputBoxStyles:o.inputBoxStyles})),this.preserveCase=this._register(new kS({appendTitle:n,isChecked:!1,hoverLifecycleOptions:o.hoverLifecycleOptions,...o.toggleStyles})),this._register(this.preserveCase.onChange(u=>{this._onDidOptionChange.fire(u),!u&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(u=>{this._onPreserveCaseKeyDown.fire(u)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let c=[this.preserveCase.domNode];this.onkeydown(this.domNode,u=>{if(u.equals(15)||u.equals(17)||u.equals(9)){let g=c.indexOf(this.domNode.ownerDocument.activeElement);if(g>=0){let p=-1;u.equals(17)?p=(g+1)%c.length:u.equals(15)&&(g===0?p=c.length-1:p=g-1),u.equals(9)?(c[g].blur(),this.inputBox.focus()):p>=0&&c[p].focus(),Yr.stop(u,!0)}}});let h=document.createElement("div");h.className="controls",h.style.display=this._showOptionButtons?"block":"none",h.appendChild(this.preserveCase.domNode),this.domNode.appendChild(h),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,u=>this._onKeyDown.fire(u)),this.onkeyup(this.inputBox.inputElement,u=>this._onKeyUp.fire(u)),this.oninput(this.inputBox.inputElement,u=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,u=>this._onMouseDown.fire(u))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}};var h1=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},u1=function(r,e){return function(t,i){e(t,i,r)}},jm=new J("suggestWidgetVisible",!1,m(1698,"Whether suggestion are visible")),MS="historyNavigationWidgetFocus",g1="historyNavigationForwardsEnabled",m1="historyNavigationBackwardsEnabled",ac,Vm=[];function p1(r,e){if(Vm.includes(e))throw new Error("Cannot register the same widget multiple times");Vm.push(e);let t=new R,i=new J(MS,!1).bindTo(r),o=new J(g1,!0).bindTo(r),n=new J(m1,!0).bindTo(r),s=()=>{i.set(!0),ac=e},a=()=>{i.set(!1),ac===e&&(ac=void 0)};return WD(e.element)&&s(),t.add(e.onDidFocus(()=>s())),t.add(e.onDidBlur(()=>a())),t.add(he(()=>{Vm.splice(Vm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:n,dispose(){t.dispose()}}}var zm=class extends ER{constructor(e,t,i,o){super(e,t,i);let n=this._register(o.createScoped(this.inputBox.element));this._register(p1(n,this.inputBox))}};zm=h1([u1(3,Y)],zm);var Um=class extends Bm{constructor(e,t,i,o,n=!1){super(e,t,n,i);let s=this._register(o.createScoped(this.inputBox.element));this._register(p1(s,this.inputBox))}};Um=h1([u1(3,Y)],Um);di.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:k.and(k.has(MS),k.equals(m1,!0),k.not("isComposing"),jm.isEqualTo(!1)),primary:16,secondary:[528],handler:r=>{ac?.showPreviousValue()}});di.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:k.and(k.has(MS),k.equals(g1,!0),k.not("isComposing"),jm.isEqualTo(!1)),primary:18,secondary:[530],handler:r=>{ac?.showNextValue()}});function TS(r){return r.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&r.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}var f1=Ae("find-collapsed",U.chevronRight,m(956,"Icon to indicate that the editor find widget is collapsed.")),_1=Ae("find-expanded",U.chevronDown,m(957,"Icon to indicate that the editor find widget is expanded.")),XN=Ae("find-selection",U.selection,m(958,"Icon for 'Find in Selection' in the editor find widget.")),QN=Ae("find-replace",U.replace,m(959,"Icon for 'Replace' in the editor find widget.")),JN=Ae("find-replace-all",U.replaceAll,m(960,"Icon for 'Replace All' in the editor find widget.")),eP=Ae("find-previous-match",U.arrowUp,m(961,"Icon for 'Find Previous' in the editor find widget.")),tP=Ae("find-next-match",U.arrowDown,m(962,"Icon for 'Find Next' in the editor find widget.")),iP=m(963,"Find / Replace"),oP=m(964,"Find"),nP=m(965,"Find"),rP=m(966,"Previous Match"),sP=m(967,"Next Match"),aP=m(968,"Find in Selection"),dP=m(969,"Close"),lP=m(970,"Replace"),cP=m(971,"Replace"),hP=m(972,"Replace"),uP=m(973,"Replace All"),gP=m(974,"Toggle Replace"),mP=m(975,"Only the first {0} results are highlighted, but all find operations work on the entire text.",Jo),pP=m(976,"{0} of {1}"),v1=m(977,"No results"),tn=419,fP=275,_P=fP-54,dc=69,vP=33,b1=oi?256:2048,lc=class{constructor(e){this.afterLineNumber=e,this.heightInPx=vP,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}};function C1(r,e,t){let i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){r.stopPropagation();return}}function S1(r,e,t){let i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){r.stopPropagation();return}}var Km=class r extends bn{static{this.ID="editor.contrib.findWidget"}constructor(e,t,i,o,n,s,a,d,l){super(),this._hoverService=a,this._findWidgetSearchHistory=d,this._replaceWidgetHistory=l,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=o,this._keybindingService=n,this._contextKeyService=s,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new vi(500),this._register(he(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(c=>this._onStateChanged(c))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(c=>{if(c.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),c.hasChanged(165)&&this._tryUpdateWidgetWidth(),c.hasChanged(2)&&this.updateAccessibilitySupport(),c.hasChanged(50)){let h=this._codeEditor.getOption(50).loop;this._state.change({loop:h},!1);let u=this._codeEditor.getOption(50).addExtraSpaceOnTop;u&&!this._viewZone&&(this._viewZone=new lc(0),this._showViewZone()),!u&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let c=await this._controller.getGlobalBufferTerm();c&&c!==this._state.searchString&&(this._state.change({searchString:c},!1),this._findInput.select())}})),this._findInputFocused=rd.bindTo(s),this._findFocusTracker=this._register(Ui(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=tc.bindTo(s),this._replaceFocusTracker=this._register(Ui(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new lc(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(c=>{if(c.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return r.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(104)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=yi(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){let t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,ae)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=dc+"px",this._state.matchesCount>=Jo?this._matchesCount.title=mP:this._matchesCount.title="",this._matchesCount.firstChild?.remove();let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=Jo&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=aa(pP,i,t)}else e=v1;this._matchesCount.appendChild(document.createTextNode(e)),Ct(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),dc=Math.max(dc,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===v1)return i===""?m(978,"{0} found",e):m(979,"{0} found for '{1}'",e,i);if(t){let o=m(980,"{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),n=this._codeEditor.getModel();return n&&t.startLineNumber<=n.getLineCount()&&t.startLineNumber>=1?`${n.getLineContent(t.startLineNumber)}, ${o}`:o}return m(981,"{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){let e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let i=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{let i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&e){let i=this._codeEditor.getDomNode();if(i){let o=Ue(i),n=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=o.left+(n?n.left:0),a=n?n.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);let d=OD(this._domNode).left;s>d&&(t=!1);let l=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());o.left+(l?l.left:0)>d&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(o=>{i.heightInPx=this._getHeight(),this._viewZoneId=o.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new lc(0));let i=this._viewZone;this._codeEditor.changeViewZones(o=>{if(this._viewZoneId!==void 0){let n=this._getHeight();if(n===i.heightInPx)return;let s=n-i.heightInPx;i.heightInPx=n,o.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s);return}else{let n=this._getHeight();if(n-=this._codeEditor.getOption(96).top,n<=0)return;i.heightInPx=n,this._viewZoneId=o.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;let e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");let i=e.width,o=e.minimap.minimapWidth,n=!1,s=!1,a=!1;if(this._resized&&yi(this._domNode)>tn){this._domNode.style.maxWidth=`${i-28-o-15}px`,this._replaceInput.width=yi(this._findInput.domNode);return}if(tn+28+o>=i&&(s=!0),tn+28+o-dc>=i&&(a=!0),tn+28+o-dc>=i+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",s),!a&&!n&&(this._domNode.style.maxWidth=`${i-28-o-15}px`),this._findInput.layout({collapsedFindWidget:n,narrowFindWidget:a,reducedFindWidget:s}),this._resized){let d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){let e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));let i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!C.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(b1|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
10
10
|
`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return C1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return S1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(b1|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
|
|
11
|
-
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return C1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return S1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){let t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){let i=this._codeEditor.getOption(50).history,o=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new zm(null,this._contextViewProvider,{width:_P,label:oP,placeholder:nP,appendCaseSensitiveLabel:this._keybindingLabelFor(Te.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Te.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Te.ToggleRegexCommand),validation:h=>{if(h.length===0||!this._findInput.getRegex())return null;try{return new RegExp(h,"gu"),null}catch(u){return{content:u.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>TS(this._keybindingService),inputBoxStyles:Rb,toggleStyles:Eb,history:i==="workspace"?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(h=>{h.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(h)})),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(h=>{h.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),h.preventDefault())})),this._register(this._findInput.onRegexKeyDown(h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),h.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(h=>{this._tryUpdateHeight()&&this._showViewZone()})),JL&&this._register(this._findInput.onMouseDown(h=>this._onFindInputMouseDown(h))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();let n={groupId:"find-widget"};this._prevBtn=this._register(new on({label:rP+this._keybindingLabelFor(Te.PreviousMatchFindAction),icon:eP,hoverLifecycleOptions:n,onTrigger:()=>{Gn(this._codeEditor.getAction(Te.PreviousMatchFindAction)).run().then(void 0,ae)}},this._hoverService)),this._nextBtn=this._register(new on({label:sP+this._keybindingLabelFor(Te.NextMatchFindAction),icon:tP,hoverLifecycleOptions:n,onTrigger:()=>{Gn(this._codeEditor.getAction(Te.NextMatchFindAction)).run().then(void 0,ae)}},this._hoverService));let s=document.createElement("div");s.className="find-part",s.appendChild(this._findInput.domNode);let a=document.createElement("div");a.className="find-actions",s.appendChild(a),a.appendChild(this._matchesCount),a.appendChild(this._prevBtn.domNode),a.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Pa({icon:XN,title:aP+this._keybindingLabelFor(Te.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:n,inputActiveOptionBackground:de(or),inputActiveOptionBorder:de(Sa),inputActiveOptionForeground:de(wa)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let h=this._codeEditor.getSelections();h=h.map(u=>(u.endColumn===1&&u.endLineNumber>u.startLineNumber&&(u=u.setEndPosition(u.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(u.endLineNumber-1))),u.isEmpty()?null:u)).filter(u=>!!u),h.length&&this._state.change({searchScope:h},!0)}}else this._state.change({searchScope:null},!0)})),a.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new on({label:dP+this._keybindingLabelFor(Te.CloseFindWidgetCommand),icon:Zu,hoverLifecycleOptions:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),h.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new Um(null,void 0,{label:lP,placeholder:cP,appendPreserveCaseLabel:this._keybindingLabelFor(Te.TogglePreserveCaseCommand),history:o==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>TS(this._keybindingService),inputBoxStyles:Rb,toggleStyles:Eb,hoverLifecycleOptions:n},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(h=>this._onReplaceInputKeyDown(h))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(h=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(h=>{h.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),h.preventDefault())})),this._replaceBtn=this._register(new on({label:hP+this._keybindingLabelFor(Te.ReplaceOneAction),icon:QN,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replace()},onKeyDown:h=>{h.equals(1026)&&(this._closeBtn.focus(),h.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new on({label:uP+this._keybindingLabelFor(Te.ReplaceAllAction),icon:JN,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let d=document.createElement("div");d.className="replace-part",d.appendChild(this._replaceInput.domNode);let l=document.createElement("div");l.className="replace-actions",d.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new on({label:gP,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=iP,this._domNode.role="dialog",this._domNode.style.width=`${tn}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(s),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(d),this._resizeSash=this._register(new yn(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let c=tn;this._register(this._resizeSash.onDidStart(()=>{c=yi(this._domNode)})),this._register(this._resizeSash.onDidChange(h=>{this._resized=!0;let u=c+h.startX-h.currentX;if(u<tn)return;let g=parseFloat(PD(this._domNode).maxWidth)||0;u>g||(this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let h=yi(this._domNode);if(h<tn)return;let u=tn;if(!this._resized||h===tn){let g=this._codeEditor.getLayoutInfo();u=g.width-28-g.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}getViewState(){let e=!1;return this._viewZone&&this._viewZoneId&&(e=this._viewZone.heightInPx>this._codeEditor.getScrollTop()),{widgetViewZoneVisible:e,scrollTop:this._codeEditor.getScrollTop()}}setViewState(e){e&&e.widgetViewZoneVisible&&this._layoutViewZone(e.scrollTop)}},on=class extends bn{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+ne.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},e.hoverLifecycleOptions)),this.onclick(this._domNode,o=>{this._opts.onTrigger(),o.preventDefault()}),this.onkeydown(this._domNode,o=>{if(o.equals(10)||o.equals(3)){this._opts.onTrigger(),o.preventDefault();return}this._opts.onKeyDown?.(o)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ne.asClassNameArray(f1)),this._domNode.classList.add(...ne.asClassNameArray(_1))):(this._domNode.classList.remove(...ne.asClassNameArray(_1)),this._domNode.classList.add(...ne.asClassNameArray(f1)))}};sr((r,e)=>{let t=r.getColor(Iu);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${vn(r.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);let i=r.getColor(TE);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${vn(r.type)?"dashed":"solid"} ${i}; }`);let o=r.getColor(to);o&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${o}; }`);let n=r.getColor(RE);n&&e.addRule(`.monaco-editor .findMatchInline { color: ${n}; }`);let s=r.getColor(ME);s&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${s}; }`)});var bP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},w1=function(r,e){return function(t,i){e(t,i,r)}},qm=class extends L{constructor(e,t,i,o){super(),this._container=e,this._getContent=t,this._clipboardService=i,this._hoverService=o,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new on({label:m(1128,"Copy"),icon:U.copy,onTrigger:()=>this._copyContent(),className:"hover-copy-button"},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){let e=this._getContent();e&&(await this._clipboardService.writeText(e),ji(m(1129,"Copied to clipboard")))}};qm=bP([w1(2,Dt),w1(3,wt)],qm);var NS=class{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}};async function CP(r,e,t,i,o){let n=await Promise.resolve(r.provideHover(t,i,o)).catch(_e);if(!(!n||!SP(n)))return new NS(r,n,e)}function cc(r,e,t,i,o=!1){let s=r.ordered(e,o).map((a,d)=>CP(a,d,e,t,i));return ni.fromPromisesResolveOrder(s).coalesce()}async function y1(r,e,t,i,o=!1){let n=[];for await(let s of cc(r,e,t,i,o))n.push(s.hover);return n}Lt("_executeHoverProvider",(r,e,t)=>{let i=r.get(O);return y1(i.hoverProvider,e,t,Q.None)});Lt("_executeHoverProvider_recursive",(r,e,t)=>{let i=r.get(O);return y1(i.hoverProvider,e,t,Q.None,!0)});function SP(r){let e=typeof r.range<"u",t=typeof r.contents<"u"&&r.contents&&r.contents.length>0;return e&&t}var wP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},sd=function(r,e){return function(t,i){e(t,i,r)}},Es=F,yP=Ae("hover-increase-verbosity",U.add,m(1130,"Icon for increaseing hover verbosity.")),xP=Ae("hover-decrease-verbosity",U.remove,m(1131,"Icon for decreasing hover verbosity.")),pi=class{constructor(e,t,i,o,n,s=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=o,this.ordinal=n,this.source=s}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Gm=class{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Ii.Increase:return this.hover.canIncreaseVerbosity??!1;case Ii.Decrease:return this.hover.canDecreaseVerbosity??!1}}},Er=class{constructor(e,t,i,o,n,s,a){this._editor=e,this._markdownRendererService=t,this._configurationService=i,this._languageFeaturesService=o,this._keybindingService=n,this._hoverService=s,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new pi(this,e.range,[new nt().appendText(m(1132,"Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),s=[],a=1e3,d=i.getLineLength(o),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(133),h=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l}),u=!1;c>=0&&d>c&&e.range.startColumn>=c&&(u=!0,s.push(new pi(this,e.range,[{value:m(1133,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!u&&typeof h=="number"&&d>=h&&s.push(new pi(this,e.range,[{value:m(1134,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let g=!1;for(let p of t){let f=p.range.startLineNumber===o?p.range.startColumn:1,_=p.range.endLineNumber===o?p.range.endColumn:n,v=p.options.hoverMessage;if(!v||ur(v))continue;p.options.beforeContentClassName&&(g=!0);let w=new C(e.range.startLineNumber,f,e.range.startLineNumber,_);s.push(new pi(this,w,ru(v),g,a++))}return s}computeAsync(e,t,i,o){if(!this._editor.hasModel()||e.type!==1)return ni.EMPTY;let n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,o):ni.EMPTY}async*_getMarkdownHovers(e,t,i,o){let n=i.range.getStartPosition(),s=cc(e,t,n,o);for await(let a of s)if(!ur(a.hover.contents)){let d=a.hover.range?C.lift(a.hover.range):i.range,l=new Gm(a.hover,a.provider,n);yield new pi(this,d,a.hover.contents,!1,a.ordinal,l)}}renderHoverParts(e,t){return this._renderedHoverParts=new PS(t,e.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,e.onContentsChanged),this._renderedHoverParts}handleScroll(e){this._renderedHoverParts?.handleScroll(e)}getAccessibleContent(e){return this._renderedHoverParts?.getAccessibleContent(e)??""}updateMarkdownHoverVerbosityLevel(e,t){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t))}};Er=wP([sd(1,gi),sd(2,oe),sd(3,O),sd(4,ce),sd(5,wt),sd(6,De)],Er);var ad=class{constructor(e,t,i,o){this.hoverPart=e,this.hoverElement=t,this.disposables=i,this.actionsContainer=o}dispose(){this.disposables.dispose()}},PS=class{constructor(e,t,i,o,n,s,a,d,l,c){this._hoverParticipant=i,this._editor=o,this._commandService=n,this._keybindingService=s,this._hoverService=a,this._configurationService=d,this._markdownRendererService=l,this._onFinishedRendering=c,this._ongoingHoverOperations=new Map,this._disposables=new R,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(he(()=>{this.renderedHoverParts.forEach(h=>{h.dispose()}),this._ongoingHoverOperations.forEach(h=>{h.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(_o(o=>o.ordinal,vo)),e.map(o=>{let n=this._renderHoverPart(o,i);return t.appendChild(n.hoverElement),n})}_renderHoverPart(e,t){let i=this._renderMarkdownHover(e,t),o=i.hoverElement,n=e.source,s=new R;if(s.add(i),!n)return new ad(e,o,s);let a=n.supportsVerbosityAction(Ii.Increase),d=n.supportsVerbosityAction(Ii.Decrease);if(!a&&!d)return new ad(e,o,s);let l=Es("div.verbosity-actions");o.prepend(l);let c=Es("div.verbosity-actions-inner");return l.append(c),s.add(this._renderHoverExpansionAction(c,Ii.Increase,a)),s.add(this._renderHoverExpansionAction(c,Ii.Decrease,d)),new ad(e,o,s,c)}_renderMarkdownHover(e,t){return I1(this._editor,e,this._markdownRendererService,t)}_renderHoverExpansionAction(e,t,i){let o=new R,n=t===Ii.Increase,s=B(e,Es(ne.asCSSSelector(n?yP:xP)));s.tabIndex=0;let a=new nR("mouse",void 0,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(o.add(this._hoverService.setupManagedHover(a,s,IP(this._keybindingService,t))),!i)return s.classList.add("disabled"),o;s.classList.add("enabled");let d=()=>this._commandService.executeCommand(t===Ii.Increase?Ls:Ds,{focus:!0});return o.add(new wR(s,d)),o.add(new yR(s,d,[3,10])),o}handleScroll(e){this.renderedHoverParts.forEach(t=>{let i=t.actionsContainer;if(!i)return;let o=t.hoverElement,s=e.scrollTop+e.height,a=o.offsetTop,d=o.clientHeight,l=a+d,c=22,h;l<=s||a>=s?h=d-c:h=s-a-c,i.style.top=`${h}px`})}async updateMarkdownHoverPartVerbosityLevel(e,t){let i=this._editor.getModel();if(!i)return;let o=this._getRenderedHoverPartAtIndex(t),n=o?.hoverPart.source;if(!o||!n?.supportsVerbosityAction(e))return;let s=await this._fetchHover(n,i,e);if(!s)return;let a=new Gm(s,n.hoverProvider,n.hoverPosition),d=o.hoverPart,l=new pi(this._hoverParticipant,d.range,s.contents,d.isBeforeContent,d.ordinal,a),c=this._updateRenderedHoverPart(t,l);if(c)return{hoverPart:l,hoverElement:c.hoverElement}}getAccessibleContent(e){let t=this.renderedHoverParts.findIndex(s=>s.hoverPart===e);if(t===-1)return;let i=this._getRenderedHoverPartAtIndex(t);return i?i.hoverElement.innerText.replace(/[^\S\n\r]+/gu," "):void 0}async _fetchHover(e,t,i){let o=i===Ii.Increase?1:-1,n=e.hoverProvider,s=this._ongoingHoverOperations.get(n);s&&(s.tokenSource.cancel(),o+=s.verbosityDelta);let a=new Me;this._ongoingHoverOperations.set(n,{verbosityDelta:o,tokenSource:a});let d={verbosityRequest:{verbosityDelta:o,previousHover:e.hover}},l;try{l=await Promise.resolve(n.provideHover(t,e.hoverPosition,a.token,d))}catch(c){_e(c)}return a.dispose(),this._ongoingHoverOperations.delete(n),l}_updateRenderedHoverPart(e,t){if(e>=this.renderedHoverParts.length||e<0)return;let i=this._renderHoverPart(t,this._onFinishedRendering),o=this.renderedHoverParts[e],n=o.hoverElement,s=i.hoverElement,a=Array.from(s.children);n.replaceChildren(...a);let d=new ad(t,n,i.disposables,i.actionsContainer);return o.dispose(),this.renderedHoverParts[e]=d,d}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}};function x1(r,e,t,i){e.sort(_o(n=>n.ordinal,vo));let o=[];for(let n of e){let s=I1(t,n,i,r.onContentsChanged);r.fragment.appendChild(s.hoverElement),o.push(s)}return new Pi(o)}function I1(r,e,t,i){let o=new R,n=Es("div.hover-row"),s=Es("div.hover-row-contents");n.appendChild(s);let a=e.contents;for(let l of a){if(ur(l))continue;let c=Es("div.markdown-hover"),h=B(c,Es("div.hover-contents")),u=o.add(t.render(l,{context:r,asyncRenderCallback:()=>{h.className="hover-contents code-hover-contents",i()}}));h.appendChild(u.element),s.appendChild(c)}return{hoverPart:e,hoverElement:n,dispose(){o.dispose()}}}function IP(r,e){switch(e){case Ii.Increase:{let t=r.lookupKeybinding(Ls);return t?m(1135,"Increase Hover Verbosity ({0})",t.getLabel()):m(1136,"Increase Hover Verbosity")}case Ii.Decrease:{let t=r.lookupKeybinding(Ds);return t?m(1137,"Decrease Hover Verbosity ({0})",t.getLabel()):m(1138,"Decrease Hover Verbosity")}}}var L1=F,$m=class extends L{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,this._domNode=L1(".saturation-wrap"),B(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",B(this._domNode,this._canvas),this.selection=L1(".saturation-selection"),B(this._domNode,this.selection),this.layout(),this._register(te(this._domNode,fe.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new wu);let t=Ue(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangePosition(o.pageX-t.left,o.pageY-t.top),()=>null);let i=te(e.target.ownerDocument,fe.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){let i=Math.max(0,Math.min(1,e/this.width)),o=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,o),this._onDidChange.fire({s:i,v:o})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();let e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){let e=this.model.color.hsva,t=new se(new Ca(e.h,1,1,1)),i=this._canvas.getContext("2d"),o=i.createLinearGradient(0,0,this._canvas.width,0);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)");let n=i.createLinearGradient(0,0,0,this._canvas.height);n.addColorStop(0,"rgba(0, 0, 0, 0)"),n.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=se.Format.CSS.format(t),i.fill(),i.fillStyle=o,i.fill(),i.fillStyle=n,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let t=e.hsva;this.paintSelection(t.s,t.v)}};var Zm=class extends L{constructor(e){super(),this._onClicked=this._register(new H),this.onClicked=this._onClicked.event,this._button=B(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(te(this._button,fe.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}};var hc=F,Ym=class extends L{constructor(e,t,i){super(),this.model=t,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,i==="standalone"?(this.domNode=B(e,hc(".standalone-strip")),this.overlay=B(this.domNode,hc(".standalone-overlay"))):(this.domNode=B(e,hc(".strip")),this.overlay=B(this.domNode,hc(".overlay"))),this.slider=B(this.domNode,hc(".slider")),this.slider.style.top="0px",this._register(te(this.domNode,fe.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){let t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._register(new wu),i=Ue(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangeTop(n.pageY-i.top),()=>null);let o=te(e.target.ownerDocument,fe.POINTER_UP,()=>{this._onColorFlushed.fire(),o.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){let t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}},Xm=class extends Ym{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:i,b:o}=e.rgba,n=new se(new Co(t,i,o,1)),s=new se(new Co(t,i,o,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}},Qm=class extends Ym{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}};var LP=F,Jm=class extends L{constructor(e,t,i,o){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=LP(".colorpicker-body"),B(e,this._domNode),this._saturationBox=new $m(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new Xm(this._domNode,this.model,o),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Qm(this._domNode,this.model,o),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),o==="standalone"&&(this._insertButton=this._register(new Zm(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let i=this.model.color.hsva;this.model.color=new se(new Ca(i.h,e,t,i.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new se(new Ca(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,i=(1-e)*360;this.model.color=new se(new Ca(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}};var DP=F,ep=class extends L{constructor(e){super(),this._onClicked=this._register(new H),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),B(e,this._button);let t=document.createElement("div");t.classList.add("close-button-inner-div"),B(this._button,t),B(t,DP(".button"+ne.asCSSSelector(Ae("color-picker-close",U.close,m(885,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(te(this._button,fe.CLICK,()=>{this._onClicked.fire()}))}};var tp=F,ip=class extends L{constructor(e,t,i,o){super(),this.model=t,this.type=o,this._closeButton=null,this._domNode=tp(".colorpicker-header"),B(e,this._domNode),this._pickedColorNode=B(this._domNode,tp(".picked-color")),B(this._pickedColorNode,tp("span.codicon.codicon-color-mode")),this._pickedColorPresentation=B(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");let n=m(886,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",n),this._originalColorNode=B(this._domNode,tp(".original-color")),this._originalColorNode.style.backgroundColor=se.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(db)||se.white,this._register(i.onDidColorThemeChange(s=>{this.backgroundColor=s.getColor(db)||se.white})),this._register(te(this._pickedColorNode,fe.CLICK,()=>this.model.selectNextColorPresentation())),this._register(te(this._originalColorNode,fe.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=se.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.type==="standalone"&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new ep(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=se.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}};var EP=F,dd=class extends bn{constructor(e,t,i,o,n){super(),this.model=t,this.pixelRatio=i,this._register(mE.getInstance(tt(e)).onDidChange(()=>this.layout())),this._domNode=EP(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new ip(this._domNode,this.model,o,n)),this.body=this._register(new Jm(this._domNode,this.model,this.pixelRatio,n))}layout(){this.body.layout()}get domNode(){return this._domNode}};var op=class{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new H,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new H,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let o=0;o<this.colorPresentations.length;o++)if(t.toLowerCase()===this.colorPresentations[o].label){i=o;break}if(i===-1){let o=t.split("(")[0].toLowerCase();for(let n=0;n<this.colorPresentations.length;n++)if(this.colorPresentations[n].label.toLowerCase().startsWith(o)){i=n;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}};async function np(r,e,t){let i=r.getValueInRange(e.range),{red:o,green:n,blue:s,alpha:a}=e.color,d=new Co(Math.round(o*255),Math.round(n*255),Math.round(s*255),a),l=new se(d),c=await pS(r,e,t,Q.None),h=new op(l,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(l,i),{range:C.lift(e.range),model:h,provider:t}}function rp(r,e,t){let i=[],o=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(o),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);let n=C.lift(o.range),s=r.getModel()._setTrackedRange(null,n,3);return r.executeEdits("colorpicker",i),r.pushUndoStop(),r.getModel()._getTrackedRange(s)??n}async function Rs(r,e,t,i,o){let n=await pS(r,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},o.provider,Q.None);e.colorPresentations=n||[]}var RP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kP=function(r,e){return function(t,i){e(t,i,r)}},sp=class r{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}static fromBaseColor(e,t){return new r(e,t.range,t.model,t.provider)}},ld=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t,i){return[]}computeAsync(e,t,i,o){return ni.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];if(!this._isValidRequest(i))return[];let o=kn.get(this._editor);if(!o)return[];for(let n of t){if(!o.isColorDecoration(n))continue;let s=o.getColorData(n.range.getStartPosition());if(s)return[sp.fromBaseColor(this,await np(this._editor.getModel(),s.colorInfo,s.provider))]}return[]}_isValidRequest(e){let t=this._editor.getOption(168);switch(e){case 0:return t==="hover"||t==="clickAndHover";case 1:return t==="click"||t==="clickAndHover";case 2:return!0}}renderHoverParts(e,t){let i=this._editor;if(t.length===0||!i.hasModel())return new Pi([]);let o=i.getOption(75)+8;e.setMinimumDimensions(new Ce(302,o));let n=new R,s=t[0],a=i.getModel(),d=s.model;this._colorPicker=n.add(new dd(e.fragment,d,i.getOption(163),this._themeService,"hover"));let l=!1,c=new C(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);n.add(d.onColorFlushed(async u=>{await Rs(a,d,u,c,s),l=!0,c=rp(i,c,d)})),n.add(d.onDidChangeColor(u=>{Rs(a,d,u,c,s)})),n.add(i.onDidChangeModelContent(u=>{l?l=!1:(e.hide(),i.focus())}));let h={hoverPart:sp.fromBaseColor(this,s),hoverElement:this._colorPicker.domNode,dispose(){n.dispose()}};return new Pi([h])}getAccessibleContent(e){return m(887,"There is a color picker here.")}handleResize(){this._colorPicker?.layout()}handleContentsChanged(){this._colorPicker?.layout()}handleHide(){this._colorPicker?.dispose(),this._colorPicker=void 0}isColorPickerVisible(){return!!this._colorPicker}};ld=RP([kP(1,je)],ld);function OS(r,e){return!!r[e]}var uc=class{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.mouseMiddleClickAction=t.mouseMiddleClickAction,this.hasTriggerModifier=OS(e.event,t.triggerModifier),this.isMiddleClick&&t.mouseMiddleClickAction==="ctrlLeftClick"&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=OS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},ap=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=OS(e,t.triggerModifier)}},cd=class{constructor(e,t,i,o,n){this.mouseMiddleClickAction=n,this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=o}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier&&this.mouseMiddleClickAction===e.mouseMiddleClickAction}};function D1(r,e){return r==="altKey"?oi?new cd(57,"metaKey",6,"altKey",e):new cd(5,"ctrlKey",6,"altKey",e):oi?new cd(6,"altKey",57,"metaKey",e):new cd(6,"altKey",5,"ctrlKey",e)}var nn=class extends L{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new H),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new H),this.onExecute=this._onExecute.event,this._onCancel=this._register(new H),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=D1(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(86)||i.hasChanged(87)){let o=D1(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new uc(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new uc(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new uc(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new ap(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new ap(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){let t=this._extractLineNumberFromMouseEvent(e);!!this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&(this._hasTriggerKeyOnMouseDown||e.isMiddleClick&&e.mouseMiddleClickAction==="openLink")&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}};var gc=class{constructor(e,t){this.range=e,this.direction=t}},AS=class r{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){let t=new r(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{let t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){_e(t),this._isResolved=!1}}},mc=class r{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,o){let n=[],s=e.ordered(t).reverse().map(a=>i.map(async d=>{try{let l=await a.provideInlayHints(t,d,o);(l?.hints.length||a.onDidChangeInlayHints)&&n.push([l??r._emptyInlayHintList,a])}catch(l){_e(l)}}));if(await Promise.all(s.flat()),o.isCancellationRequested||t.isDisposed())throw new ta;return new r(i,n,t)}constructor(e,t,i){this._disposables=new R,this.ranges=e,this.provider=new Set;let o=[];for(let[n,s]of t){this._disposables.add(n),this.provider.add(s);for(let a of n.hints){let d=i.validatePosition(a.position),l="before",c=r._getRangeAtPosition(i,d),h;c.getStartPosition().isBefore(d)?(h=C.fromPositions(c.getStartPosition(),d),l="after"):(h=C.fromPositions(d,c.getEndPosition()),l="before"),o.push(new AS(a,new gc(h,l),s))}}this.items=o.sort((n,s)=>P.compare(n.hint.position,s.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let i=t.lineNumber,o=e.getWordAtPosition(t);if(o)return new C(i,o.startColumn,i,o.endColumn);e.tokenization.tokenizeIfCheap(i);let n=e.tokenization.getLineTokens(i),s=t.column-1,a=n.findTokenIndexAtOffset(s),d=n.getStartOffset(a),l=n.getEndOffset(a);return l-d===1&&(d===s&&a>1?(d=n.getStartOffset(a-1),l=n.getEndOffset(a-1)):l===s&&a<n.getCount()-1&&(d=n.getStartOffset(a+1),l=n.getEndOffset(a+1))),new C(i,d+1,i,l+1)}};function E1(r){return qu(r.id,...r.arguments??[]).toString()}async function R1(r,e,t,i){let o=r.get(mt),n=r.get(zo),s=r.get(De),a=r.get(z),d=r.get(ze);if(await i.item.resolve(Q.None),!i.part.location)return;let l=i.part.location,c=[],h=new Set(Xt.getMenuItems(j.EditorContext).map(g=>jD(g)?g.command.id:rr()));for(let g of Qo.all())h.has(g.desc.id)&&c.push(new Po(g.desc.id,pn.label(g.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let p=await o.createModelReference(l.uri);try{let f=new xs(p.object.textEditorModel,C.getStartPosition(l.range)),_=i.item.anchor.range;await a.invokeFunction(g.runEditorCommand.bind(g),e,f,_)}finally{p.dispose()}}));if(i.part.command){let{command:g}=i.part;c.push(new Qr),c.push(new Po(g.id,g.title,void 0,!0,async()=>{try{await s.executeCommand(g.id,...g.arguments??[])}catch(p){d.notify({severity:dr.Error,source:i.item.provider.displayName,message:p})}}))}let u=e.getOption(144);n.showContextMenu({domForShadowRoot:u?e.getDomNode()??void 0:void 0,getAnchor:()=>{let g=Ue(t);return{x:g.left,y:g.top+g.height+8}},getActions:()=>c,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function dp(r,e,t,i){let n=await r.get(mt).createModelReference(i.uri);await t.invokeWithinContext(async s=>{let a=e.hasSideBySideModifier,d=s.get(Y),l=Ft.inPeekEditor.getValue(d),c=!a&&t.getOption(101)&&!l;return new En({openToSide:a,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(s,new xs(n.object.textEditorModel,C.getStartPosition(i.range)),C.lift(i.range))}),n.dispose()}var MP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},hd=function(r,e){return function(t,i){e(t,i,r)}},ud,FS=class r{constructor(){this._entries=new qi(50)}get(e){let t=r._key(e);return this._entries.get(t)}set(e,t){let i=r._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},k1=St("IInlayHintsCache");Ut(k1,FS,1);var gd=class{constructor(e,t){this.item=e,this.index=t}get part(){let e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}},HS=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},WS=class{constructor(){this._store=new we,this._tokenSource=new Me}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new Me,this._store.value=new R,{store:this._store.value,token:this._tokenSource.token}}},ks=class{static{ud=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(e){return e.getContribution(ud.ID)??void 0}constructor(e,t,i,o,n,s,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=o,this._commandService=n,this._notificationService=s,this._instaService=a,this._disposables=new R,this._sessionDisposables=new R,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Mu(this._editor)),this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(159)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let e=this._editor.getOption(159);if(e.enabled==="off")return;let t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let l,c;e.enabled==="onUnlessPressed"?(l=0,c=1):(l=1,c=0),this._activeRenderMode=l,this._sessionDisposables.add(zD.getInstance().event(h=>{if(!this._editor.hasModel())return;let u=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:l;if(u!==this._activeRenderMode){this._activeRenderMode=u;let g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),a.schedule(0)}}))}let i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(he(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let o,n=new Set;this._sessionDisposables.add(t.onWillDispose(()=>o?.cancel()));let s=this._sessionDisposables.add(new WS),a=new Le(async()=>{let l=Date.now(),{store:c,token:h}=s.reset();try{let u=await mc.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(a.delay=this._debounceInfo.update(t,Date.now()-l),h.isCancellationRequested){u.dispose();return}for(let g of u.provider)typeof g.onDidChangeInlayHints=="function"&&!n.has(g)&&(n.add(g),c.add(g.onDidChangeInlayHints(()=>{a.isScheduled()||a.schedule()})));c.add(u),this._updateHintsDecorators(u.ranges,u.items),this._cacheHintsForFastRestore(t)}catch(u){ae(u)}},this._debounceInfo.get(t));this._sessionDisposables.add(a),a.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(l=>{(l.scrollTopChanged||!a.isScheduled())&&a.schedule()}));let d=this._sessionDisposables.add(new we);this._sessionDisposables.add(this._editor.onDidChangeModelContent(l=>{let c=Math.max(a.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+c},d.value=po(()=>a.schedule(0),c),a.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(159)&&a.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>a.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new R,t=e.add(new nn(this._editor)),i=new R;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(o=>{let[n]=o,s=this._getInlayHintLabelPart(n),a=this._editor.getModel();if(!s||!a){i.clear();return}let d=new Me;i.add(he(()=>d.dispose(!0))),s.item.resolve(d.token),this._activeInlayHintPart=s.part.command||s.part.location?new HS(s,n.hasTriggerModifier):void 0;let l=a.validatePosition(s.item.hint.position).lineNumber,c=new C(l,1,l,a.getLineMaxColumn(l)),h=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],h),i.add(he(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],h)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async o=>{let n=this._getInlayHintLabelPart(o);if(n){let s=n.part;s.location?this._instaService.invokeFunction(dp,o,this._editor,s.location):h0.is(s.command)&&await this._invokeCommand(s.command,n.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(Q.None),ut(i.item.hint.textEdits))){let o=i.item.hint.textEdits.map(n=>Fe.replace(C.lift(n.range),n.text));this._editor.executeEdits("inlayHint.default",o),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!ha(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(R1,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof Ea&&t?.attachedData instanceof gd)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:dr.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[i,o]of this._decorationsMetadata){if(t.has(o.item))continue;let n=e.getDecorationRange(i);if(n){let s=new gc(n,o.item.anchor.direction),a=o.item.with({anchor:s});t.set(o.item,a)}}return Array.from(t.values())}_getHintsRanges(){let t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),o=[];for(let n of i.sort(C.compareRangesUsingStarts)){let s=t.validateRange(new C(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));o.length===0||!C.areIntersectingOrTouching(o[o.length-1],s)?o.push(s):o[o.length-1]=C.plusRange(o[o.length-1],s)}return o}_updateHintsDecorators(e,t){let i=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&e.some(_=>_.containsPosition(this._cursorInfo.position))){let{position:_}=this._cursorInfo;this._cursorInfo=void 0;let v=new Map;for(let y of this._editor.getLineDecorations(_.lineNumber)??[]){let E=this._decorationsMetadata.get(y.id);if(y.range.startColumn>_.column)continue;let N=E?.decoration.options[E.item.anchor.direction];if(N&&N.attachedData!==ud._whitespaceData){let A=v.get(E.item)??0;v.set(E.item,A+N.content.length)}}let w=t.filter(y=>y.anchor.range.startLineNumber===_.lineNumber&&y.anchor.range.endColumn<=_.column),I=Array.from(v.values()),b;for(;;){let y=w.shift(),E=I.shift();if(!E&&!y)break;if(y)i.set(y,E??0),b=y;else if(b&&E){let N=i.get(b);N+=E,N+=I.reduce((A,V)=>A+V,0),I.length=0;break}}}let o=[],n=(_,v,w,I,b)=>{let y={content:w,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:v.className,cursorStops:I,attachedData:b};o.push({item:_,classNameRef:v,decoration:{range:_.anchor.range,options:{description:"InlayHint",showIfCollapsed:_.anchor.range.isEmpty(),collapseOnReplaceEdit:!_.anchor.range.isEmpty(),stickiness:0,[_.anchor.direction]:this._activeRenderMode===0?y:void 0}}})},s=(_,v)=>{let w=this._ruleFactory.createClassNameRef({width:`${a/3|0}px`,display:"inline-block"});n(_,w,"\u200A",v?Oo.Right:Oo.None,ud._whitespaceData)},{fontSize:a,fontFamily:d,padding:l,isUniform:c}=this._getLayoutInfo(),h=this._editor.getOption(159).maximumLength,u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,d);let g={line:0,totalLen:0};for(let _=0;_<t.length;_++){let v=t[_];if(g.line!==v.anchor.range.startLineNumber&&(g={line:v.anchor.range.startLineNumber,totalLen:0}),h&&g.totalLen>h)continue;v.hint.paddingLeft&&s(v,!1);let w=typeof v.hint.label=="string"?[{label:v.hint.label}]:v.hint.label,I=i.get(v),b=0;for(let y=0;y<w.length;y++){let E=w[y],N=y===0,A=y===w.length-1,V={fontSize:`${a}px`,fontFamily:`var(${u}), ${ba.fontFamily}`,verticalAlign:c?"baseline":"middle",unicodeBidi:"isolate"};ut(v.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,v.hint),(E.command||E.location)&&this._activeInlayHintPart?.part.item===v&&this._activeInlayHintPart.part.index===y&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Ke(DE),V.cursor="pointer"));let ee=E.label;g.totalLen+=ee.length;let $=!1,Pe=h!==0?g.totalLen-h:0;if(Pe>0&&(ee=ee.slice(0,-Pe)+"\u2026",$=!0),b+=ee.length,I!==void 0){let He=b-I;He>=0&&(b-=He,ee=ee.slice(0,-(1+He))+"\u2026",$=!0)}if(l&&(N&&(A||$)?(V.padding=`1px ${Math.max(1,a/4)|0}px`,V.borderRadius=`${a/4|0}px`):N?(V.padding=`1px 0 1px ${Math.max(1,a/4)|0}px`,V.borderRadius=`${a/4|0}px 0 0 ${a/4|0}px`):A||$?(V.padding=`1px ${Math.max(1,a/4)|0}px 1px 0`,V.borderRadius=`0 ${a/4|0}px ${a/4|0}px 0`):V.padding="1px 0 1px 0"),n(v,this._ruleFactory.createClassNameRef(V),TP(ee),A&&!v.hint.paddingRight?Oo.Right:Oo.None,new gd(v,y)),$)break}if(I!==void 0&&b<I){let y=I-b;n(v,this._ruleFactory.createClassNameRef({}),"\u200A".repeat(y),Oo.None)}if(v.hint.paddingRight&&s(v,!0),o.length>ud._MAX_DECORATORS)break}let p=[];for(let[_,v]of this._decorationsMetadata){let w=this._editor.getModel()?.getDecorationRange(_);w&&e.some(I=>I.containsRange(w))&&(p.push(_),v.classNameRef.dispose(),this._decorationsMetadata.delete(_))}let f=Vo.capture(this._editor);this._editor.changeDecorations(_=>{let v=_.deltaDecorations(p,o.map(w=>w.decoration));for(let w=0;w<v.length;w++){let I=o[w];this._decorationsMetadata.set(v[w],I)}}),f.restore(this._editor)}_fillInColors(e,t){t.kind===_b.Parameter?(e.backgroundColor=Ke(HE),e.color=Ke(FE)):t.kind===_b.Type?(e.backgroundColor=Ke(AE),e.color=Ke(OE)):(e.backgroundColor=Ke(PE),e.color=Ke(NE))}_getLayoutInfo(){let e=this._editor.getOption(159),t=e.padding,i=this._editor.getOption(61),o=this._editor.getOption(58),n=e.fontSize;(!n||n<5||n>i)&&(n=i);let s=e.fontFamily||o;return{fontSize:n,fontFamily:s,padding:t,isUniform:!t&&s===o&&n===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};ks=ud=MP([hd(1,O),hd(2,bt),hd(3,k1),hd(4,De),hd(5,ze),hd(6,z)],ks);function TP(r){return r.replace(/[ \t]/g,"\xA0")}me.registerCommand("_executeInlayHintProvider",async(r,...e)=>{let[t,i]=e;le(re.isUri(t)),le(C.isIRange(i));let{inlayHintsProvider:o}=r.get(O),n=await r.get(mt).createModelReference(t);try{let s=await mc.create(o,n.object.textEditorModel,[C.lift(i)],Q.None),a=s.items.map(d=>d.hint);return setTimeout(()=>s.dispose(),0),a}finally{n.dispose()}});var NP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ms=function(r,e){return function(t,i){e(t,i,r)}},lp=class extends Rn{constructor(e,t,i,o){super(10,t,e.item.anchor.range,i,o,!0),this.part=e}},md=class extends Er{constructor(e,t,i,o,n,s,a,d){super(e,t,n,a,i,o,d),this._resolverService=s,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!ks.get(this._editor)||e.target.type!==6)return null;let i=e.target.detail.injectedText?.options;return i instanceof Ea&&i.attachedData instanceof gd?new lp(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i,o){return e instanceof lp?new ni(async n=>{let{part:s}=e;if(await s.item.resolve(o),o.isCancellationRequested)return;let a;typeof s.item.hint.tooltip=="string"?a=new nt().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(a=s.item.hint.tooltip),a&&n.emitOne(new pi(this,e.range,[a],!1,0)),ut(s.item.hint.textEdits)&&n.emitOne(new pi(this,e.range,[new nt().appendText(m(1164,"Double-click to insert"))],!1,10001));let d;if(typeof s.part.tooltip=="string"?d=new nt().appendText(s.part.tooltip):s.part.tooltip&&(d=s.part.tooltip),d&&n.emitOne(new pi(this,e.range,[d],!1,1)),s.part.location||s.part.command){let c,u=this._editor.getOption(86)==="altKey"?oi?m(1165,"cmd + click"):m(1166,"ctrl + click"):oi?m(1167,"option + click"):m(1168,"alt + click");s.part.location&&s.part.command?c=new nt().appendText(m(1169,"Go to Definition ({0}), right click for more",u)):s.part.location?c=new nt().appendText(m(1170,"Go to Definition ({0})",u)):s.part.command&&(c=new nt(`[${m(1171,"Execute Command")}](${E1(s.part.command)} "${s.part.command.title}") (${u})`,{isTrusted:!0})),c&&n.emitOne(new pi(this,e.range,[c],!1,1e4))}let l=this._resolveInlayHintLabelPartHover(s,o);for await(let c of l)n.emitOne(c)}):ni.EMPTY}async*_resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return;let{uri:i,range:o}=e.part.location,n=await this._resolverService.createModelReference(i);try{let s=n.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(s))return;for await(let a of cc(this._languageFeaturesService.hoverProvider,s,new P(o.startLineNumber,o.startColumn),t))ur(a.hover.contents)||(yield new pi(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal))}finally{n.dispose()}}};md=NP([Ms(1,gi),Ms(2,ce),Ms(3,wt),Ms(4,oe),Ms(5,mt),Ms(6,O),Ms(7,De)],md);var PP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},BS=function(r,e){return function(t,i){e(t,i,r)}},co=F,pc=class{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},M1={type:1,filter:{include:Ee.QuickFix},triggerAction:At.QuickFixHover},cp=class{constructor(e,t,i,o){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=o,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let i=this._editor.getModel(),o=e.range;if(!i.isValidRange(e.range))return[];let n=o.startLineNumber,s=i.getLineMaxColumn(n),a=[];for(let d of t){let l=d.range.startLineNumber===n?d.range.startColumn:1,c=d.range.endLineNumber===n?d.range.endColumn:s,h=this._markerDecorationsService.getMarker(i.uri,d);if(!h)continue;let u=new C(e.range.startLineNumber,l,e.range.startLineNumber,c);a.push(new pc(this,u,h))}return a}renderHoverParts(e,t){if(!t.length)return new Pi([]);let i=[];t.forEach(s=>{let a=this._renderMarkerHover(s);e.fragment.appendChild(a.hoverElement),i.push(a)});let o=t.length===1?t[0]:t.sort((s,a)=>Nt.compare(s.marker.severity,a.marker.severity))[0],n=this._renderMarkerStatusbar(e,o);return new Pi(i,n)}getAccessibleContent(e){return e.marker.message}_renderMarkerHover(e){let t=new R,i=co("div.hover-row"),o=B(i,co("div.marker.hover-contents")),{source:n,message:s,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(o);let l=B(o,co("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,n||a)if(a&&typeof a!="string"){let h=co("span");if(n){let f=B(h,co("span"));f.innerText=n}let u=B(h,co("a.code-link"));u.setAttribute("href",a.target.toString(!0)),t.add(te(u,"click",f=>{this._openerService.open(a.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()}));let g=B(u,co("span"));g.innerText=a.value;let p=B(o,h);p.style.opacity="0.6",p.style.paddingLeft="6px"}else{let h=B(o,co("span"));h.style.opacity="0.6",h.style.paddingLeft="6px",h.innerText=n&&a?`${n}(${a})`:n||`(${a})`}if(ut(d))for(let{message:h,resource:u,startLineNumber:g,startColumn:p}of d){let f=B(o,co("div"));f.style.marginTop="8px";let _=B(f,co("a"));_.innerText=`${li(u)}(${g}, ${p}): `,_.style.cursor="pointer",t.add(te(_,"click",w=>{if(w.stopPropagation(),w.preventDefault(),this._openerService){let I={selection:{startLineNumber:g,startColumn:p}};this._openerService.open(u,{fromUserGesture:!0,editorOptions:I}).catch(ae)}}));let v=B(f,co("span"));v.innerText=h,this._editor.applyFontInfo(v)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}_renderMarkerStatusbar(e,t){let i=new R;if(t.marker.severity===Nt.Error||t.marker.severity===Nt.Warning||t.marker.severity===Nt.Info){let o=xr.get(this._editor);o&&e.statusBar.addAction({label:m(1139,"View Problem"),commandId:Xl.ID,run:()=>{e.hide(),o.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(104)){let o=e.statusBar.append(co("div"));this.recentMarkerCodeActionsInfo&&(Tb.makeKey(this.recentMarkerCodeActionsInfo.marker)===Tb.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(o.textContent=m(1140,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);let n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?L.None:po(()=>o.textContent=m(1141,"Checking for quick fixes..."),200,i);o.textContent||(o.textContent="\xA0");let s=this.getCodeActions(t.marker);i.add(he(()=>s.cancel())),s.then(a=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),o.textContent=m(1142,"No quick fixes available");return}o.style.display="none";let d=!1;i.add(he(()=>{d||a.dispose()})),e.statusBar.addAction({label:m(1143,"Quick Fix..."),commandId:ja,run:c=>{d=!0;let h=Zo.get(this._editor),u=Ue(c);e.hide(),h?.showCodeActions(M1,a,{x:u.left,y:u.top,width:u.width,height:u.height})}});let l=a.validActions.find(c=>c.action.isAI);l&&e.statusBar.addAction({label:l.action.title,commandId:l.action.command?.id??"",iconClass:ne.asClassName(U.sparkle),run:()=>{Zo.get(this._editor)?.applyCodeAction(l,!1,!1,Go.FromProblemsHover)}}),e.onContentsChanged()},ae)}return i}getCodeActions(e){return Oe(t=>wr(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),M1,$i.None,t))}};cp=PP([BS(1,gE),BS(2,Uo),BS(3,O)],cp);var T1=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pd=function(r,e){return function(t,i){e(t,i,r)}},VS,zS,hp=VS=class extends L{constructor(e,t,i,o,n,s,a){super();let d=t.hoverParts;this._renderedHoverParts=this._register(new jS(e,i,d,o,n,s,a));let l=t.options,c=l.anchor,{showAtPosition:h,showAtSecondaryPosition:u}=VS.computeHoverPositions(e,c.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=u,this.initialMousePosX=c.initialMousePosX,this.initialMousePosY=c.initialMousePosY,this.shouldFocus=l.shouldFocus,this.source=l.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(e){this._renderedHoverParts.focusHoverPartWithIndex(e)}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let o=1;if(e.hasModel()){let c=e._getViewModel(),h=c.coordinatesConverter,u=h.convertModelRangeToViewRange(t),g=c.getLineMinColumn(u.startLineNumber),p=new P(u.startLineNumber,g);o=h.convertViewPositionToModelPosition(p).column}let n=t.startLineNumber,s=t.startColumn,a;for(let c of i){let h=c.range,u=h.startLineNumber===n,g=h.endLineNumber===n;if(u&&g){let f=h.startColumn,_=Math.min(s,f);s=Math.max(_,o)}c.forceShowAtRange&&(a=h)}let d,l;if(a){let c=a.getStartPosition();d=c,l=c}else d=t.getStartPosition(),l=new P(n,s);return{showAtPosition:d,showAtSecondaryPosition:l}}};hp=VS=T1([pd(4,ce),pd(5,wt),pd(6,Dt)],hp);var US=class{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}},jS=class extends L{static{zS=this}static{this._DECORATION_OPTIONS=X.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,o,n,s,a){super(),this._hoverService=s,this._clipboardService=a,this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=o,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,o,n,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return L.None;let i=t[0].range;for(let n of t){let s=n.range;i=C.plusRange(i,s)}let o=e.createDecorationsCollection();return o.set([{range:i,options:zS._DECORATION_OPTIONS}]),he(()=>{o.clear()})}_renderParts(e,t,i,o,n){let s=new id(o,n),a={fragment:this._fragment,statusBar:s,...i},d=new R;d.add(s);for(let c of e){let h=this._renderHoverPartsForParticipant(t,c,a);d.add(h);for(let u of h.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:c,hoverPart:u.hoverPart,hoverElement:u.hoverElement})}let l=this._renderStatusBar(this._fragment,s);return l&&(d.add(l),this._renderedParts.push({type:"statusBar",hoverElement:l.hoverElement,actions:l.actions})),d}_renderHoverPartsForParticipant(e,t,i){let o=e.filter(s=>s.owner===t);return o.length>0?t.renderHoverParts(i,o):new Pi([])}_renderStatusBar(e,t){if(t.hasContent)return new US(e,t)}_registerListenersOnRenderedParts(){let e=new R;return this._renderedParts.forEach((t,i)=>{let o=t.hoverElement;o.tabIndex=0,e.add(te(o,fe.FOCUS_IN,n=>{n.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(te(o,fe.FOCUS_OUT,n=>{n.stopPropagation(),this._focusedHoverPartIndex=-1})),t.type==="hoverPart"&&t.hoverPart instanceof pc&&e.add(new qm(o,()=>t.participant.getAccessibleContent(t.hoverPart),this._clipboardService,this._hoverService))}),e}_updateMarkdownAndColorParticipantInfo(e){let t=e.find(i=>i instanceof Er&&!(i instanceof md));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof ld)}focusHoverPartWithIndex(e){e<0||e>=this._renderedParts.length||this._renderedParts[e].hoverElement.focus()}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;let o;t>=0?o={start:t,endExclusive:t+1}:o=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let n=o.start;n<o.endExclusive;n++){let s=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,n);if(s===void 0)continue;let a=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,s);a&&(this._renderedParts[n]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:a.hoverPart,hoverElement:a.hoverElement})}i&&(t>=0?this.focusHoverPartWithIndex(t):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){let i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;let n=this._renderedParts.findIndex(s=>s.type==="hoverPart"&&s.participant===e);if(n===-1)throw new et;return t-n}_findRangeOfMarkdownHoverParts(e){let t=this._renderedParts.slice(),i=t.findIndex(s=>s.type==="hoverPart"&&s.participant===e),o=t.reverse().findIndex(s=>s.type==="hoverPart"&&s.participant===e),n=o>=0?t.length-o:o;return{start:i,endExclusive:n+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};jS=zS=T1([pd(4,ce),pd(5,wt),pd(6,Dt)],jS);var OP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},up=function(r,e){return function(t,i){e(t,i,r)}},gp=class extends L{constructor(e,t,i,o,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._hoverService=o,this._clipboardService=n,this._currentResult=null,this._renderedContentHover=this._register(new we),this._onContentsChanged=this._register(new H),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Pm,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new td(this._editor,new Om(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let e=[];for(let t of Zi.getAll()){let i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>t.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(t=>{this._participants.forEach(i=>i.handleScroll?.(t))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(t=>t.handleContentsChanged?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{let i=t.hasLoadingMessage?this._addLoadingMessage(t):t.value;this._withResult(new ec(i,t.isComplete,t.options))}));let e=this._contentHoverWidget.getDomNode();this._register(wi(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(wi(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(xa.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(e,t,i,o,n){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):!1;let a=this._editor.getOption(69).sticky,d=n&&this._contentHoverWidget.isMouseGettingCloser(n.event.posx,n.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,o,!0),!0):e?this._currentResult&&this._currentResult.options.anchor.equals(e)?!0:this._currentResult&&e.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)?(this._currentResult&&this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,o,n){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(e))return;this._hoverOperation.cancel();let a={anchor:e,source:i,shouldFocus:o,insistOnKeepingHoverVisible:n};this._hoverOperation.start(t,a)}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){for(let t of this._participants){if(!t.createLoadingMessage)continue;let i=t.createLoadingMessage(e.options.anchor);if(i)return e.value.slice(0).concat([i])}return e.value}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;let o=e.hoverParts.length===0,n=e.options.insistOnKeepingHoverVisible;o&&n||this._setCurrentResult(e)}_showHover(e){let t=this._getHoverContext();this._renderedContentHover.value=new hp(this._editor,e,this._participants,t,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover.value):this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach(e=>e.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)},focus:()=>this.focus()}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;let i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);let n=i[0];return this._startShowingOrUpdateHover(n,0,0,!1,e)}_findHoverAnchorCandidates(e){let t=[];for(let o of this._participants){if(!o.suggestHoverAnchor)continue;let n=o.suggestHoverAnchor(e);n&&t.push(n)}let i=e.target;switch(i.type){case 6:{t.push(new ed(0,i.range,e.event.posx,e.event.posy));break}case 7:{let o=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<o))break;t.push(new ed(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((o,n)=>n.priority-o.priority),t}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Lr(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,o){this._startShowingOrUpdateHover(new ed(0,e,void 0,void 0),t,i,o,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover.value?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(e){this._renderedContentHover.value?.focusHoverPartWithIndex(e)}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover.value?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};gp=OP([up(1,z),up(2,ce),up(3,wt),up(4,Dt)],gp);function mp(r){let e=r.target;return!!e&&e.type===6&&e.detail.injectedText?.options.attachedData===CS}var AP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},KS=function(r,e){return function(t,i){e(t,i,r)}},qS,yt=class extends L{static{qS=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i,o){super(),this._editor=e,this._instantiationService=i,this._keybindingService=o,this._onHoverContentsChanged=this._register(new H),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new R,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new Le(()=>{this._mouseMoveEvent&&this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(t.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(t.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(qS.ID)}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled||this._cancelSchedulerAndHide(),this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){this._ignoreMouseEvents||(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideContentHover()}_onEditorMouseDown(e){this._ignoreMouseEvents||(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepHoverWidgetVisible(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()||mp(e)}_isMouseOnContentHoverWidget(e){return this._contentWidget?Lr(this._contentWidget.getDomNode(),e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._ignoreMouseEvents||(this._isMouseDown=!1)}_onEditorMouseLeave(e){this._ignoreMouseEvents||this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepCurrentHover(e){let t=this._contentWidget;if(!t)return!1;let i=this._hoverSettings.sticky,o=(c,h)=>{let u=this._isMouseOnContentHoverWidget(c);return h&&u},n=c=>{let h=t.isColorPickerVisible,u=this._isMouseOnContentHoverWidget(c),g=h&&u,p=h&&this._isMouseDown;return g||p},s=(c,h)=>{let u=c.event.browserEvent.view;return u?h&&t.containsNode(u.document.activeElement)&&!u.getSelection()?.isCollapsed:!1},a=t.isFocused,d=t.isResizing,l=this._hoverSettings.sticky&&t.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||a||d||l||o(e,i)||n(e)||s(e,i)}_onEditorMouseMove(e){if(this._ignoreMouseEvents)return;if(this._mouseMoveEvent=e,this._shouldKeepCurrentHover(e)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(e)}_shouldRescheduleHoverComputation(){let e=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&e>0}_reactToEditorMouseMove(e){this._hoverSettings.enabled&&this._getOrCreateContentWidget().showsOrWillShow(e)||this.hideContentHover()}_onKeyDown(e){if(this._ignoreMouseEvents||!this._contentWidget)return;let t=this._isPotentialKeyboardShortcut(e),i=this._isModifierKeyPressed(e);t||i||this._contentWidget.isFocused&&e.keyCode===2||this.hideContentHover()}_isPotentialKeyboardShortcut(e){if(!this._editor.hasModel()||!this._contentWidget)return!1;let t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1,o=t.kind===2&&(t.commandId===Lm||t.commandId===Ls||t.commandId===Ds)&&this._contentWidget.isVisible;return i||o}_isModifierKeyPressed(e){return e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4}hideContentHover(){Mn.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(gp,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,o){this._getOrCreateContentWidget().startShowingAtRange(e,t,i,o)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};yt=qS=AP([KS(1,zo),KS(2,z),KS(3,ce)],yt);var fc=class extends L{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){let t=this._editor.getOption(168);if(t!=="click"&&t!=="clickAndHover"||!mp(e))return;let i=this._editor.getContribution(yt.ID);if(!i||i.isColorPickerVisible)return;let o=e.target.range;if(!o)return;let n=new C(o.startLineNumber,o.startColumn+1,o.endLineNumber,o.endColumn+1);i.showContentHover(n,1,1,!1)}};var FP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},HP=function(r,e){return function(t,i){e(t,i,r)}},GS=class r{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o}static fromBaseColor(e,t){return new r(e,t.range,t.model,t.provider)}},$S=class extends L{constructor(e,t,i,o){super();let n=e.getModel(),s=i.model;this.color=i.model.color,this.colorPicker=this._register(new dd(t.fragment,s,e.getOption(163),o,"standalone")),this._register(s.onColorFlushed(a=>{this.color=a})),this._register(s.onDidChangeColor(a=>{Rs(n,s,a,i.range,i)})),this._register(e.onDidChangeModelContent(a=>{t.hide(),e.focus()})),Rs(n,s,this.color,i.range,i)}},pp=class{constructor(e,t){this._editor=e,this._themeService=t}async createColorHover(e,t,i){if(!this._editor.hasModel()||!kn.get(this._editor))return null;let n=await xm(i,this._editor.getModel(),Q.None),s=null,a=null;for(let u of n){let g=u.colorInfo;C.containsRange(g.range,e.range)&&(s=g,a=u.provider)}let d=s??e,l=a??t,c=!!s;return{colorHover:GS.fromBaseColor(this,await np(this._editor.getModel(),d,l)),foundInEditor:c}}async updateEditorModel(e){if(!this._editor.hasModel())return;let t=e.model,i=new C(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Rs(this._editor.getModel(),t,this._color,i,e),i=rp(this._editor,i,t))}renderHoverParts(e,t){if(!(t.length===0||!this._editor.hasModel()))return this._setMinimumDimensions(e),this._renderedParts=new $S(this._editor,e,t[0],this._themeService),this._renderedParts}_setMinimumDimensions(e){let t=this._editor.getOption(75)+8;e.setMinimumDimensions(new Ce(302,t))}get _color(){return this._renderedParts?.color}};pp=FP([HP(1,je)],pp);var WP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},_c=function(r,e){return function(t,i){e(t,i,r)}},ZS,YS=class{constructor(e,t){this.value=e,this.foundInEditor=t}},N1=8,BP=22,fp=class extends L{static{ZS=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,o,n,s,a,d){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=n,this._languageFeaturesService=s,this._editorWorkerService=a,this._hoverService=d,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new H),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new we),this._renderedStatusBar=this._register(new we),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=o.createInstance(pp,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let l=this._editor.getSelection(),c=l?{startLineNumber:l.startLineNumber,startColumn:l.startColumn,endLineNumber:l.endLineNumber,endColumn:l.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(Ui(this._body));this._register(h.onDidBlur(u=>{this.hide()})),this._register(h.onDidFocus(u=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(u=>{let g=u.target.element?.classList;g&&g.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(u=>{this._render(u.value,u.foundInEditor)})),this._start(c),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return ZS.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;let e=this._editor.getOption(69).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){let t=await this._computeAsync(e);t&&this._onResult.fire(new YS(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;let t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new Is(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){let i=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new id(this._keybindingService,this._hoverService));let o={fragment:i,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=e,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(o,[e]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let n=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),n.layout();let s=n.body,a=s.saturationBox.domNode.clientWidth,d=s.domNode.clientWidth-a-BP-N1,l=n.body.enterButton;l?.onClicked(()=>{this.updateEditor(),this.hide()});let c=n.header,h=c.pickedColorNode;h.style.width=a+N1+"px";let u=c.originalColorNode;u.style.width=d+"px",n.header.closeButton?.onClicked(()=>{this.hide()}),t&&(l&&(l.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};fp=ZS=WP([_c(3,z),_c(4,ce),_c(5,O),_c(6,ui),_c(7,wt)],fp);var VP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},P1=function(r,e){return function(t,i){e(t,i,r)}},XS,Tn=class extends L{static{XS=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=S.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=S.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(fp,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(e){return e.getContribution(XS.ID)}};Tn=XS=VP([P1(1,Y),P1(2,z)],Tn);var _p=class extends ci{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...x(889,"Show or Focus Standalone Color Picker"),mnemonicTitle:m(888,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:j.CommandPalette}],metadata:{description:x(890,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){Tn.get(t)?.showOrFocus()}},vp=class extends M{constructor(){super({id:"editor.action.hideColorPicker",label:x(891,"Hide the Color Picker"),precondition:S.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:x(892,"Hide the standalone color picker.")}})}run(e,t){Tn.get(t)?.hide()}},bp=class extends M{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:x(893,"Insert Color with Standalone Color Picker"),precondition:S.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:x(894,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){Tn.get(t)?.insertColor()}};D(vp);D(bp);ge(_p);K(fc.ID,fc,2);K(Tn.ID,Tn,1);K(kn.ID,kn,1);ro(Sm);Zi.register(ld);me.registerCommand("_executeDocumentColorProvider",function(r,...e){let[t]=e;if(!(t instanceof re))throw Ri();let{model:i,colorProviderRegistry:o,defaultColorDecoratorsEnablement:n}=fS(r,t);return Im(new wm,o,i,Q.None,n)});me.registerCommand("_executeColorPresentationProvider",function(r,...e){let[t,i]=e;if(!i)return;let{uri:o,range:n}=i;if(!(o instanceof re)||!Array.isArray(t)||t.length!==4||!C.isIRange(n))throw Ri();let{model:s,colorProviderRegistry:a,defaultColorDecoratorsEnablement:d}=fS(r,o),[l,c,h,u]=t;return Im(new ym({range:n,color:{red:l,green:c,blue:h,alpha:u}}),a,s,Q.None,d)});var Nn=class r{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;let o=t.length,n=e.length;if(i+o>n)return!1;for(let s=0;s<o;s++){let a=e.charCodeAt(i+s),d=t.charCodeAt(s);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,o,n,s){let a=e.startLineNumber,d=e.startColumn,l=e.endLineNumber,c=e.endColumn,h=n.getLineContent(a),u=n.getLineContent(l),g=h.lastIndexOf(t,d-1+t.length),p=u.indexOf(i,c-1-i.length);if(g!==-1&&p!==-1)if(a===l)h.substring(g+t.length,p).indexOf(i)>=0&&(g=-1,p=-1);else{let _=h.substring(g+t.length),v=u.substring(0,p);(_.indexOf(i)>=0||v.indexOf(i)>=0)&&(g=-1,p=-1)}let f;g!==-1&&p!==-1?(o&&g+t.length<h.length&&h.charCodeAt(g+t.length)===32&&(t=t+" "),o&&p>0&&u.charCodeAt(p-1)===32&&(i=" "+i,p-=1),f=r._createRemoveBlockCommentOperations(new C(a,g+t.length+1,l,p+1),t,i)):(f=r._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=f.length===1?i:null);for(let _ of f)s.addTrackedEditOperation(_.range,_.text)}static _createRemoveBlockCommentOperations(e,t,i){let o=[];return C.isEmpty(e)?o.push(Fe.delete(new C(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(o.push(Fe.delete(new C(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),o.push(Fe.delete(new C(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),o}static _createAddBlockCommentOperations(e,t,i,o){let n=[];return C.isEmpty(e)?n.push(Fe.replace(new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(n.push(Fe.insert(new P(e.startLineNumber,e.startColumn),t+(o?" ":""))),n.push(Fe.insert(new P(e.endLineNumber,e.endColumn),(o?" ":"")+i))),n}getEditOperations(e,t){let i=this._selection.startLineNumber,o=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);let n=e.getLanguageIdAtPosition(i,o),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;!s||!s.blockCommentStartToken||!s.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let i=t.getInverseEditOperations();if(i.length===2){let o=i[0],n=i[1];return new G(o.range.endLineNumber,o.range.endColumn,n.range.startLineNumber,n.range.startColumn)}else{let o=i[0].range,n=this._usedEndToken?-this._usedEndToken.length-1:0;return new G(o.endLineNumber,o.endColumn+n,o.endLineNumber,o.endColumn+n)}}};var Cp=class r{constructor(e,t,i,o,n,s,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=o,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,o){e.tokenization.tokenizeIfCheap(t);let n=e.getLanguageIdAtPosition(t,1),s=o.getLanguageConfiguration(n).comments,a=s?s.lineCommentToken:null;if(!a)return null;let d=[];for(let l=0,c=i-t+1;l<c;l++)d[l]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,o,n,s,a,d,l){let c=!0,u=d.getLanguageConfiguration(l).comments?.lineCommentNoIndent??!1,g;e===0?g=!0:e===1?g=!1:g=!0;for(let p=0,f=o.length;p<f;p++){let _=o[p],v=n+p;if(v===n&&a){_.ignore=!0;continue}let w=i.getLineContent(v),I=il(w);if(I===-1){_.ignore=s,_.commentStrOffset=u?0:w.length;continue}c=!1;let b=u?0:I;if(_.ignore=!1,_.commentStrOffset=b,g&&!Nn._haystackHasNeedleAtOffset(w,_.commentStr,b)&&(e===0?g=!1:e===1||(_.ignore=!0)),g&&t){let y=I+_.commentStrLength;y<w.length&&w.charCodeAt(y)===32&&(_.commentStrLength+=1)}}if(e===0&&c){g=!1;for(let p=0,f=o.length;p<f;p++)o[p].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:o}}static _gatherPreflightData(e,t,i,o,n,s,a,d){let l=r._gatherPreflightCommentStrings(i,o,n,d),c=i.getLanguageIdAtPosition(o,1);return l===null?{supported:!1}:r._analyzeLines(e,t,i,l,o,s,a,d,c)}_executeLineComments(e,t,i,o){let n;i.shouldRemoveComments?n=r._createRemoveLineCommentsOperations(i.lines,o.startLineNumber):(r._normalizeInsertionPoint(e,i.lines,o.startLineNumber,this._indentSize),n=this._createAddLineCommentsOperations(i.lines,o.startLineNumber));let s=new P(o.positionLineNumber,o.positionColumn);for(let a=0,d=n.length;a<d;a++)t.addEditOperation(n[a].range,n[a].text),C.isEmpty(n[a].range)&&C.getStartPosition(n[a].range).equals(s)&&e.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=(n[a].text||"").length);this._selectionId=t.trackSelection(o)}_attemptRemoveBlockComment(e,t,i,o){let n=t.startLineNumber,s=t.endLineNumber,a=o.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),d=e.getLineContent(n).lastIndexOf(i,a-1),l=e.getLineContent(s).indexOf(o,t.endColumn-1-i.length);return d!==-1&&l===-1&&(l=e.getLineContent(n).indexOf(o,d+i.length),s=n),d===-1&&l!==-1&&(d=e.getLineContent(s).lastIndexOf(i,l),n=s),t.isEmpty()&&(d===-1||l===-1)&&(d=e.getLineContent(n).indexOf(i),d!==-1&&(l=e.getLineContent(n).indexOf(o,d+i.length))),d!==-1&&e.getLineContent(n).charCodeAt(d+i.length)===32&&(i+=" "),l!==-1&&e.getLineContent(s).charCodeAt(l-1)===32&&(o=" "+o,l-=1),d!==-1&&l!==-1?Nn._createRemoveBlockCommentOperations(new C(n,d+i.length+1,s,l+1),i,o):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);let o=e.getLanguageIdAtPosition(i.startLineNumber,1),n=this.languageConfigurationService.getLanguageConfiguration(o).comments;if(!n||!n.blockCommentStartToken||!n.blockCommentEndToken)return;let s=n.blockCommentStartToken,a=n.blockCommentEndToken,d=this._attemptRemoveBlockComment(e,i,s,a);if(!d){if(i.isEmpty()){let l=e.getLineContent(i.startLineNumber),c=il(l);c===-1&&(c=l.length),d=Nn._createAddBlockCommentOperations(new C(i.startLineNumber,c+1,i.startLineNumber,l.length+1),s,a,this._insertSpace)}else d=Nn._createAddBlockCommentOperations(new C(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),s,a,this._insertSpace);d.length===1&&(this._deltaColumn=s.length+1)}this._selectionId=t.trackSelection(i);for(let l of d)t.addEditOperation(l.range,l.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new C(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
|
|
11
|
+
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return C1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return S1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){let t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){let i=this._codeEditor.getOption(50).history,o=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new zm(null,this._contextViewProvider,{width:_P,label:oP,placeholder:nP,appendCaseSensitiveLabel:this._keybindingLabelFor(Te.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Te.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Te.ToggleRegexCommand),validation:h=>{if(h.length===0||!this._findInput.getRegex())return null;try{return new RegExp(h,"gu"),null}catch(u){return{content:u.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>TS(this._keybindingService),inputBoxStyles:Rb,toggleStyles:Eb,history:i==="workspace"?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(h=>{h.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(h)})),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(h=>{h.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),h.preventDefault())})),this._register(this._findInput.onRegexKeyDown(h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),h.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(h=>{this._tryUpdateHeight()&&this._showViewZone()})),JL&&this._register(this._findInput.onMouseDown(h=>this._onFindInputMouseDown(h))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();let n={groupId:"find-widget"};this._prevBtn=this._register(new on({label:rP+this._keybindingLabelFor(Te.PreviousMatchFindAction),icon:eP,hoverLifecycleOptions:n,onTrigger:()=>{Gn(this._codeEditor.getAction(Te.PreviousMatchFindAction)).run().then(void 0,ae)}},this._hoverService)),this._nextBtn=this._register(new on({label:sP+this._keybindingLabelFor(Te.NextMatchFindAction),icon:tP,hoverLifecycleOptions:n,onTrigger:()=>{Gn(this._codeEditor.getAction(Te.NextMatchFindAction)).run().then(void 0,ae)}},this._hoverService));let s=document.createElement("div");s.className="find-part",s.appendChild(this._findInput.domNode);let a=document.createElement("div");a.className="find-actions",s.appendChild(a),a.appendChild(this._matchesCount),a.appendChild(this._prevBtn.domNode),a.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Pa({icon:XN,title:aP+this._keybindingLabelFor(Te.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:n,inputActiveOptionBackground:de(or),inputActiveOptionBorder:de(Sa),inputActiveOptionForeground:de(wa)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let h=this._codeEditor.getSelections();h=h.map(u=>(u.endColumn===1&&u.endLineNumber>u.startLineNumber&&(u=u.setEndPosition(u.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(u.endLineNumber-1))),u.isEmpty()?null:u)).filter(u=>!!u),h.length&&this._state.change({searchScope:h},!0)}}else this._state.change({searchScope:null},!0)})),a.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new on({label:dP+this._keybindingLabelFor(Te.CloseFindWidgetCommand),icon:Zu,hoverLifecycleOptions:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),h.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new Um(null,void 0,{label:lP,placeholder:cP,appendPreserveCaseLabel:this._keybindingLabelFor(Te.TogglePreserveCaseCommand),history:o==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>TS(this._keybindingService),inputBoxStyles:Rb,toggleStyles:Eb,hoverLifecycleOptions:n},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(h=>this._onReplaceInputKeyDown(h))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(h=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(h=>{h.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),h.preventDefault())})),this._replaceBtn=this._register(new on({label:hP+this._keybindingLabelFor(Te.ReplaceOneAction),icon:QN,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replace()},onKeyDown:h=>{h.equals(1026)&&(this._closeBtn.focus(),h.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new on({label:uP+this._keybindingLabelFor(Te.ReplaceAllAction),icon:JN,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let d=document.createElement("div");d.className="replace-part",d.appendChild(this._replaceInput.domNode);let l=document.createElement("div");l.className="replace-actions",d.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new on({label:gP,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=iP,this._domNode.role="dialog",this._domNode.style.width=`${tn}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(s),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(d),this._resizeSash=this._register(new yn(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let c=tn;this._register(this._resizeSash.onDidStart(()=>{c=yi(this._domNode)})),this._register(this._resizeSash.onDidChange(h=>{this._resized=!0;let u=c+h.startX-h.currentX;if(u<tn)return;let g=parseFloat(PD(this._domNode).maxWidth)||0;u>g||(this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let h=yi(this._domNode);if(h<tn)return;let u=tn;if(!this._resized||h===tn){let g=this._codeEditor.getLayoutInfo();u=g.width-28-g.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=yi(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}getViewState(){let e=!1;return this._viewZone&&this._viewZoneId&&(e=this._viewZone.heightInPx>this._codeEditor.getScrollTop()),{widgetViewZoneVisible:e,scrollTop:this._codeEditor.getScrollTop()}}setViewState(e){e&&e.widgetViewZoneVisible&&this._layoutViewZone(e.scrollTop)}},on=class extends bn{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+ne.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},e.hoverLifecycleOptions)),this.onclick(this._domNode,o=>{this._opts.onTrigger(),o.preventDefault()}),this.onkeydown(this._domNode,o=>{if(o.equals(10)||o.equals(3)){this._opts.onTrigger(),o.preventDefault();return}this._opts.onKeyDown?.(o)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ne.asClassNameArray(f1)),this._domNode.classList.add(...ne.asClassNameArray(_1))):(this._domNode.classList.remove(...ne.asClassNameArray(_1)),this._domNode.classList.add(...ne.asClassNameArray(f1)))}};sr((r,e)=>{let t=r.getColor(Iu);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${vn(r.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);let i=r.getColor(TE);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${vn(r.type)?"dashed":"solid"} ${i}; }`);let o=r.getColor(to);o&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${o}; }`);let n=r.getColor(RE);n&&e.addRule(`.monaco-editor .findMatchInline { color: ${n}; }`);let s=r.getColor(ME);s&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${s}; }`)});var bP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},w1=function(r,e){return function(t,i){e(t,i,r)}},qm=class extends L{constructor(e,t,i,o){super(),this._container=e,this._getContent=t,this._clipboardService=i,this._hoverService=o,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new on({label:m(1128,"Copy"),icon:U.copy,onTrigger:()=>this._copyContent(),className:"hover-copy-button"},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){let e=this._getContent();e&&(await this._clipboardService.writeText(e),ji(m(1129,"Copied to clipboard")))}};qm=bP([w1(2,Dt),w1(3,wt)],qm);var NS=class{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}};async function CP(r,e,t,i,o){let n=await Promise.resolve(r.provideHover(t,i,o)).catch(_e);if(!(!n||!SP(n)))return new NS(r,n,e)}function cc(r,e,t,i,o=!1){let s=r.ordered(e,o).map((a,d)=>CP(a,d,e,t,i));return ni.fromPromisesResolveOrder(s).coalesce()}async function y1(r,e,t,i,o=!1){let n=[];for await(let s of cc(r,e,t,i,o))n.push(s.hover);return n}Lt("_executeHoverProvider",(r,e,t)=>{let i=r.get(O);return y1(i.hoverProvider,e,t,Q.None)});Lt("_executeHoverProvider_recursive",(r,e,t)=>{let i=r.get(O);return y1(i.hoverProvider,e,t,Q.None,!0)});function SP(r){let e=typeof r.range<"u",t=typeof r.contents<"u"&&r.contents&&r.contents.length>0;return e&&t}var wP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},sd=function(r,e){return function(t,i){e(t,i,r)}},Es=F,yP=Ae("hover-increase-verbosity",U.add,m(1130,"Icon for increaseing hover verbosity.")),xP=Ae("hover-decrease-verbosity",U.remove,m(1131,"Icon for decreasing hover verbosity.")),pi=class{constructor(e,t,i,o,n,s=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=o,this.ordinal=n,this.source=s}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Gm=class{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Ii.Increase:return this.hover.canIncreaseVerbosity??!1;case Ii.Decrease:return this.hover.canDecreaseVerbosity??!1}}},Er=class{constructor(e,t,i,o,n,s,a){this._editor=e,this._markdownRendererService=t,this._configurationService=i,this._languageFeaturesService=o,this._keybindingService=n,this._hoverService=s,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new pi(this,e.range,[new nt().appendText(m(1132,"Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),s=[],a=1e3,d=i.getLineLength(o),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(133),h=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l}),u=!1;c>=0&&d>c&&e.range.startColumn>=c&&(u=!0,s.push(new pi(this,e.range,[{value:m(1133,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!u&&typeof h=="number"&&d>=h&&s.push(new pi(this,e.range,[{value:m(1134,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let g=!1;for(let p of t){let f=p.range.startLineNumber===o?p.range.startColumn:1,_=p.range.endLineNumber===o?p.range.endColumn:n,v=p.options.hoverMessage;if(!v||ur(v))continue;p.options.beforeContentClassName&&(g=!0);let w=new C(e.range.startLineNumber,f,e.range.startLineNumber,_);s.push(new pi(this,w,ru(v),g,a++))}return s}computeAsync(e,t,i,o){if(!this._editor.hasModel()||e.type!==1)return ni.EMPTY;let n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,o):ni.EMPTY}async*_getMarkdownHovers(e,t,i,o){let n=i.range.getStartPosition(),s=cc(e,t,n,o);for await(let a of s)if(!ur(a.hover.contents)){let d=a.hover.range?C.lift(a.hover.range):i.range,l=new Gm(a.hover,a.provider,n);yield new pi(this,d,a.hover.contents,!1,a.ordinal,l)}}renderHoverParts(e,t){return this._renderedHoverParts=new PS(t,e.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,e.onContentsChanged),this._renderedHoverParts}handleScroll(e){this._renderedHoverParts?.handleScroll(e)}getAccessibleContent(e){return this._renderedHoverParts?.getAccessibleContent(e)??""}updateMarkdownHoverVerbosityLevel(e,t){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t))}};Er=wP([sd(1,gi),sd(2,oe),sd(3,O),sd(4,ce),sd(5,wt),sd(6,De)],Er);var ad=class{constructor(e,t,i,o){this.hoverPart=e,this.hoverElement=t,this.disposables=i,this.actionsContainer=o}dispose(){this.disposables.dispose()}},PS=class{constructor(e,t,i,o,n,s,a,d,l,c){this._hoverParticipant=i,this._editor=o,this._commandService=n,this._keybindingService=s,this._hoverService=a,this._configurationService=d,this._markdownRendererService=l,this._onFinishedRendering=c,this._ongoingHoverOperations=new Map,this._disposables=new R,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(he(()=>{this.renderedHoverParts.forEach(h=>{h.dispose()}),this._ongoingHoverOperations.forEach(h=>{h.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(_o(o=>o.ordinal,vo)),e.map(o=>{let n=this._renderHoverPart(o,i);return t.appendChild(n.hoverElement),n})}_renderHoverPart(e,t){let i=this._renderMarkdownHover(e,t),o=i.hoverElement,n=e.source,s=new R;if(s.add(i),!n)return new ad(e,o,s);let a=n.supportsVerbosityAction(Ii.Increase),d=n.supportsVerbosityAction(Ii.Decrease);if(!a&&!d)return new ad(e,o,s);let l=Es("div.verbosity-actions");o.prepend(l);let c=Es("div.verbosity-actions-inner");return l.append(c),s.add(this._renderHoverExpansionAction(c,Ii.Increase,a)),s.add(this._renderHoverExpansionAction(c,Ii.Decrease,d)),new ad(e,o,s,c)}_renderMarkdownHover(e,t){return I1(this._editor,e,this._markdownRendererService,t)}_renderHoverExpansionAction(e,t,i){let o=new R,n=t===Ii.Increase,s=B(e,Es(ne.asCSSSelector(n?yP:xP)));s.tabIndex=0;let a=new nR("mouse",void 0,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(o.add(this._hoverService.setupManagedHover(a,s,IP(this._keybindingService,t))),!i)return s.classList.add("disabled"),o;s.classList.add("enabled");let d=()=>this._commandService.executeCommand(t===Ii.Increase?Ls:Ds,{focus:!0});return o.add(new wR(s,d)),o.add(new yR(s,d,[3,10])),o}handleScroll(e){this.renderedHoverParts.forEach(t=>{let i=t.actionsContainer;if(!i)return;let o=t.hoverElement,s=e.scrollTop+e.height,a=o.offsetTop,d=o.clientHeight,l=a+d,c=22,h;l<=s||a>=s?h=d-c:h=s-a-c,i.style.top=`${h}px`})}async updateMarkdownHoverPartVerbosityLevel(e,t){let i=this._editor.getModel();if(!i)return;let o=this._getRenderedHoverPartAtIndex(t),n=o?.hoverPart.source;if(!o||!n?.supportsVerbosityAction(e))return;let s=await this._fetchHover(n,i,e);if(!s)return;let a=new Gm(s,n.hoverProvider,n.hoverPosition),d=o.hoverPart,l=new pi(this._hoverParticipant,d.range,s.contents,d.isBeforeContent,d.ordinal,a),c=this._updateRenderedHoverPart(t,l);if(c)return{hoverPart:l,hoverElement:c.hoverElement}}getAccessibleContent(e){let t=this.renderedHoverParts.findIndex(s=>s.hoverPart===e);if(t===-1)return;let i=this._getRenderedHoverPartAtIndex(t);return i?i.hoverElement.innerText.replace(/[^\S\n\r]+/gu," "):void 0}async _fetchHover(e,t,i){let o=i===Ii.Increase?1:-1,n=e.hoverProvider,s=this._ongoingHoverOperations.get(n);s&&(s.tokenSource.cancel(),o+=s.verbosityDelta);let a=new Me;this._ongoingHoverOperations.set(n,{verbosityDelta:o,tokenSource:a});let d={verbosityRequest:{verbosityDelta:o,previousHover:e.hover}},l;try{l=await Promise.resolve(n.provideHover(t,e.hoverPosition,a.token,d))}catch(c){_e(c)}return a.dispose(),this._ongoingHoverOperations.delete(n),l}_updateRenderedHoverPart(e,t){if(e>=this.renderedHoverParts.length||e<0)return;let i=this._renderHoverPart(t,this._onFinishedRendering),o=this.renderedHoverParts[e],n=o.hoverElement,s=i.hoverElement,a=Array.from(s.children);n.replaceChildren(...a);let d=new ad(t,n,i.disposables,i.actionsContainer);return o.dispose(),this.renderedHoverParts[e]=d,d}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}};function x1(r,e,t,i){e.sort(_o(n=>n.ordinal,vo));let o=[];for(let n of e){let s=I1(t,n,i,r.onContentsChanged);r.fragment.appendChild(s.hoverElement),o.push(s)}return new Pi(o)}function I1(r,e,t,i){let o=new R,n=Es("div.hover-row"),s=Es("div.hover-row-contents");n.appendChild(s);let a=e.contents;for(let l of a){if(ur(l))continue;let c=Es("div.markdown-hover"),h=B(c,Es("div.hover-contents")),u=o.add(t.render(l,{context:r,asyncRenderCallback:()=>{h.className="hover-contents code-hover-contents",i()}}));h.appendChild(u.element),s.appendChild(c)}return{hoverPart:e,hoverElement:n,dispose(){o.dispose()}}}function IP(r,e){switch(e){case Ii.Increase:{let t=r.lookupKeybinding(Ls);return t?m(1135,"Increase Hover Verbosity ({0})",t.getLabel()):m(1136,"Increase Hover Verbosity")}case Ii.Decrease:{let t=r.lookupKeybinding(Ds);return t?m(1137,"Decrease Hover Verbosity ({0})",t.getLabel()):m(1138,"Decrease Hover Verbosity")}}}var L1=F,$m=class extends L{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,this._domNode=L1(".saturation-wrap"),B(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",B(this._domNode,this._canvas),this.selection=L1(".saturation-selection"),B(this._domNode,this.selection),this.layout(),this._register(te(this._domNode,fe.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new wu);let t=Ue(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangePosition(o.pageX-t.left,o.pageY-t.top),()=>null);let i=te(e.target.ownerDocument,fe.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){let i=Math.max(0,Math.min(1,e/this.width)),o=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,o),this._onDidChange.fire({s:i,v:o})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();let e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){let e=this.model.color.hsva,t=new se(new Ca(e.h,1,1,1)),i=this._canvas.getContext("2d"),o=i.createLinearGradient(0,0,this._canvas.width,0);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)");let n=i.createLinearGradient(0,0,0,this._canvas.height);n.addColorStop(0,"rgba(0, 0, 0, 0)"),n.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=se.Format.CSS.format(t),i.fill(),i.fillStyle=o,i.fill(),i.fillStyle=n,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let t=e.hsva;this.paintSelection(t.s,t.v)}};var Zm=class extends L{constructor(e){super(),this._onClicked=this._register(new H),this.onClicked=this._onClicked.event,this._button=B(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(te(this._button,fe.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}};var hc=F,Ym=class extends L{constructor(e,t,i){super(),this.model=t,this._onDidChange=new H,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,i==="standalone"?(this.domNode=B(e,hc(".standalone-strip")),this.overlay=B(this.domNode,hc(".standalone-overlay"))):(this.domNode=B(e,hc(".strip")),this.overlay=B(this.domNode,hc(".overlay"))),this.slider=B(this.domNode,hc(".slider")),this.slider.style.top="0px",this._register(te(this.domNode,fe.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){let t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._register(new wu),i=Ue(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangeTop(n.pageY-i.top),()=>null);let o=te(e.target.ownerDocument,fe.POINTER_UP,()=>{this._onColorFlushed.fire(),o.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){let t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}},Xm=class extends Ym{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:i,b:o}=e.rgba,n=new se(new Co(t,i,o,1)),s=new se(new Co(t,i,o,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}},Qm=class extends Ym{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}};var LP=F,Jm=class extends L{constructor(e,t,i,o){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=LP(".colorpicker-body"),B(e,this._domNode),this._saturationBox=new $m(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new Xm(this._domNode,this.model,o),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Qm(this._domNode,this.model,o),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),o==="standalone"&&(this._insertButton=this._register(new Zm(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let i=this.model.color.hsva;this.model.color=new se(new Ca(i.h,e,t,i.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new se(new Ca(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,i=(1-e)*360;this.model.color=new se(new Ca(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}};var DP=F,ep=class extends L{constructor(e){super(),this._onClicked=this._register(new H),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),B(e,this._button);let t=document.createElement("div");t.classList.add("close-button-inner-div"),B(this._button,t),B(t,DP(".button"+ne.asCSSSelector(Ae("color-picker-close",U.close,m(885,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(te(this._button,fe.CLICK,()=>{this._onClicked.fire()}))}};var tp=F,ip=class extends L{constructor(e,t,i,o){super(),this.model=t,this.type=o,this._closeButton=null,this._domNode=tp(".colorpicker-header"),B(e,this._domNode),this._pickedColorNode=B(this._domNode,tp(".picked-color")),B(this._pickedColorNode,tp("span.codicon.codicon-color-mode")),this._pickedColorPresentation=B(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");let n=m(886,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",n),this._originalColorNode=B(this._domNode,tp(".original-color")),this._originalColorNode.style.backgroundColor=se.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(db)||se.white,this._register(i.onDidColorThemeChange(s=>{this.backgroundColor=s.getColor(db)||se.white})),this._register(te(this._pickedColorNode,fe.CLICK,()=>this.model.selectNextColorPresentation())),this._register(te(this._originalColorNode,fe.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=se.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.type==="standalone"&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new ep(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=se.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}};var EP=F,dd=class extends bn{constructor(e,t,i,o,n){super(),this.model=t,this.pixelRatio=i,this._register(mE.getInstance(tt(e)).onDidChange(()=>this.layout())),this._domNode=EP(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new ip(this._domNode,this.model,o,n)),this.body=this._register(new Jm(this._domNode,this.model,this.pixelRatio,n))}layout(){this.body.layout()}get domNode(){return this._domNode}};var op=class{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new H,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new H,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new H,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let o=0;o<this.colorPresentations.length;o++)if(t.toLowerCase()===this.colorPresentations[o].label){i=o;break}if(i===-1){let o=t.split("(")[0].toLowerCase();for(let n=0;n<this.colorPresentations.length;n++)if(this.colorPresentations[n].label.toLowerCase().startsWith(o)){i=n;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}};async function np(r,e,t){let i=r.getValueInRange(e.range),{red:o,green:n,blue:s,alpha:a}=e.color,d=new Co(Math.round(o*255),Math.round(n*255),Math.round(s*255),a),l=new se(d),c=await pS(r,e,t,Q.None),h=new op(l,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(l,i),{range:C.lift(e.range),model:h,provider:t}}function rp(r,e,t){let i=[],o=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(o),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);let n=C.lift(o.range),s=r.getModel()._setTrackedRange(null,n,3);return r.executeEdits("colorpicker",i),r.pushUndoStop(),r.getModel()._getTrackedRange(s)??n}async function Rs(r,e,t,i,o){let n=await pS(r,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},o.provider,Q.None);e.colorPresentations=n||[]}var RP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kP=function(r,e){return function(t,i){e(t,i,r)}},sp=class r{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}static fromBaseColor(e,t){return new r(e,t.range,t.model,t.provider)}},ld=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t,i){return[]}computeAsync(e,t,i,o){return ni.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];if(!this._isValidRequest(i))return[];let o=kn.get(this._editor);if(!o)return[];for(let n of t){if(!o.isColorDecoration(n))continue;let s=o.getColorData(n.range.getStartPosition());if(s)return[sp.fromBaseColor(this,await np(this._editor.getModel(),s.colorInfo,s.provider))]}return[]}_isValidRequest(e){let t=this._editor.getOption(168);switch(e){case 0:return t==="hover"||t==="clickAndHover";case 1:return t==="click"||t==="clickAndHover";case 2:return!0}}renderHoverParts(e,t){let i=this._editor;if(t.length===0||!i.hasModel())return new Pi([]);let o=i.getOption(75)+8;e.setMinimumDimensions(new Ce(302,o));let n=new R,s=t[0],a=i.getModel(),d=s.model;this._colorPicker=n.add(new dd(e.fragment,d,i.getOption(163),this._themeService,"hover"));let l=!1,c=new C(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);n.add(d.onColorFlushed(async u=>{await Rs(a,d,u,c,s),l=!0,c=rp(i,c,d)})),n.add(d.onDidChangeColor(u=>{Rs(a,d,u,c,s)})),n.add(i.onDidChangeModelContent(u=>{l?l=!1:(e.hide(),i.focus())}));let h={hoverPart:sp.fromBaseColor(this,s),hoverElement:this._colorPicker.domNode,dispose(){n.dispose()}};return new Pi([h])}getAccessibleContent(e){return m(887,"There is a color picker here.")}handleResize(){this._colorPicker?.layout()}handleContentsChanged(){this._colorPicker?.layout()}handleHide(){this._colorPicker?.dispose(),this._colorPicker=void 0}isColorPickerVisible(){return!!this._colorPicker}};ld=RP([kP(1,je)],ld);function OS(r,e){return!!r[e]}var uc=class{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.mouseMiddleClickAction=t.mouseMiddleClickAction,this.hasTriggerModifier=OS(e.event,t.triggerModifier),this.isMiddleClick&&t.mouseMiddleClickAction==="ctrlLeftClick"&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=OS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},ap=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=OS(e,t.triggerModifier)}},cd=class{constructor(e,t,i,o,n){this.mouseMiddleClickAction=n,this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=o}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier&&this.mouseMiddleClickAction===e.mouseMiddleClickAction}};function D1(r,e){return r==="altKey"?oi?new cd(57,"metaKey",6,"altKey",e):new cd(5,"ctrlKey",6,"altKey",e):oi?new cd(6,"altKey",57,"metaKey",e):new cd(6,"altKey",5,"ctrlKey",e)}var nn=class extends L{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new H),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new H),this.onExecute=this._onExecute.event,this._onCancel=this._register(new H),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=D1(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(86)||i.hasChanged(87)){let o=D1(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new uc(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new uc(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new uc(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new ap(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new ap(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){let t=this._extractLineNumberFromMouseEvent(e);this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&(this._hasTriggerKeyOnMouseDown||e.isMiddleClick&&e.mouseMiddleClickAction==="openLink")&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}};var gc=class{constructor(e,t){this.range=e,this.direction=t}},AS=class r{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){let t=new r(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{let t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){_e(t),this._isResolved=!1}}},mc=class r{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,o){let n=[],s=e.ordered(t).reverse().map(a=>i.map(async d=>{try{let l=await a.provideInlayHints(t,d,o);(l?.hints.length||a.onDidChangeInlayHints)&&n.push([l??r._emptyInlayHintList,a])}catch(l){_e(l)}}));if(await Promise.all(s.flat()),o.isCancellationRequested||t.isDisposed())throw new ta;return new r(i,n,t)}constructor(e,t,i){this._disposables=new R,this.ranges=e,this.provider=new Set;let o=[];for(let[n,s]of t){this._disposables.add(n),this.provider.add(s);for(let a of n.hints){let d=i.validatePosition(a.position),l="before",c=r._getRangeAtPosition(i,d),h;c.getStartPosition().isBefore(d)?(h=C.fromPositions(c.getStartPosition(),d),l="after"):(h=C.fromPositions(d,c.getEndPosition()),l="before"),o.push(new AS(a,new gc(h,l),s))}}this.items=o.sort((n,s)=>P.compare(n.hint.position,s.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let i=t.lineNumber,o=e.getWordAtPosition(t);if(o)return new C(i,o.startColumn,i,o.endColumn);e.tokenization.tokenizeIfCheap(i);let n=e.tokenization.getLineTokens(i),s=t.column-1,a=n.findTokenIndexAtOffset(s),d=n.getStartOffset(a),l=n.getEndOffset(a);return l-d===1&&(d===s&&a>1?(d=n.getStartOffset(a-1),l=n.getEndOffset(a-1)):l===s&&a<n.getCount()-1&&(d=n.getStartOffset(a+1),l=n.getEndOffset(a+1))),new C(i,d+1,i,l+1)}};function E1(r){return qu(r.id,...r.arguments??[]).toString()}async function R1(r,e,t,i){let o=r.get(mt),n=r.get(zo),s=r.get(De),a=r.get(z),d=r.get(ze);if(await i.item.resolve(Q.None),!i.part.location)return;let l=i.part.location,c=[],h=new Set(Xt.getMenuItems(j.EditorContext).map(g=>jD(g)?g.command.id:rr()));for(let g of Qo.all())h.has(g.desc.id)&&c.push(new Po(g.desc.id,pn.label(g.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let p=await o.createModelReference(l.uri);try{let f=new xs(p.object.textEditorModel,C.getStartPosition(l.range)),_=i.item.anchor.range;await a.invokeFunction(g.runEditorCommand.bind(g),e,f,_)}finally{p.dispose()}}));if(i.part.command){let{command:g}=i.part;c.push(new Qr),c.push(new Po(g.id,g.title,void 0,!0,async()=>{try{await s.executeCommand(g.id,...g.arguments??[])}catch(p){d.notify({severity:dr.Error,source:i.item.provider.displayName,message:p})}}))}let u=e.getOption(144);n.showContextMenu({domForShadowRoot:u?e.getDomNode()??void 0:void 0,getAnchor:()=>{let g=Ue(t);return{x:g.left,y:g.top+g.height+8}},getActions:()=>c,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function dp(r,e,t,i){let n=await r.get(mt).createModelReference(i.uri);await t.invokeWithinContext(async s=>{let a=e.hasSideBySideModifier,d=s.get(Y),l=Ft.inPeekEditor.getValue(d),c=!a&&t.getOption(101)&&!l;return new En({openToSide:a,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(s,new xs(n.object.textEditorModel,C.getStartPosition(i.range)),C.lift(i.range))}),n.dispose()}var MP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},hd=function(r,e){return function(t,i){e(t,i,r)}},ud,FS=class r{constructor(){this._entries=new qi(50)}get(e){let t=r._key(e);return this._entries.get(t)}set(e,t){let i=r._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},k1=St("IInlayHintsCache");Ut(k1,FS,1);var gd=class{constructor(e,t){this.item=e,this.index=t}get part(){let e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}},HS=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},WS=class{constructor(){this._store=new we,this._tokenSource=new Me}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new Me,this._store.value=new R,{store:this._store.value,token:this._tokenSource.token}}},ks=class{static{ud=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(e){return e.getContribution(ud.ID)??void 0}constructor(e,t,i,o,n,s,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=o,this._commandService=n,this._notificationService=s,this._instaService=a,this._disposables=new R,this._sessionDisposables=new R,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Mu(this._editor)),this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(159)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let e=this._editor.getOption(159);if(e.enabled==="off")return;let t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let l,c;e.enabled==="onUnlessPressed"?(l=0,c=1):(l=1,c=0),this._activeRenderMode=l,this._sessionDisposables.add(zD.getInstance().event(h=>{if(!this._editor.hasModel())return;let u=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:l;if(u!==this._activeRenderMode){this._activeRenderMode=u;let g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),a.schedule(0)}}))}let i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(he(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let o,n=new Set;this._sessionDisposables.add(t.onWillDispose(()=>o?.cancel()));let s=this._sessionDisposables.add(new WS),a=new Le(async()=>{let l=Date.now(),{store:c,token:h}=s.reset();try{let u=await mc.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(a.delay=this._debounceInfo.update(t,Date.now()-l),h.isCancellationRequested){u.dispose();return}for(let g of u.provider)typeof g.onDidChangeInlayHints=="function"&&!n.has(g)&&(n.add(g),c.add(g.onDidChangeInlayHints(()=>{a.isScheduled()||a.schedule()})));c.add(u),this._updateHintsDecorators(u.ranges,u.items),this._cacheHintsForFastRestore(t)}catch(u){ae(u)}},this._debounceInfo.get(t));this._sessionDisposables.add(a),a.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(l=>{(l.scrollTopChanged||!a.isScheduled())&&a.schedule()}));let d=this._sessionDisposables.add(new we);this._sessionDisposables.add(this._editor.onDidChangeModelContent(l=>{let c=Math.max(a.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+c},d.value=po(()=>a.schedule(0),c),a.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(159)&&a.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>a.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new R,t=e.add(new nn(this._editor)),i=new R;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(o=>{let[n]=o,s=this._getInlayHintLabelPart(n),a=this._editor.getModel();if(!s||!a){i.clear();return}let d=new Me;i.add(he(()=>d.dispose(!0))),s.item.resolve(d.token),this._activeInlayHintPart=s.part.command||s.part.location?new HS(s,n.hasTriggerModifier):void 0;let l=a.validatePosition(s.item.hint.position).lineNumber,c=new C(l,1,l,a.getLineMaxColumn(l)),h=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],h),i.add(he(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],h)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async o=>{let n=this._getInlayHintLabelPart(o);if(n){let s=n.part;s.location?this._instaService.invokeFunction(dp,o,this._editor,s.location):h0.is(s.command)&&await this._invokeCommand(s.command,n.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(Q.None),ut(i.item.hint.textEdits))){let o=i.item.hint.textEdits.map(n=>Fe.replace(C.lift(n.range),n.text));this._editor.executeEdits("inlayHint.default",o),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!ha(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(R1,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof Ea&&t?.attachedData instanceof gd)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:dr.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[i,o]of this._decorationsMetadata){if(t.has(o.item))continue;let n=e.getDecorationRange(i);if(n){let s=new gc(n,o.item.anchor.direction),a=o.item.with({anchor:s});t.set(o.item,a)}}return Array.from(t.values())}_getHintsRanges(){let t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),o=[];for(let n of i.sort(C.compareRangesUsingStarts)){let s=t.validateRange(new C(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));o.length===0||!C.areIntersectingOrTouching(o[o.length-1],s)?o.push(s):o[o.length-1]=C.plusRange(o[o.length-1],s)}return o}_updateHintsDecorators(e,t){let i=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&e.some(_=>_.containsPosition(this._cursorInfo.position))){let{position:_}=this._cursorInfo;this._cursorInfo=void 0;let v=new Map;for(let y of this._editor.getLineDecorations(_.lineNumber)??[]){let E=this._decorationsMetadata.get(y.id);if(y.range.startColumn>_.column)continue;let N=E?.decoration.options[E.item.anchor.direction];if(N&&N.attachedData!==ud._whitespaceData){let A=v.get(E.item)??0;v.set(E.item,A+N.content.length)}}let w=t.filter(y=>y.anchor.range.startLineNumber===_.lineNumber&&y.anchor.range.endColumn<=_.column),I=Array.from(v.values()),b;for(;;){let y=w.shift(),E=I.shift();if(!E&&!y)break;if(y)i.set(y,E??0),b=y;else if(b&&E){let N=i.get(b);N+=E,N+=I.reduce((A,V)=>A+V,0),I.length=0;break}}}let o=[],n=(_,v,w,I,b)=>{let y={content:w,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:v.className,cursorStops:I,attachedData:b};o.push({item:_,classNameRef:v,decoration:{range:_.anchor.range,options:{description:"InlayHint",showIfCollapsed:_.anchor.range.isEmpty(),collapseOnReplaceEdit:!_.anchor.range.isEmpty(),stickiness:0,[_.anchor.direction]:this._activeRenderMode===0?y:void 0}}})},s=(_,v)=>{let w=this._ruleFactory.createClassNameRef({width:`${a/3|0}px`,display:"inline-block"});n(_,w,"\u200A",v?Oo.Right:Oo.None,ud._whitespaceData)},{fontSize:a,fontFamily:d,padding:l,isUniform:c}=this._getLayoutInfo(),h=this._editor.getOption(159).maximumLength,u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,d);let g={line:0,totalLen:0};for(let _=0;_<t.length;_++){let v=t[_];if(g.line!==v.anchor.range.startLineNumber&&(g={line:v.anchor.range.startLineNumber,totalLen:0}),h&&g.totalLen>h)continue;v.hint.paddingLeft&&s(v,!1);let w=typeof v.hint.label=="string"?[{label:v.hint.label}]:v.hint.label,I=i.get(v),b=0;for(let y=0;y<w.length;y++){let E=w[y],N=y===0,A=y===w.length-1,V={fontSize:`${a}px`,fontFamily:`var(${u}), ${ba.fontFamily}`,verticalAlign:c?"baseline":"middle",unicodeBidi:"isolate"};ut(v.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,v.hint),(E.command||E.location)&&this._activeInlayHintPart?.part.item===v&&this._activeInlayHintPart.part.index===y&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Ke(DE),V.cursor="pointer"));let ee=E.label;g.totalLen+=ee.length;let $=!1,Pe=h!==0?g.totalLen-h:0;if(Pe>0&&(ee=ee.slice(0,-Pe)+"\u2026",$=!0),b+=ee.length,I!==void 0){let He=b-I;He>=0&&(b-=He,ee=ee.slice(0,-(1+He))+"\u2026",$=!0)}if(l&&(N&&(A||$)?(V.padding=`1px ${Math.max(1,a/4)|0}px`,V.borderRadius=`${a/4|0}px`):N?(V.padding=`1px 0 1px ${Math.max(1,a/4)|0}px`,V.borderRadius=`${a/4|0}px 0 0 ${a/4|0}px`):A||$?(V.padding=`1px ${Math.max(1,a/4)|0}px 1px 0`,V.borderRadius=`0 ${a/4|0}px ${a/4|0}px 0`):V.padding="1px 0 1px 0"),n(v,this._ruleFactory.createClassNameRef(V),TP(ee),A&&!v.hint.paddingRight?Oo.Right:Oo.None,new gd(v,y)),$)break}if(I!==void 0&&b<I){let y=I-b;n(v,this._ruleFactory.createClassNameRef({}),"\u200A".repeat(y),Oo.None)}if(v.hint.paddingRight&&s(v,!0),o.length>ud._MAX_DECORATORS)break}let p=[];for(let[_,v]of this._decorationsMetadata){let w=this._editor.getModel()?.getDecorationRange(_);w&&e.some(I=>I.containsRange(w))&&(p.push(_),v.classNameRef.dispose(),this._decorationsMetadata.delete(_))}let f=Vo.capture(this._editor);this._editor.changeDecorations(_=>{let v=_.deltaDecorations(p,o.map(w=>w.decoration));for(let w=0;w<v.length;w++){let I=o[w];this._decorationsMetadata.set(v[w],I)}}),f.restore(this._editor)}_fillInColors(e,t){t.kind===_b.Parameter?(e.backgroundColor=Ke(HE),e.color=Ke(FE)):t.kind===_b.Type?(e.backgroundColor=Ke(AE),e.color=Ke(OE)):(e.backgroundColor=Ke(PE),e.color=Ke(NE))}_getLayoutInfo(){let e=this._editor.getOption(159),t=e.padding,i=this._editor.getOption(61),o=this._editor.getOption(58),n=e.fontSize;(!n||n<5||n>i)&&(n=i);let s=e.fontFamily||o;return{fontSize:n,fontFamily:s,padding:t,isUniform:!t&&s===o&&n===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};ks=ud=MP([hd(1,O),hd(2,bt),hd(3,k1),hd(4,De),hd(5,ze),hd(6,z)],ks);function TP(r){return r.replace(/[ \t]/g,"\xA0")}me.registerCommand("_executeInlayHintProvider",async(r,...e)=>{let[t,i]=e;le(re.isUri(t)),le(C.isIRange(i));let{inlayHintsProvider:o}=r.get(O),n=await r.get(mt).createModelReference(t);try{let s=await mc.create(o,n.object.textEditorModel,[C.lift(i)],Q.None),a=s.items.map(d=>d.hint);return setTimeout(()=>s.dispose(),0),a}finally{n.dispose()}});var NP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ms=function(r,e){return function(t,i){e(t,i,r)}},lp=class extends Rn{constructor(e,t,i,o){super(10,t,e.item.anchor.range,i,o,!0),this.part=e}},md=class extends Er{constructor(e,t,i,o,n,s,a,d){super(e,t,n,a,i,o,d),this._resolverService=s,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!ks.get(this._editor)||e.target.type!==6)return null;let i=e.target.detail.injectedText?.options;return i instanceof Ea&&i.attachedData instanceof gd?new lp(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i,o){return e instanceof lp?new ni(async n=>{let{part:s}=e;if(await s.item.resolve(o),o.isCancellationRequested)return;let a;typeof s.item.hint.tooltip=="string"?a=new nt().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(a=s.item.hint.tooltip),a&&n.emitOne(new pi(this,e.range,[a],!1,0)),ut(s.item.hint.textEdits)&&n.emitOne(new pi(this,e.range,[new nt().appendText(m(1164,"Double-click to insert"))],!1,10001));let d;if(typeof s.part.tooltip=="string"?d=new nt().appendText(s.part.tooltip):s.part.tooltip&&(d=s.part.tooltip),d&&n.emitOne(new pi(this,e.range,[d],!1,1)),s.part.location||s.part.command){let c,u=this._editor.getOption(86)==="altKey"?oi?m(1165,"cmd + click"):m(1166,"ctrl + click"):oi?m(1167,"option + click"):m(1168,"alt + click");s.part.location&&s.part.command?c=new nt().appendText(m(1169,"Go to Definition ({0}), right click for more",u)):s.part.location?c=new nt().appendText(m(1170,"Go to Definition ({0})",u)):s.part.command&&(c=new nt(`[${m(1171,"Execute Command")}](${E1(s.part.command)} "${s.part.command.title}") (${u})`,{isTrusted:!0})),c&&n.emitOne(new pi(this,e.range,[c],!1,1e4))}let l=this._resolveInlayHintLabelPartHover(s,o);for await(let c of l)n.emitOne(c)}):ni.EMPTY}async*_resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return;let{uri:i,range:o}=e.part.location,n=await this._resolverService.createModelReference(i);try{let s=n.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(s))return;for await(let a of cc(this._languageFeaturesService.hoverProvider,s,new P(o.startLineNumber,o.startColumn),t))ur(a.hover.contents)||(yield new pi(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal))}finally{n.dispose()}}};md=NP([Ms(1,gi),Ms(2,ce),Ms(3,wt),Ms(4,oe),Ms(5,mt),Ms(6,O),Ms(7,De)],md);var PP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},BS=function(r,e){return function(t,i){e(t,i,r)}},co=F,pc=class{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},M1={type:1,filter:{include:Ee.QuickFix},triggerAction:At.QuickFixHover},cp=class{constructor(e,t,i,o){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=o,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let i=this._editor.getModel(),o=e.range;if(!i.isValidRange(e.range))return[];let n=o.startLineNumber,s=i.getLineMaxColumn(n),a=[];for(let d of t){let l=d.range.startLineNumber===n?d.range.startColumn:1,c=d.range.endLineNumber===n?d.range.endColumn:s,h=this._markerDecorationsService.getMarker(i.uri,d);if(!h)continue;let u=new C(e.range.startLineNumber,l,e.range.startLineNumber,c);a.push(new pc(this,u,h))}return a}renderHoverParts(e,t){if(!t.length)return new Pi([]);let i=[];t.forEach(s=>{let a=this._renderMarkerHover(s);e.fragment.appendChild(a.hoverElement),i.push(a)});let o=t.length===1?t[0]:t.sort((s,a)=>Nt.compare(s.marker.severity,a.marker.severity))[0],n=this._renderMarkerStatusbar(e,o);return new Pi(i,n)}getAccessibleContent(e){return e.marker.message}_renderMarkerHover(e){let t=new R,i=co("div.hover-row"),o=B(i,co("div.marker.hover-contents")),{source:n,message:s,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(o);let l=B(o,co("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,n||a)if(a&&typeof a!="string"){let h=co("span");if(n){let f=B(h,co("span"));f.innerText=n}let u=B(h,co("a.code-link"));u.setAttribute("href",a.target.toString(!0)),t.add(te(u,"click",f=>{this._openerService.open(a.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()}));let g=B(u,co("span"));g.innerText=a.value;let p=B(o,h);p.style.opacity="0.6",p.style.paddingLeft="6px"}else{let h=B(o,co("span"));h.style.opacity="0.6",h.style.paddingLeft="6px",h.innerText=n&&a?`${n}(${a})`:n||`(${a})`}if(ut(d))for(let{message:h,resource:u,startLineNumber:g,startColumn:p}of d){let f=B(o,co("div"));f.style.marginTop="8px";let _=B(f,co("a"));_.innerText=`${li(u)}(${g}, ${p}): `,_.style.cursor="pointer",t.add(te(_,"click",w=>{if(w.stopPropagation(),w.preventDefault(),this._openerService){let I={selection:{startLineNumber:g,startColumn:p}};this._openerService.open(u,{fromUserGesture:!0,editorOptions:I}).catch(ae)}}));let v=B(f,co("span"));v.innerText=h,this._editor.applyFontInfo(v)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}_renderMarkerStatusbar(e,t){let i=new R;if(t.marker.severity===Nt.Error||t.marker.severity===Nt.Warning||t.marker.severity===Nt.Info){let o=xr.get(this._editor);o&&e.statusBar.addAction({label:m(1139,"View Problem"),commandId:Xl.ID,run:()=>{e.hide(),o.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(104)){let o=e.statusBar.append(co("div"));this.recentMarkerCodeActionsInfo&&(Tb.makeKey(this.recentMarkerCodeActionsInfo.marker)===Tb.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(o.textContent=m(1140,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);let n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?L.None:po(()=>o.textContent=m(1141,"Checking for quick fixes..."),200,i);o.textContent||(o.textContent="\xA0");let s=this.getCodeActions(t.marker);i.add(he(()=>s.cancel())),s.then(a=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),o.textContent=m(1142,"No quick fixes available");return}o.style.display="none";let d=!1;i.add(he(()=>{d||a.dispose()})),e.statusBar.addAction({label:m(1143,"Quick Fix..."),commandId:ja,run:c=>{d=!0;let h=Zo.get(this._editor),u=Ue(c);e.hide(),h?.showCodeActions(M1,a,{x:u.left,y:u.top,width:u.width,height:u.height})}});let l=a.validActions.find(c=>c.action.isAI);l&&e.statusBar.addAction({label:l.action.title,commandId:l.action.command?.id??"",iconClass:ne.asClassName(U.sparkle),run:()=>{Zo.get(this._editor)?.applyCodeAction(l,!1,!1,Go.FromProblemsHover)}}),e.onContentsChanged()},ae)}return i}getCodeActions(e){return Oe(t=>wr(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),M1,$i.None,t))}};cp=PP([BS(1,gE),BS(2,Uo),BS(3,O)],cp);var T1=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pd=function(r,e){return function(t,i){e(t,i,r)}},VS,zS,hp=VS=class extends L{constructor(e,t,i,o,n,s,a){super();let d=t.hoverParts;this._renderedHoverParts=this._register(new jS(e,i,d,o,n,s,a));let l=t.options,c=l.anchor,{showAtPosition:h,showAtSecondaryPosition:u}=VS.computeHoverPositions(e,c.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=u,this.initialMousePosX=c.initialMousePosX,this.initialMousePosY=c.initialMousePosY,this.shouldFocus=l.shouldFocus,this.source=l.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(e){this._renderedHoverParts.focusHoverPartWithIndex(e)}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let o=1;if(e.hasModel()){let c=e._getViewModel(),h=c.coordinatesConverter,u=h.convertModelRangeToViewRange(t),g=c.getLineMinColumn(u.startLineNumber),p=new P(u.startLineNumber,g);o=h.convertViewPositionToModelPosition(p).column}let n=t.startLineNumber,s=t.startColumn,a;for(let c of i){let h=c.range,u=h.startLineNumber===n,g=h.endLineNumber===n;if(u&&g){let f=h.startColumn,_=Math.min(s,f);s=Math.max(_,o)}c.forceShowAtRange&&(a=h)}let d,l;if(a){let c=a.getStartPosition();d=c,l=c}else d=t.getStartPosition(),l=new P(n,s);return{showAtPosition:d,showAtSecondaryPosition:l}}};hp=VS=T1([pd(4,ce),pd(5,wt),pd(6,Dt)],hp);var US=class{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}},jS=class extends L{static{zS=this}static{this._DECORATION_OPTIONS=X.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,o,n,s,a){super(),this._hoverService=s,this._clipboardService=a,this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=o,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,o,n,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return L.None;let i=t[0].range;for(let n of t){let s=n.range;i=C.plusRange(i,s)}let o=e.createDecorationsCollection();return o.set([{range:i,options:zS._DECORATION_OPTIONS}]),he(()=>{o.clear()})}_renderParts(e,t,i,o,n){let s=new id(o,n),a={fragment:this._fragment,statusBar:s,...i},d=new R;d.add(s);for(let c of e){let h=this._renderHoverPartsForParticipant(t,c,a);d.add(h);for(let u of h.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:c,hoverPart:u.hoverPart,hoverElement:u.hoverElement})}let l=this._renderStatusBar(this._fragment,s);return l&&(d.add(l),this._renderedParts.push({type:"statusBar",hoverElement:l.hoverElement,actions:l.actions})),d}_renderHoverPartsForParticipant(e,t,i){let o=e.filter(s=>s.owner===t);return o.length>0?t.renderHoverParts(i,o):new Pi([])}_renderStatusBar(e,t){if(t.hasContent)return new US(e,t)}_registerListenersOnRenderedParts(){let e=new R;return this._renderedParts.forEach((t,i)=>{let o=t.hoverElement;o.tabIndex=0,e.add(te(o,fe.FOCUS_IN,n=>{n.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(te(o,fe.FOCUS_OUT,n=>{n.stopPropagation(),this._focusedHoverPartIndex=-1})),t.type==="hoverPart"&&t.hoverPart instanceof pc&&e.add(new qm(o,()=>t.participant.getAccessibleContent(t.hoverPart),this._clipboardService,this._hoverService))}),e}_updateMarkdownAndColorParticipantInfo(e){let t=e.find(i=>i instanceof Er&&!(i instanceof md));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof ld)}focusHoverPartWithIndex(e){e<0||e>=this._renderedParts.length||this._renderedParts[e].hoverElement.focus()}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;let o;t>=0?o={start:t,endExclusive:t+1}:o=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let n=o.start;n<o.endExclusive;n++){let s=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,n);if(s===void 0)continue;let a=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,s);a&&(this._renderedParts[n]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:a.hoverPart,hoverElement:a.hoverElement})}i&&(t>=0?this.focusHoverPartWithIndex(t):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){let i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;let n=this._renderedParts.findIndex(s=>s.type==="hoverPart"&&s.participant===e);if(n===-1)throw new et;return t-n}_findRangeOfMarkdownHoverParts(e){let t=this._renderedParts.slice(),i=t.findIndex(s=>s.type==="hoverPart"&&s.participant===e),o=t.reverse().findIndex(s=>s.type==="hoverPart"&&s.participant===e),n=o>=0?t.length-o:o;return{start:i,endExclusive:n+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};jS=zS=T1([pd(4,ce),pd(5,wt),pd(6,Dt)],jS);var OP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},up=function(r,e){return function(t,i){e(t,i,r)}},gp=class extends L{constructor(e,t,i,o,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._hoverService=o,this._clipboardService=n,this._currentResult=null,this._renderedContentHover=this._register(new we),this._onContentsChanged=this._register(new H),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Pm,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new td(this._editor,new Om(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let e=[];for(let t of Zi.getAll()){let i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>t.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(t=>{this._participants.forEach(i=>i.handleScroll?.(t))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(t=>t.handleContentsChanged?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{let i=t.hasLoadingMessage?this._addLoadingMessage(t):t.value;this._withResult(new ec(i,t.isComplete,t.options))}));let e=this._contentHoverWidget.getDomNode();this._register(wi(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(wi(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(xa.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(e,t,i,o,n){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):!1;let a=this._editor.getOption(69).sticky,d=n&&this._contentHoverWidget.isMouseGettingCloser(n.event.posx,n.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,o,!0),!0):e?this._currentResult&&this._currentResult.options.anchor.equals(e)?!0:this._currentResult&&e.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)?(this._currentResult&&this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,o,n){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(e))return;this._hoverOperation.cancel();let a={anchor:e,source:i,shouldFocus:o,insistOnKeepingHoverVisible:n};this._hoverOperation.start(t,a)}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){for(let t of this._participants){if(!t.createLoadingMessage)continue;let i=t.createLoadingMessage(e.options.anchor);if(i)return e.value.slice(0).concat([i])}return e.value}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;let o=e.hoverParts.length===0,n=e.options.insistOnKeepingHoverVisible;o&&n||this._setCurrentResult(e)}_showHover(e){let t=this._getHoverContext();this._renderedContentHover.value=new hp(this._editor,e,this._participants,t,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover.value):this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach(e=>e.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)},focus:()=>this.focus()}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;let i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);let n=i[0];return this._startShowingOrUpdateHover(n,0,0,!1,e)}_findHoverAnchorCandidates(e){let t=[];for(let o of this._participants){if(!o.suggestHoverAnchor)continue;let n=o.suggestHoverAnchor(e);n&&t.push(n)}let i=e.target;switch(i.type){case 6:{t.push(new ed(0,i.range,e.event.posx,e.event.posy));break}case 7:{let o=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<o))break;t.push(new ed(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((o,n)=>n.priority-o.priority),t}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Lr(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,o){this._startShowingOrUpdateHover(new ed(0,e,void 0,void 0),t,i,o,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover.value?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(e){this._renderedContentHover.value?.focusHoverPartWithIndex(e)}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover.value?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};gp=OP([up(1,z),up(2,ce),up(3,wt),up(4,Dt)],gp);function mp(r){let e=r.target;return!!e&&e.type===6&&e.detail.injectedText?.options.attachedData===CS}var AP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},KS=function(r,e){return function(t,i){e(t,i,r)}},qS,yt=class extends L{static{qS=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i,o){super(),this._editor=e,this._instantiationService=i,this._keybindingService=o,this._onHoverContentsChanged=this._register(new H),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new R,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new Le(()=>{this._mouseMoveEvent&&this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(t.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(t.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(qS.ID)}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled||this._cancelSchedulerAndHide(),this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){this._ignoreMouseEvents||(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideContentHover()}_onEditorMouseDown(e){this._ignoreMouseEvents||(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepHoverWidgetVisible(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()||mp(e)}_isMouseOnContentHoverWidget(e){return this._contentWidget?Lr(this._contentWidget.getDomNode(),e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._ignoreMouseEvents||(this._isMouseDown=!1)}_onEditorMouseLeave(e){this._ignoreMouseEvents||this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepCurrentHover(e){let t=this._contentWidget;if(!t)return!1;let i=this._hoverSettings.sticky,o=(c,h)=>{let u=this._isMouseOnContentHoverWidget(c);return h&&u},n=c=>{let h=t.isColorPickerVisible,u=this._isMouseOnContentHoverWidget(c),g=h&&u,p=h&&this._isMouseDown;return g||p},s=(c,h)=>{let u=c.event.browserEvent.view;return u?h&&t.containsNode(u.document.activeElement)&&!u.getSelection()?.isCollapsed:!1},a=t.isFocused,d=t.isResizing,l=this._hoverSettings.sticky&&t.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||a||d||l||o(e,i)||n(e)||s(e,i)}_onEditorMouseMove(e){if(this._ignoreMouseEvents)return;if(this._mouseMoveEvent=e,this._shouldKeepCurrentHover(e)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(e)}_shouldRescheduleHoverComputation(){let e=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&e>0}_reactToEditorMouseMove(e){this._hoverSettings.enabled&&this._getOrCreateContentWidget().showsOrWillShow(e)||this.hideContentHover()}_onKeyDown(e){if(this._ignoreMouseEvents||!this._contentWidget)return;let t=this._isPotentialKeyboardShortcut(e),i=this._isModifierKeyPressed(e);t||i||this._contentWidget.isFocused&&e.keyCode===2||this.hideContentHover()}_isPotentialKeyboardShortcut(e){if(!this._editor.hasModel()||!this._contentWidget)return!1;let t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1,o=t.kind===2&&(t.commandId===Lm||t.commandId===Ls||t.commandId===Ds)&&this._contentWidget.isVisible;return i||o}_isModifierKeyPressed(e){return e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4}hideContentHover(){Mn.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(gp,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,o){this._getOrCreateContentWidget().startShowingAtRange(e,t,i,o)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};yt=qS=AP([KS(1,zo),KS(2,z),KS(3,ce)],yt);var fc=class extends L{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){let t=this._editor.getOption(168);if(t!=="click"&&t!=="clickAndHover"||!mp(e))return;let i=this._editor.getContribution(yt.ID);if(!i||i.isColorPickerVisible)return;let o=e.target.range;if(!o)return;let n=new C(o.startLineNumber,o.startColumn+1,o.endLineNumber,o.endColumn+1);i.showContentHover(n,1,1,!1)}};var FP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},HP=function(r,e){return function(t,i){e(t,i,r)}},GS=class r{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o}static fromBaseColor(e,t){return new r(e,t.range,t.model,t.provider)}},$S=class extends L{constructor(e,t,i,o){super();let n=e.getModel(),s=i.model;this.color=i.model.color,this.colorPicker=this._register(new dd(t.fragment,s,e.getOption(163),o,"standalone")),this._register(s.onColorFlushed(a=>{this.color=a})),this._register(s.onDidChangeColor(a=>{Rs(n,s,a,i.range,i)})),this._register(e.onDidChangeModelContent(a=>{t.hide(),e.focus()})),Rs(n,s,this.color,i.range,i)}},pp=class{constructor(e,t){this._editor=e,this._themeService=t}async createColorHover(e,t,i){if(!this._editor.hasModel()||!kn.get(this._editor))return null;let n=await xm(i,this._editor.getModel(),Q.None),s=null,a=null;for(let u of n){let g=u.colorInfo;C.containsRange(g.range,e.range)&&(s=g,a=u.provider)}let d=s??e,l=a??t,c=!!s;return{colorHover:GS.fromBaseColor(this,await np(this._editor.getModel(),d,l)),foundInEditor:c}}async updateEditorModel(e){if(!this._editor.hasModel())return;let t=e.model,i=new C(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Rs(this._editor.getModel(),t,this._color,i,e),i=rp(this._editor,i,t))}renderHoverParts(e,t){if(!(t.length===0||!this._editor.hasModel()))return this._setMinimumDimensions(e),this._renderedParts=new $S(this._editor,e,t[0],this._themeService),this._renderedParts}_setMinimumDimensions(e){let t=this._editor.getOption(75)+8;e.setMinimumDimensions(new Ce(302,t))}get _color(){return this._renderedParts?.color}};pp=FP([HP(1,je)],pp);var WP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},_c=function(r,e){return function(t,i){e(t,i,r)}},ZS,YS=class{constructor(e,t){this.value=e,this.foundInEditor=t}},N1=8,BP=22,fp=class extends L{static{ZS=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,o,n,s,a,d){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=n,this._languageFeaturesService=s,this._editorWorkerService=a,this._hoverService=d,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new H),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new we),this._renderedStatusBar=this._register(new we),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=o.createInstance(pp,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let l=this._editor.getSelection(),c=l?{startLineNumber:l.startLineNumber,startColumn:l.startColumn,endLineNumber:l.endLineNumber,endColumn:l.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(Ui(this._body));this._register(h.onDidBlur(u=>{this.hide()})),this._register(h.onDidFocus(u=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(u=>{let g=u.target.element?.classList;g&&g.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(u=>{this._render(u.value,u.foundInEditor)})),this._start(c),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return ZS.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;let e=this._editor.getOption(69).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){let t=await this._computeAsync(e);t&&this._onResult.fire(new YS(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;let t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new Is(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){let i=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new id(this._keybindingService,this._hoverService));let o={fragment:i,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=e,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(o,[e]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let n=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),n.layout();let s=n.body,a=s.saturationBox.domNode.clientWidth,d=s.domNode.clientWidth-a-BP-N1,l=n.body.enterButton;l?.onClicked(()=>{this.updateEditor(),this.hide()});let c=n.header,h=c.pickedColorNode;h.style.width=a+N1+"px";let u=c.originalColorNode;u.style.width=d+"px",n.header.closeButton?.onClicked(()=>{this.hide()}),t&&(l&&(l.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};fp=ZS=WP([_c(3,z),_c(4,ce),_c(5,O),_c(6,ui),_c(7,wt)],fp);var VP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},P1=function(r,e){return function(t,i){e(t,i,r)}},XS,Tn=class extends L{static{XS=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=S.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=S.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(fp,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(e){return e.getContribution(XS.ID)}};Tn=XS=VP([P1(1,Y),P1(2,z)],Tn);var _p=class extends ci{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...x(889,"Show or Focus Standalone Color Picker"),mnemonicTitle:m(888,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:j.CommandPalette}],metadata:{description:x(890,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){Tn.get(t)?.showOrFocus()}},vp=class extends M{constructor(){super({id:"editor.action.hideColorPicker",label:x(891,"Hide the Color Picker"),precondition:S.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:x(892,"Hide the standalone color picker.")}})}run(e,t){Tn.get(t)?.hide()}},bp=class extends M{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:x(893,"Insert Color with Standalone Color Picker"),precondition:S.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:x(894,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){Tn.get(t)?.insertColor()}};D(vp);D(bp);ge(_p);K(fc.ID,fc,2);K(Tn.ID,Tn,1);K(kn.ID,kn,1);ro(Sm);Zi.register(ld);me.registerCommand("_executeDocumentColorProvider",function(r,...e){let[t]=e;if(!(t instanceof re))throw Ri();let{model:i,colorProviderRegistry:o,defaultColorDecoratorsEnablement:n}=fS(r,t);return Im(new wm,o,i,Q.None,n)});me.registerCommand("_executeColorPresentationProvider",function(r,...e){let[t,i]=e;if(!i)return;let{uri:o,range:n}=i;if(!(o instanceof re)||!Array.isArray(t)||t.length!==4||!C.isIRange(n))throw Ri();let{model:s,colorProviderRegistry:a,defaultColorDecoratorsEnablement:d}=fS(r,o),[l,c,h,u]=t;return Im(new ym({range:n,color:{red:l,green:c,blue:h,alpha:u}}),a,s,Q.None,d)});var Nn=class r{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;let o=t.length,n=e.length;if(i+o>n)return!1;for(let s=0;s<o;s++){let a=e.charCodeAt(i+s),d=t.charCodeAt(s);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,o,n,s){let a=e.startLineNumber,d=e.startColumn,l=e.endLineNumber,c=e.endColumn,h=n.getLineContent(a),u=n.getLineContent(l),g=h.lastIndexOf(t,d-1+t.length),p=u.indexOf(i,c-1-i.length);if(g!==-1&&p!==-1)if(a===l)h.substring(g+t.length,p).indexOf(i)>=0&&(g=-1,p=-1);else{let _=h.substring(g+t.length),v=u.substring(0,p);(_.indexOf(i)>=0||v.indexOf(i)>=0)&&(g=-1,p=-1)}let f;g!==-1&&p!==-1?(o&&g+t.length<h.length&&h.charCodeAt(g+t.length)===32&&(t=t+" "),o&&p>0&&u.charCodeAt(p-1)===32&&(i=" "+i,p-=1),f=r._createRemoveBlockCommentOperations(new C(a,g+t.length+1,l,p+1),t,i)):(f=r._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=f.length===1?i:null);for(let _ of f)s.addTrackedEditOperation(_.range,_.text)}static _createRemoveBlockCommentOperations(e,t,i){let o=[];return C.isEmpty(e)?o.push(Fe.delete(new C(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(o.push(Fe.delete(new C(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),o.push(Fe.delete(new C(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),o}static _createAddBlockCommentOperations(e,t,i,o){let n=[];return C.isEmpty(e)?n.push(Fe.replace(new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(n.push(Fe.insert(new P(e.startLineNumber,e.startColumn),t+(o?" ":""))),n.push(Fe.insert(new P(e.endLineNumber,e.endColumn),(o?" ":"")+i))),n}getEditOperations(e,t){let i=this._selection.startLineNumber,o=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);let n=e.getLanguageIdAtPosition(i,o),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;!s||!s.blockCommentStartToken||!s.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let i=t.getInverseEditOperations();if(i.length===2){let o=i[0],n=i[1];return new G(o.range.endLineNumber,o.range.endColumn,n.range.startLineNumber,n.range.startColumn)}else{let o=i[0].range,n=this._usedEndToken?-this._usedEndToken.length-1:0;return new G(o.endLineNumber,o.endColumn+n,o.endLineNumber,o.endColumn+n)}}};var Cp=class r{constructor(e,t,i,o,n,s,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=o,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,o){e.tokenization.tokenizeIfCheap(t);let n=e.getLanguageIdAtPosition(t,1),s=o.getLanguageConfiguration(n).comments,a=s?s.lineCommentToken:null;if(!a)return null;let d=[];for(let l=0,c=i-t+1;l<c;l++)d[l]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,o,n,s,a,d,l){let c=!0,u=d.getLanguageConfiguration(l).comments?.lineCommentNoIndent??!1,g;e===0?g=!0:e===1?g=!1:g=!0;for(let p=0,f=o.length;p<f;p++){let _=o[p],v=n+p;if(v===n&&a){_.ignore=!0;continue}let w=i.getLineContent(v),I=il(w);if(I===-1){_.ignore=s,_.commentStrOffset=u?0:w.length;continue}c=!1;let b=u?0:I;if(_.ignore=!1,_.commentStrOffset=b,g&&!Nn._haystackHasNeedleAtOffset(w,_.commentStr,b)&&(e===0?g=!1:e===1||(_.ignore=!0)),g&&t){let y=I+_.commentStrLength;y<w.length&&w.charCodeAt(y)===32&&(_.commentStrLength+=1)}}if(e===0&&c){g=!1;for(let p=0,f=o.length;p<f;p++)o[p].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:o}}static _gatherPreflightData(e,t,i,o,n,s,a,d){let l=r._gatherPreflightCommentStrings(i,o,n,d),c=i.getLanguageIdAtPosition(o,1);return l===null?{supported:!1}:r._analyzeLines(e,t,i,l,o,s,a,d,c)}_executeLineComments(e,t,i,o){let n;i.shouldRemoveComments?n=r._createRemoveLineCommentsOperations(i.lines,o.startLineNumber):(r._normalizeInsertionPoint(e,i.lines,o.startLineNumber,this._indentSize),n=this._createAddLineCommentsOperations(i.lines,o.startLineNumber));let s=new P(o.positionLineNumber,o.positionColumn);for(let a=0,d=n.length;a<d;a++)t.addEditOperation(n[a].range,n[a].text),C.isEmpty(n[a].range)&&C.getStartPosition(n[a].range).equals(s)&&e.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=(n[a].text||"").length);this._selectionId=t.trackSelection(o)}_attemptRemoveBlockComment(e,t,i,o){let n=t.startLineNumber,s=t.endLineNumber,a=o.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),d=e.getLineContent(n).lastIndexOf(i,a-1),l=e.getLineContent(s).indexOf(o,t.endColumn-1-i.length);return d!==-1&&l===-1&&(l=e.getLineContent(n).indexOf(o,d+i.length),s=n),d===-1&&l!==-1&&(d=e.getLineContent(s).lastIndexOf(i,l),n=s),t.isEmpty()&&(d===-1||l===-1)&&(d=e.getLineContent(n).indexOf(i),d!==-1&&(l=e.getLineContent(n).indexOf(o,d+i.length))),d!==-1&&e.getLineContent(n).charCodeAt(d+i.length)===32&&(i+=" "),l!==-1&&e.getLineContent(s).charCodeAt(l-1)===32&&(o=" "+o,l-=1),d!==-1&&l!==-1?Nn._createRemoveBlockCommentOperations(new C(n,d+i.length+1,s,l+1),i,o):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);let o=e.getLanguageIdAtPosition(i.startLineNumber,1),n=this.languageConfigurationService.getLanguageConfiguration(o).comments;if(!n||!n.blockCommentStartToken||!n.blockCommentEndToken)return;let s=n.blockCommentStartToken,a=n.blockCommentEndToken,d=this._attemptRemoveBlockComment(e,i,s,a);if(!d){if(i.isEmpty()){let l=e.getLineContent(i.startLineNumber),c=il(l);c===-1&&(c=l.length),d=Nn._createAddBlockCommentOperations(new C(i.startLineNumber,c+1,i.startLineNumber,l.length+1),s,a,this._insertSpace)}else d=Nn._createAddBlockCommentOperations(new C(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),s,a,this._insertSpace);d.length===1&&(this._deltaColumn=s.length+1)}this._selectionId=t.trackSelection(i);for(let l of d)t.addEditOperation(l.range,l.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new C(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
|
|
12
12
|
`),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));let o=r._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return o.supported?this._executeLineComments(e,t,o,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new G(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){let i=[];for(let o=0,n=e.length;o<n;o++){let s=e[o];s.ignore||i.push(Fe.delete(new C(t+o,s.commentStrOffset+1,t+o,s.commentStrOffset+s.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){let i=[],o=this._insertSpace?" ":"";for(let n=0,s=e.length;n<s;n++){let a=e[n];a.ignore||i.push(Fe.insert(new P(t+n,a.commentStrOffset+1),a.commentStr+o))}return i}static nextVisibleColumn(e,t,i,o){return i?e+(t-e%t):e+o}static _normalizeInsertionPoint(e,t,i,o){let n=1073741824,s,a;for(let d=0,l=t.length;d<l;d++){if(t[d].ignore)continue;let c=e.getLineContent(i+d),h=0;for(let u=0,g=t[d].commentStrOffset;h<n&&u<g;u++)h=r.nextVisibleColumn(h,o,c.charCodeAt(u)===9,1);h<n&&(n=h)}n=Math.floor(n/o)*o;for(let d=0,l=t.length;d<l;d++){if(t[d].ignore)continue;let c=e.getLineContent(i+d),h=0;for(s=0,a=t[d].commentStrOffset;h<n&&s<a;s++)h=r.nextVisibleColumn(h,o,c.charCodeAt(s)===9,1);h>n?t[d].commentStrOffset=s-1:t[d].commentStrOffset=s}}};var vc=class extends M{constructor(e,t){super(t),this._type=e}run(e,t){let i=e.get(Ne);if(!t.hasModel())return;let o=t.getModel(),n=[],s=o.getOptions(),a=t.getOption(29),d=t.getSelections().map((c,h)=>({selection:c,index:h,ignoreFirstLine:!1}));d.sort((c,h)=>C.compareRangesUsingStarts(c.selection,h.selection));let l=d[0];for(let c=1;c<d.length;c++){let h=d[c];l.selection.endLineNumber===h.selection.startLineNumber&&(l.index<h.index?h.ignoreFirstLine=!0:(l.ignoreFirstLine=!0,l=h))}for(let c of d)n.push(new Cp(i,c.selection,s.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,c.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},QS=class extends vc{constructor(){super(0,{id:"editor.action.commentLine",label:x(897,"Toggle Line Comment"),precondition:S.writable,kbOpts:{kbExpr:S.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:j.MenubarEditMenu,group:"5_insert",title:m(895,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}},JS=class extends vc{constructor(){super(1,{id:"editor.action.addCommentLine",label:x(898,"Add Line Comment"),precondition:S.writable,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2081),weight:100},canTriggerInlineEdits:!0})}},ew=class extends vc{constructor(){super(2,{id:"editor.action.removeCommentLine",label:x(899,"Remove Line Comment"),precondition:S.writable,kbOpts:{kbExpr:S.editorTextFocus,primary:Ve(2089,2099),weight:100},canTriggerInlineEdits:!0})}},tw=class extends M{constructor(){super({id:"editor.action.blockComment",label:x(900,"Toggle Block Comment"),precondition:S.writable,kbOpts:{kbExpr:S.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:j.MenubarEditMenu,group:"5_insert",title:m(896,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(e,t){let i=e.get(Ne);if(!t.hasModel())return;let o=t.getOption(29),n=[],s=t.getSelections();for(let a of s)n.push(new Nn(a,o.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}};D(QS);D(JS);D(ew);D(tw);var zP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ts=function(r,e){return function(t,i){e(t,i,r)}},iw,bc=class{static{iw=this}static{this.ID="editor.contrib.contextmenu"}static get(e){return e.getContribution(iw.ID)}constructor(e,t,i,o,n,s,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=o,this._keybindingService=n,this._menuService=s,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new R,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(l=>this._onContextMenu(l))),this._toDispose.add(this._editor.onMouseWheel(l=>{if(this._contextMenuIsBeingShownCount>0){let c=this._contextViewService.getContextViewElement(),h=l.srcElement;h.shadowRoot&&HD(c)===h.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(l=>{this._editor.getOption(30)&&l.keyCode===58&&(l.preventDefault(),l.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(30)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(let o of this._editor.getSelections())if(o.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(30)||!this._editor.hasModel())return;let t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){let i=[],o=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(let n of o){let[,s]=n,a=0;for(let d of s)if(d instanceof KD){let l=this._getMenuActions(e,d.item.submenu);l.length>0&&(i.push(new eb(d.id,d.label,l)),a++)}else i.push(d),a++;a&&i.push(new Qr)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;let i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let n=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),s=Ue(this._editor.getDomNode()),a=s.left+n.left,d=s.top+n.top+n.height;i={x:a,y:d}}let o=this._editor.getOption(144)&&!Jd;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>i,getActions:()=>e,getActionViewItem:n=>{let s=this._keybindingFor(n);if(s)return new xl(n,n,{label:!0,keybinding:s.getLabel(),isMenu:!0});let a=n;return typeof a.getActionViewItem=="function"?a.getActionViewItem():new xl(n,n,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:n=>this._keybindingFor(n),onHide:n=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||pR(this._workspaceContextService.getWorkspace()))return;let t=this._editor.getOption(81),i=0,o=l=>({id:`menu-action-${++i}`,label:l.label,tooltip:"",class:void 0,enabled:typeof l.enabled>"u"?!0:l.enabled,checked:l.checked,run:l.run}),n=(l,c)=>new eb(`menu-action-${++i}`,l,c,void 0),s=(l,c,h,u,g)=>{if(!c)return o({label:l,enabled:c,run:()=>{}});let p=_=>()=>{this._configurationService.updateValue(h,_)},f=[];for(let _ of g)f.push(o({label:_.label,checked:u===_.value,run:p(_.value)}));return n(l,f)},a=[];a.push(o({label:m(901,"Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Qr),a.push(o({label:m(902,"Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(s(m(903,"Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:m(904,"Proportional"),value:"proportional"},{label:m(905,"Fill"),value:"fill"},{label:m(906,"Fit"),value:"fit"}])),a.push(s(m(907,"Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:m(908,"Mouse Over"),value:"mouseover"},{label:m(909,"Always"),value:"always"}]));let d=this._editor.getOption(144)&&!Jd;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:l=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};bc=iw=zP([Ts(1,zo),Ts(2,fr),Ts(3,Y),Ts(4,ce),Ts(5,bo),Ts(6,oe),Ts(7,no)],bc);var ow=class extends M{constructor(){super({id:"editor.action.showContextMenu",label:x(910,"Show Editor Context Menu"),precondition:void 0,kbOpts:{kbExpr:S.textInputFocus,primary:1092,weight:100}})}run(e,t){bc.get(t)?.showContextMenu()}};K(bc.ID,bc,2);D(ow);var Cc=class{constructor(e){this.selections=e}equals(e){let t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let o=0;o<t;o++)if(!this.selections[o].equalsSelection(e.selections[o]))return!1;return!0}},Sc=class{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}},fd=class r extends L{static{this.ID="editor.contrib.cursorUndoRedoController"}static get(e){return e.getContribution(r.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;let i=new Cc(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Sc(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new Sc(new Cc(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new Sc(new Cc(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}},nw=class extends M{constructor(){super({id:"cursorUndo",label:x(911,"Cursor Undo"),precondition:void 0,kbOpts:{kbExpr:S.textInputFocus,primary:2099,weight:100}})}run(e,t,i){fd.get(t)?.cursorUndo()}},rw=class extends M{constructor(){super({id:"cursorRedo",label:x(912,"Cursor Redo"),precondition:void 0})}run(e,t,i){fd.get(t)?.cursorRedo()}};K(fd.ID,fd,0);D(nw);D(rw);var Sp=class{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){let i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new C(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new G(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new G(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new G(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new G(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new G(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}};function _d(r){return oi?r.altKey:r.ctrlKey}var wp=class r extends L{static{this.ID="editor.contrib.dragAndDrop"}static{this.TRIGGER_KEY_VALUE=oi?6:5}constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(42)||this._editor.getOption(28)||(_d(e)&&(this._modifierPressed=!0),this._mouseDown&&_d(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(42)||this._editor.getOption(28)||(_d(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===r.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){let t=e.target;if(this._dragSelection===null){let o=(this._editor.getSelections()||[]).filter(n=>t.position&&n.containsPosition(t.position));if(o.length===1)this._dragSelection=o[0];else return}_d(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){let t=new P(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){let o=this._editor.getSelection();if(o){let{selectionStartLineNumber:n,selectionStartColumn:s}=o;i=[new G(n,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(o=>o.containsPosition(t)?new G(t.lineNumber,t.column,t.lineNumber,t.column):o);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(_d(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(r.ID,new Sp(this._dragSelection,t,_d(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=X.register({description:"dnd-target",className:"dnd-target"})}showAt(e){this._dndDecorationIds.set([{range:new C(e.lineNumber,e.column,e.lineNumber,e.column),options:r._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};K(wp.ID,wp,2);var UP="editor.action.pasteAs";K(Io.ID,Io,0);ro(xg);q(new class extends Ye{constructor(){super({id:wC,precondition:Tg,kbOpts:{weight:100,primary:2137}})}runEditorCommand(r,e){return Io.get(e)?.changePasteType()}});q(new class extends Ye{constructor(){super({id:"editor.hidePasteWidget",precondition:Tg,kbOpts:{weight:100,primary:9}})}runEditorCommand(r,e){Io.get(e)?.clearWidgets()}});D(class O1 extends M{static{this.argsSchema={oneOf:[{type:"object",required:["kind"],properties:{kind:{type:"string",description:m(913,`The kind of the paste edit to try pasting with.
|
|
13
13
|
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`)}}},{type:"object",required:["preferences"],properties:{preferences:{type:"array",description:m(914,`List of preferred paste edit kind to try applying.
|
|
14
14
|
The first edit matching the preferences will be applied.`),items:{type:"string"}}}}]}}constructor(){super({id:UP,label:x(915,"Paste As..."),precondition:S.writable,metadata:{description:"Paste as",args:[{name:"args",schema:O1.argsSchema}]},canTriggerInlineEdits:!0})}run(e,t,i){let o;return i&&("kind"in i?o={only:new Ie(i.kind)}:"preferences"in i&&(o={preferences:i.preferences.map(n=>new Ie(n))})),Io.get(t)?.pasteAs(o)}});D(class extends M{constructor(){super({id:"editor.action.pasteAsText",label:x(916,"Paste as Text"),precondition:S.writable,canTriggerInlineEdits:!0})}run(r,e){return Io.get(e)?.pasteAs({providerId:xn.id})}});var yp=class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){let t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}},wc=class{constructor(e){this.identifier=e}};var sw=St("treeViewsDndService");Ut(sw,yp,1);var jP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},xp=function(r,e){return function(t,i){e(t,i,r)}},Pn,KP="editor.dropIntoEditor.preferences",aw="editor.changeDropType",Ip=new J("dropWidgetVisible",!1,m(934,"Whether the drop widget is showing")),Ns=class extends L{static{Pn=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(e){return e.getContribution(Pn.ID)}constructor(e,t,i,o,n){super(),this._configService=i,this._languageFeaturesService=o,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=vg.getInstance(),this._dropProgressManager=this._register(t.createInstance(Ha,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Ua,"dropIntoEditor",e,Ip,{id:aw,label:m(935,"Show drop options...")},()=>Pn._configureDefaultAction?[Pn._configureDefaultAction]:[])),this._register(e.onDropIntoEditor(s=>this.onDropIntoEditor(e,s.position,s.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;Pn._currentDropOperation?.cancel(),e.focus(),e.setPosition(t);let o=Oe(async n=>{let s=new R,a=s.add(new oo(e,1,void 0,n));try{let d=await this.extractDataTransferData(i);if(d.size===0||a.token.isCancellationRequested)return;let l=e.getModel();if(!l)return;let c=this._languageFeaturesService.documentDropEditProvider.ordered(l).filter(u=>u.dropMimeTypes?u.dropMimeTypes.some(g=>d.matches(g)):!0),h=s.add(await this.getDropEdits(c,l,t,d,a.token));if(a.token.isCancellationRequested)return;if(h.edits.length){let u=this.getInitialActiveEditIndex(l,h.edits),g=e.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([C.fromPositions(t)],{activeEditIndex:u,allEdits:h.edits},g,async p=>p,n)}}finally{s.dispose(),Pn._currentDropOperation===o&&(Pn._currentDropOperation=void 0)}});this._dropProgressManager.showWhile(t,m(936,"Running drop handlers. Click to cancel"),o,{cancel:()=>o.cancel()}),Pn._currentDropOperation=o}async getDropEdits(e,t,i,o,n){let s=new R,a=await mo(Promise.all(e.map(async l=>{try{let c=await l.provideDocumentDropEdits(t,i,o,n);return c&&s.add(c),c?.edits.map(h=>({...h,providerId:l.id}))}catch(c){Bt(c)||console.error(c),console.error(c)}})),n),d=si(a??[]).flat();return{edits:Dg(d),dispose:()=>s.dispose()}}getInitialActiveEditIndex(e,t){let i=this._configService.getValue(KP,{resource:e.uri});for(let o of Array.isArray(i)?i:[]){let n=new Ie(o),s=t.findIndex(a=>a.kind&&n.contains(a.kind));if(s>=0)return s}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new Wa;let t=bg(e.dataTransfer);if(this.treeItemsTransfer.hasData(wc.prototype)){let i=this.treeItemsTransfer.getData(wc.prototype);if(Array.isArray(i))for(let o of i){let n=await this._treeViewsDragAndDropService.removeDragOperationTransfer(o.identifier);if(n)for(let[s,a]of n)t.replace(s,a)}}return t}};Ns=Pn=jP([xp(1,z),xp(2,oe),xp(3,O),xp(4,sw)],Ns);K(Ns.ID,Ns,2);ro(yg);q(new class extends Ye{constructor(){super({id:aw,precondition:Ip,kbOpts:{weight:100,primary:2137}})}runEditorCommand(r,e,t){Ns.get(e)?.changeDropType()}});q(new class extends Ye{constructor(){super({id:"editor.hideDropWidget",precondition:Ip,kbOpts:{weight:100,primary:9}})}runEditorCommand(r,e,t){Ns.get(e)?.clearWidgets()}});var Lp=class r extends bn{static{this.ID="editor.contrib.findOptionsWidget"}constructor(e,t,i){super(),this._hideSoon=this._register(new Le(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");let o={inputActiveOptionBorder:de(Sa),inputActiveOptionForeground:de(wa),inputActiveOptionBackground:de(or)},n={groupId:"find-options-widget"};this.caseSensitive=this._register(new xR({appendTitle:this._keybindingLabelFor(Te.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new IR({appendTitle:this._keybindingLabelFor(Te.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new LR({appendTitle:this._keybindingLabelFor(Te.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(s=>{let a=!1;s.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),s.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),s.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(te(this._domNode,fe.MOUSE_LEAVE,s=>this._onMouseLeave())),this._register(te(this._domNode,"mouseover",s=>this._onMouseOver()))}_keybindingLabelFor(e){let t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return r.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};function Dp(r,e){return r===1?!0:r===2?!1:e}var Ep=class extends L{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Dp(this._isRegexOverride,this._isRegex)}get wholeWord(){return Dp(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Dp(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Dp(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new H),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){let o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},n=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,o.matchesPosition=!0,n=!0),this._matchesCount!==t&&(this._matchesCount=t,o.matchesCount=!0,n=!0),typeof i<"u"&&(C.equalsRange(this._currentMatch,i)||(this._currentMatch=i,o.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(o)}change(e,t,i=!0){let o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},n=!1,s=this.isRegex,a=this.wholeWord,d=this.matchCase,l=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,n=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,n=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,n=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,n=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(e.searchScope?.every(c=>this._searchScope?.some(h=>!C.equalsRange(h,c)))||(this._searchScope=e.searchScope,o.searchScope=!0,n=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,n=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,n=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,n=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,s!==this.isRegex&&(n=!0,o.isRegex=!0),a!==this.wholeWord&&(n=!0,o.wholeWord=!0),d!==this.matchCase&&(n=!0,o.matchCase=!0),l!==this.preserveCase&&(n=!0,o.preserveCase=!0),n&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=Jo}};var qP=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},GP=function(r,e){return function(t,i){e(t,i,r)}},Rr,Rp=class{static{Rr=this}static{this.FIND_HISTORY_KEY="workbench.find.history"}static{this._instance=null}static getOrCreate(e){return Rr._instance||(Rr._instance=new Rr(e)),Rr._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new H,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(e){let t=this.inMemoryValues.delete(e);return this.save(),t}add(e){return this.inMemoryValues.add(e),this.save(),this}has(e){return this.inMemoryValues.has(e)}forEach(e,t){return this.load(),this.inMemoryValues.forEach(e)}replace(e){this.inMemoryValues=new Set(e),this.save()}load(){let e,t=this.storageService.get(Rr.FIND_HISTORY_KEY,1);if(t)try{e=JSON.parse(t)}catch{}this.inMemoryValues=new Set(e||[])}save(){let e=[];return this.inMemoryValues.forEach(t=>e.push(t)),new Promise(t=>{this.storageService.store(Rr.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};Rp=Rr=qP([GP(0,vt)],Rp);var $P=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ZP=function(r,e){return function(t,i){e(t,i,r)}},kr,kp=class{static{kr=this}static{this.FIND_HISTORY_KEY="workbench.replace.history"}static{this._instance=null}static getOrCreate(e){return kr._instance||(kr._instance=new kr(e)),kr._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new H,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(e){let t=this.inMemoryValues.delete(e);return this.save(),t}add(e){return this.inMemoryValues.add(e),this.save(),this}has(e){return this.inMemoryValues.has(e)}forEach(e,t){return this.load(),this.inMemoryValues.forEach(e)}replace(e){this.inMemoryValues=new Set(e),this.save()}load(){let e,t=this.storageService.get(kr.FIND_HISTORY_KEY,1);if(t)try{e=JSON.parse(t)}catch{}this.inMemoryValues=new Set(e||[])}save(){let e=[];return this.inMemoryValues.forEach(t=>e.push(t)),new Promise(t=>{this.storageService.store(kr.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};kp=kr=$P([ZP(0,vt)],kp);var A1=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ho=function(r,e){return function(t,i){e(t,i,r)}},dw,YP=524288;function lw(r,e="single",t=!1){if(!r.hasModel())return null;let i=r.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){let o=r.getConfiguredWordAtPosition(i.getStartPosition());if(o&&t===!1)return o.word}else if(r.getModel().getValueLengthInRange(i)<YP)return r.getModel().getValueInRange(i)}return null}var Jt=class extends L{static{dw=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(e){return e.getContribution(dw.ID)}constructor(e,t,i,o,n,s){super(),this._editor=e,this._findWidgetVisible=en.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=o,this._notificationService=n,this._hoverService=s,this._updateHistoryDelayer=new vi(500),this._state=this._register(new Ep),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(50).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!rd.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=mn(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;let i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){let o=lw(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);o&&(this._state.isRegex?i.searchString=mn(o):i.searchString=o)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){let o=lw(this._editor,e.seedSearchStringFromSelection);o&&(i.searchString=o)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){let o=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;o&&(i.searchString=o)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){let o=this._editor.getSelections();o.some(n=>!n.isEmpty())&&(i.searchScope=o)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new Wm(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(m(940,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};Jt=dw=A1([ho(1,Y),ho(2,vt),ho(3,Dt),ho(4,ze),ho(5,wt)],Jt);var cw=class extends Jt{constructor(e,t,i,o,n,s,a,d){super(e,i,s,a,n,d),this._contextViewService=t,this._keybindingService=o,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=Rp.getOrCreate(s),this._replaceWidgetHistory=kp.getOrCreate(s)}async _start(e,t){this._widget||this._createFindWidget();let i=this._editor.getSelection(),o=!1;switch(this._editor.getOption(50).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":{o=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||o,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new Km(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._hoverService,this._findWidgetSearchHistory,this._replaceWidgetHistory)),this._findOptionsWidget=this._register(new Lp(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(e){this._widget?.setViewState(e)}};cw=A1([ho(1,fr),ho(2,Y),ho(3,ce),ho(4,ze),ho(5,vt),ho(6,Dt),ho(7,wt)],cw);var XP=ll(new dl({id:Te.StartFindAction,label:x(947,"Find"),precondition:k.or(S.focus,k.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:j.MenubarEditMenu,group:"3_find",title:m(941,"&&Find"),order:1}}));XP.addImplementation(0,(r,e,t)=>{let i=Jt.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop}):!1});var QP={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]},hw=class extends M{constructor(){super({id:Te.StartFindWithArgs,label:x(948,"Find with Arguments"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:QP})}async run(e,t,i){let o=Jt.get(t);if(o){let n=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await o.start({forceRevealReplace:!1,seedSearchStringFromSelection:o.getState().searchString.length===0&&t.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(50).loop},n),o.setGlobalBufferTerm(o.getState().searchString)}}},uw=class extends M{constructor(){super({id:Te.StartFindWithSelection,label:x(949,"Find with Selection"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){let i=Jt.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),i.setGlobalBufferTerm(i.getState().searchString))}};async function F1(r,e){let t=Jt.get(r);if(!t)return;let i=()=>(e?t.moveToNextMatch():t.moveToPrevMatch())?(t.editor.pushUndoStop(),!0):!1;i()||(await t.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getState().searchString.length===0&&r.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:r.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:r.getOption(50).loop}),i())}var JP=ll(new dl({id:Te.NextMatchFindAction,label:x(950,"Find Next"),precondition:void 0,kbOpts:[{kbExpr:S.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:k.and(S.focus,rd),primary:3,weight:100}]}));JP.addImplementation(0,async(r,e,t)=>F1(e,!0));var eO=ll(new dl({id:Te.PreviousMatchFindAction,label:x(951,"Find Previous"),precondition:void 0,kbOpts:[{kbExpr:S.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:k.and(S.focus,rd),primary:1027,weight:100}]}));eO.addImplementation(0,async(r,e,t)=>F1(e,!1));var gw=class extends M{constructor(){super({id:Te.GoToMatchFindAction,label:x(952,"Go to Match..."),precondition:en}),this._highlightDecorations=[]}run(e,t,i){let o=Jt.get(t);if(!o)return;let n=o.getState().matchesCount;if(n<1){e.get(ze).notify({severity:dr.Warning,message:m(942,"No matches. Try searching for something else.")});return}let s=e.get(Et),a=new R,d=a.add(s.createInputBox());d.placeholder=m(943,"Type a number to go to a specific match (between 1 and {0})",n);let l=h=>{let u=parseInt(h);if(isNaN(u))return;let g=o.getState().matchesCount;if(u>0&&u<=g)return u-1;if(u<0&&u>=-g)return g+u},c=h=>{let u=l(h);if(typeof u=="number"){d.validationMessage=void 0,o.goToMatch(u);let g=o.getState().currentMatch;g&&this.addDecorations(t,g)}else d.validationMessage=m(944,"Please type a number between 1 and {0}",o.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(h=>{c(h)})),a.add(d.onDidAccept(()=>{let h=l(d.value);typeof h=="number"?(o.goToMatch(h),d.hide()):d.validationMessage=m(945,"Please type a number between 1 and {0}",o.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:Ke(Wu),position:xi.Full}}}])})}},Mp=class extends M{async run(e,t){let i=Jt.get(t);if(!i)return;let o=lw(t,"single",!1);o&&i.setSearchString(o),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),this._run(i))}},mw=class extends Mp{constructor(){super({id:Te.NextSelectionMatchFindAction,label:x(953,"Find Next Selection"),precondition:void 0,kbOpts:{kbExpr:S.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},pw=class extends Mp{constructor(){super({id:Te.PreviousSelectionMatchFindAction,label:x(954,"Find Previous Selection"),precondition:void 0,kbOpts:{kbExpr:S.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}},tO=ll(new dl({id:Te.StartFindReplaceAction,label:x(955,"Replace"),precondition:k.or(S.focus,k.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:j.MenubarEditMenu,group:"3_find",title:m(946,"&&Replace"),order:2}}));tO.addImplementation(0,(r,e,t)=>{if(!e.hasModel()||e.getOption(104))return!1;let i=Jt.get(e);if(!i)return!1;let o=e.getSelection(),n=i.isFindInputFocused(),s=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&e.getOption(50).seedSearchStringFromSelection!=="never"&&!n,a=n||s?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:s?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(50).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop})});K(Jt.ID,cw,0);D(hw);D(uw);D(gw);D(mw);D(pw);var Do=Ye.bindToContribution(Jt.get);q(new Do({id:Te.CloseFindWidgetCommand,precondition:en,handler:r=>r.closeFindWidget(),kbOpts:{weight:105,kbExpr:k.and(S.focus,k.not("isComposing")),primary:9,secondary:[1033]}}));q(new Do({id:Te.ToggleCaseSensitiveCommand,precondition:void 0,handler:r=>r.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:S.focus,primary:ic.primary,mac:ic.mac,win:ic.win,linux:ic.linux}}));q(new Do({id:Te.ToggleWholeWordCommand,precondition:void 0,handler:r=>r.toggleWholeWords(),kbOpts:{weight:105,kbExpr:S.focus,primary:oc.primary,mac:oc.mac,win:oc.win,linux:oc.linux}}));q(new Do({id:Te.ToggleRegexCommand,precondition:void 0,handler:r=>r.toggleRegex(),kbOpts:{weight:105,kbExpr:S.focus,primary:nc.primary,mac:nc.mac,win:nc.win,linux:nc.linux}}));q(new Do({id:Te.ToggleSearchScopeCommand,precondition:void 0,handler:r=>r.toggleSearchScope(),kbOpts:{weight:105,kbExpr:S.focus,primary:rc.primary,mac:rc.mac,win:rc.win,linux:rc.linux}}));q(new Do({id:Te.TogglePreserveCaseCommand,precondition:void 0,handler:r=>r.togglePreserveCase(),kbOpts:{weight:105,kbExpr:S.focus,primary:sc.primary,mac:sc.mac,win:sc.win,linux:sc.linux}}));q(new Do({id:Te.ReplaceOneAction,precondition:en,handler:r=>r.replace(),kbOpts:{weight:105,kbExpr:S.focus,primary:3094}}));q(new Do({id:Te.ReplaceOneAction,precondition:en,handler:r=>r.replace(),kbOpts:{weight:105,kbExpr:k.and(S.focus,tc),primary:3}}));q(new Do({id:Te.ReplaceAllAction,precondition:en,handler:r=>r.replaceAll(),kbOpts:{weight:105,kbExpr:S.focus,primary:2563}}));q(new Do({id:Te.ReplaceAllAction,precondition:en,handler:r=>r.replaceAll(),kbOpts:{weight:105,kbExpr:k.and(S.focus,tc),primary:void 0,mac:{primary:2051}}}));q(new Do({id:Te.SelectAllMatchesAction,precondition:en,handler:r=>r.selectAllMatches(),kbOpts:{weight:105,kbExpr:S.focus,primary:515}}));var iO={0:" ",1:"u",2:"r"},H1=65535,Yi=16777215,W1=4278190080,yc=class{constructor(e){let t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){let t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){let i=e/32|0,o=e%32,n=this._states[i];t?this._states[i]=n|1<<o:this._states[i]=n&~(1<<o)}},qt=class r{constructor(e,t,i){if(e.length!==t.length||e.length>H1)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new yc(e.length),this._userDefinedStates=new yc(e.length),this._recoveredStates=new yc(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(i,o)=>{let n=e[e.length-1];return this.getStartLineNumber(n)<=i&&this.getEndLineNumber(n)>=o};for(let i=0,o=this._startIndexes.length;i<o;i++){let n=this._startIndexes[i],s=this._endIndexes[i];if(n>Yi||s>Yi)throw new Error("startLineNumber or endLineNumber must not exceed "+Yi);for(;e.length>0&&!t(n,s);)e.pop();let a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((a&255)<<24),this._endIndexes[i]=s+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Yi}getEndLineNumber(e){return this._endIndexes[e]&Yi}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let o=0;o<this._types.length;o++)this._types[o]===e&&(this.setCollapsed(o,t),i=!0);return i}toRegion(e){return new fw(this,e)}getParentIndex(e){this.ensureParentIndices();let t=((this._startIndexes[e]&W1)>>>24)+((this._endIndexes[e]&W1)>>>16);return t===H1?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){let o=Math.floor((t+i)/2);e<this.getStartLineNumber(o)?i=o:t=o+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){let e=[];for(let t=0;t<this.length;t++)e[t]=`[${iO[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Yi,endLineNumber:this._endIndexes[e]&Yi,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){let t=e.length,i=new Uint32Array(t),o=new Uint32Array(t),n=[],s=!1;for(let d=0;d<t;d++){let l=e[d];i[d]=l.startLineNumber,o[d]=l.endLineNumber,n.push(l.type),l.type&&(s=!0)}s||(n=void 0);let a=new r(i,o,n);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,o){i=i??Number.MAX_VALUE;let n=(_,v)=>Array.isArray(_)?(w=>w<v?_[w]:void 0):(w=>w<v?_.toFoldRange(w):void 0),s=n(e,e.length),a=n(t,t.length),d=0,l=0,c=s(0),h=a(0),u=[],g,p=0,f=[];for(;c||h;){let _;if(h&&(!c||c.startLineNumber>=h.startLineNumber))c&&c.startLineNumber===h.startLineNumber?(h.source===1?_=h:(_=c,_.isCollapsed=h.isCollapsed&&(c.endLineNumber===h.endLineNumber||!o?.startsInside(c.startLineNumber+1,c.endLineNumber+1)),_.source=0),c=s(++d)):(_=h,h.isCollapsed&&h.source===0&&(_.source=2)),h=a(++l);else{let v=l,w=h;for(;;){if(!w||w.startLineNumber>c.endLineNumber){_=c;break}if(w.source===1&&w.endLineNumber>c.endLineNumber)break;w=a(++v)}c=s(++d)}if(_){for(;g&&g.endLineNumber<_.startLineNumber;)g=u.pop();_.endLineNumber>_.startLineNumber&&_.startLineNumber>p&&_.endLineNumber<=i&&(!g||g.endLineNumber>=_.endLineNumber)&&(f.push(_),p=_.startLineNumber,g&&u.push(g),g=_)}}return f}},fw=class{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}};var Tp=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new H,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new qt(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,o)=>i.regionIndex-o.regionIndex);let t={};this._decorationProvider.changeDecorations(i=>{let o=0,n=-1,s=-1,a=d=>{for(;o<d;){let l=this._regions.getEndLineNumber(o),c=this._regions.isCollapsed(o);if(l<=n){let h=this.regions.getSource(o)!==0;i.changeDecorationOptions(this._editorDecorationIds[o],this._decorationProvider.getDecorationOption(c,l<=s,h))}c&&l>s&&(s=l),o++}};for(let d of e){let l=d.regionIndex,c=this._editorDecorationIds[l];if(c&&!t[c]){t[c]=!0,a(l);let h=!this._regions.isCollapsed(l);this._regions.setCollapsed(l,h),n=Math.max(n,this._regions.getEndLineNumber(l))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){let t=new Array,i=o=>{for(let n of e)if(!(n.startLineNumber>o.endLineNumber||o.startLineNumber>n.endLineNumber))return!0;return!1};for(let o=0;o<this._regions.length;o++){let n=this._regions.toFoldRange(o);(n.source===0||!i(n))&&t.push(n)}this.updatePost(qt.fromFoldRanges(t))}update(e,t){let i=this._currentFoldedOrManualRanges(t),o=qt.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(qt.fromFoldRanges(o))}updatePost(e){let t=[],i=-1;for(let o=0,n=e.length;o<n;o++){let s=e.getStartLineNumber(o),a=e.getEndLineNumber(o),d=e.isCollapsed(o),l=e.getSource(o)!==0,c={startLineNumber:s,startColumn:this._textModel.getLineMaxColumn(s),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:c,options:this._decorationProvider.getDecorationOption(d,a<=i,l)}),d&&a>i&&(i=a)}this._decorationProvider.changeDecorations(o=>this._editorDecorationIds=o.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){let t=[];for(let i=0,o=this._regions.length;i<o;i++){let n=this.regions.isCollapsed(i),s=this.regions.getSource(i);if(n||s!==0){let a=this._regions.toFoldRange(i),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(n&&e?.startsInside(d.startLineNumber+1,d.endLineNumber)&&(n=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.endLineNumber,type:a.type,isCollapsed:n,source:s}))}}return t}getMemento(){let e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let o=0,n=e.length;o<n;o++){let s=e[o];if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;let a=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;let t=[],i=this._textModel.getLineCount();for(let n of e){if(n.startLineNumber>=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>i)continue;let s=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);(!n.checksum||s===n.checksum)&&t.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,type:void 0,isCollapsed:n.isCollapsed??!0,source:n.source??0})}let o=qt.sanitizeAndMerge(this._regions,t,i);this.updatePost(qt.fromFoldRanges(o))}_getLinesChecksum(e,t){return ou(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){let i=[];if(this._regions){let o=this._regions.findRange(e),n=1;for(;o>=0;){let s=this._regions.toRegion(o);(!t||t(s,n))&&i.push(s),n++,o=s.parentIndex}}return i}getRegionAtLine(e){if(this._regions){let t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){let i=[],o=e?e.regionIndex+1:0,n=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){let s=[];for(let a=o,d=this._regions.length;a<d;a++){let l=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<n){for(;s.length>0&&!l.containedBy(s[s.length-1]);)s.pop();s.push(l),t(l,s.length)&&i.push(l)}else break}}else for(let s=o,a=this._regions.length;s<a;s++){let d=this._regions.toRegion(s);if(this._regions.getStartLineNumber(s)<n)(!t||t(d))&&i.push(d);else break}return i}};function xc(r,e,t){let i=[];for(let o of t){let n=r.getRegionAtLine(o);if(n){let s=!n.isCollapsed;if(i.push(n),e>1){let a=r.getRegionsInside(n,(d,l)=>d.isCollapsed!==s&&l<e);i.push(...a)}}}r.toggleCollapseState(i)}function Ps(r,e,t=Number.MAX_VALUE,i){let o=[];if(i&&i.length>0)for(let n of i){let s=r.getRegionAtLine(n);if(s&&(s.isCollapsed!==e&&o.push(s),t>1)){let a=r.getRegionsInside(s,(d,l)=>d.isCollapsed!==e&&l<t);o.push(...a)}}else{let n=r.getRegionsInside(null,(s,a)=>s.isCollapsed!==e&&a<t);o.push(...n)}r.toggleCollapseState(o)}function _w(r,e,t,i){let o=[];for(let n of i){let s=r.getAllRegionsAtLine(n,(a,d)=>a.isCollapsed!==e&&d<=t);o.push(...s)}r.toggleCollapseState(o)}function B1(r,e,t){let i=[];for(let o of t){let n=r.getAllRegionsAtLine(o,s=>s.isCollapsed!==e);n.length>0&&i.push(n[0])}r.toggleCollapseState(i)}function V1(r,e,t,i){let o=(s,a)=>a===e&&s.isCollapsed!==t&&!i.some(d=>s.containsLine(d)),n=r.getRegionsInside(null,o);r.toggleCollapseState(n)}function vw(r,e,t){let i=[];for(let s of t){let a=r.getAllRegionsAtLine(s,void 0);a.length>0&&i.push(a[0])}let o=s=>i.every(a=>!a.containedBy(s)&&!s.containedBy(a))&&s.isCollapsed!==e,n=r.getRegionsInside(null,o);r.toggleCollapseState(n)}function Np(r,e,t){let i=r.textModel,o=r.regions,n=[];for(let s=o.length-1;s>=0;s--)if(t!==o.isCollapsed(s)){let a=o.getStartLineNumber(s);e.test(i.getLineContent(a))&&n.push(o.toRegion(s))}r.toggleCollapseState(n)}function Pp(r,e,t){let i=r.regions,o=[];for(let n=i.length-1;n>=0;n--)t!==i.isCollapsed(n)&&e===i.getType(n)&&o.push(i.toRegion(n));r.toggleCollapseState(o)}function z1(r,e){let t=null,i=e.getRegionAtLine(r);if(i!==null&&(t=i.startLineNumber,r===t)){let o=i.parentIndex;o!==-1?t=e.regions.getStartLineNumber(o):t=null}return t}function U1(r,e){let t=e.getRegionAtLine(r);if(t!==null&&t.startLineNumber===r){if(r!==t.startLineNumber)return t.startLineNumber;{let i=t.parentIndex,o=0;for(i!==-1&&(o=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<r)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function j1(r,e){let t=e.getRegionAtLine(r);if(t!==null&&t.startLineNumber===r){let i=t.parentIndex,o=0;if(i!==-1)o=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;o=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>r)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}var Op=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new H,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||_0(t.text)[0]!==0))}updateHiddenRanges(){let e=!1,t=[],i=0,o=0,n=Number.MAX_VALUE,s=-1,a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;let d=a.getStartLineNumber(i)+1,l=a.getEndLineNumber(i);n<=d&&l<=s||(!e&&o<this._hiddenRanges.length&&this._hiddenRanges[o].startLineNumber===d&&this._hiddenRanges[o].endLineNumber===l?(t.push(this._hiddenRanges[o]),o++):(e=!0,t.push(new C(d,1,l,1))),n=d,s=l)}(this._hasLineChanges||e||o<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return K1(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1,i=this._foldingModel.textModel,o=null,n=s=>((!o||!oO(s,o))&&(o=K1(this._hiddenRanges,s)),o?o.startLineNumber-1:null);for(let s=0,a=e.length;s<a;s++){let d=e[s],l=n(d.startLineNumber);l&&(d=d.setStartPosition(l,i.getLineMaxColumn(l)),t=!0);let c=n(d.endLineNumber);c&&(d=d.setEndPosition(c,i.getLineMaxColumn(c)),t=!0),e[s]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}};function oO(r,e){return r>=e.startLineNumber&&r<=e.endLineNumber}function K1(r,e){let t=Bu(r,i=>e<i.startLineNumber)-1;return t>=0&&r[t].endLineNumber>=e?r[t]:null}var nO=5e3,rO="indent",Os=class{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=rO}dispose(){}compute(e){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,o=t&&t.markers;return Promise.resolve(aO(this.editorModel,i,o,this.foldingRangesLimit))}},bw=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Yi||t>Yi)return;let o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){let t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);let i=new Uint32Array(this._length),o=new Uint32Array(this._length);for(let n=this._length-1,s=0;n>=0;n--,s++)i[s]=this._startIndexes[n],o[s]=this._endIndexes[n];return new qt(i,o)}else{this._foldingRangesLimit.update(this._length,t);let i=0,o=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){let l=this._indentOccurrences[d];if(l){if(l+i>t){o=d;break}i+=l}}let n=e.getOptions().tabSize,s=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,l=0;d>=0;d--){let c=this._startIndexes[d],h=e.getLineContent(c),u=bl(h,n);(u<o||u===o&&i++<t)&&(s[l]=c,a[l]=this._endIndexes[d],l++)}return new qt(s,a)}}},sO={limit:nO,update:()=>{}};function aO(r,e,t,i=sO){let o=r.getOptions().tabSize,n=new bw(i),s;t&&(s=new RegExp(`(${t.start.source})|(?:${t.end.source})`));let a=[],d=r.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let l=r.getLineCount();l>0;l--){let c=r.getLineContent(l),h=bl(c,o),u=a[a.length-1];if(h===-1){e&&(u.endAbove=l);continue}let g;if(s&&(g=c.match(s)))if(g[1]){let p=a.length-1;for(;p>0&&a[p].indent!==-2;)p--;if(p>0){a.length=p+1,u=a[p],n.insertFirst(l,u.line,h),u.line=l,u.indent=h,u.endAbove=l;continue}}else{a.push({indent:-2,endAbove:l,line:l});continue}if(u.indent>h){do a.pop(),u=a[a.length-1];while(u.indent>h);let p=u.endAbove-1;p-l>=1&&n.insertFirst(l,p,h)}u.indent===h?u.endAbove=l:a.push({indent:h,endAbove:l,line:l})}return n.toIndentRanges(r)}var dO=W("editor.foldBackground",{light:Qe(ab,.3),dark:Qe(ab,.3),hcDark:null,hcLight:null},m(1002,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);W("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},m(1003,"Color of the collapsed text after the first line of a folded range."));W("editorGutter.foldingControlForeground",bE,m(1004,"Color of the folding control in the editor gutter."));var Ic=Ae("folding-expanded",U.chevronDown,m(1005,"Icon for expanded ranges in the editor glyph margin.")),Lc=Ae("folding-collapsed",U.chevronRight,m(1006,"Icon for collapsed ranges in the editor glyph margin.")),q1=Ae("folding-manual-collapsed",Lc,m(1007,"Icon for manually collapsed ranges in the editor glyph margin.")),G1=Ae("folding-manual-expanded",Ic,m(1008,"Icon for manually expanded ranges in the editor glyph margin.")),Cw={color:Ke(dO),position:1},vd=m(1009,"Click to expand the range."),Ap=m(1010,"Click to collapse the range."),Fp=class r{static{this.COLLAPSED_VISUAL_DECORATION=X.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:vd,firstLineDecorationClassName:ne.asClassName(Lc)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=X.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Cw,isWholeLine:!0,linesDecorationsTooltip:vd,firstLineDecorationClassName:ne.asClassName(Lc)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=X.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:vd,firstLineDecorationClassName:ne.asClassName(q1)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=X.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Cw,isWholeLine:!0,linesDecorationsTooltip:vd,firstLineDecorationClassName:ne.asClassName(q1)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:vd})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Cw,isWholeLine:!0,linesDecorationsTooltip:vd})}static{this.EXPANDED_VISUAL_DECORATION=X.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ne.asClassName(Ic),linesDecorationsTooltip:Ap})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=X.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ne.asClassName(Ic),linesDecorationsTooltip:Ap})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=X.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ne.asClassName(G1),linesDecorationsTooltip:Ap})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=X.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ne.asClassName(G1),linesDecorationsTooltip:Ap})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=X.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?r.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?r.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:r.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:r.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?r.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:r.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?r.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:r.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?r.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:r.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?r.MANUALLY_EXPANDED_VISUAL_DECORATION:r.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};var lO={},cO="syntax",As=class{constructor(e,t,i,o,n){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=o,this.fallbackRangeProvider=n,this.id=cO,this.disposables=new R,n&&this.disposables.add(n);for(let s of t)typeof s.onDidChange=="function"&&this.disposables.add(s.onDidChange(i))}compute(e){return hO(this.providers,this.editorModel,e).then(t=>this.editorModel.isDisposed()?null:t?uO(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(e)??null)}dispose(){this.disposables.dispose()}};function hO(r,e,t){let i=null,o=r.map((n,s)=>Promise.resolve(n.provideFoldingRanges(e,lO,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);let d=e.getLineCount();for(let l of a)l.start>0&&l.end>l.start&&l.end<=d&&i.push({start:l.start,end:l.end,rank:s,kind:l.kind})}},_e));return Promise.all(o).then(n=>i)}var Sw=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,o){if(e>Yi||t>Yi)return;let n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._nestingLevels[n]=o,this._types[n]=i,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}toIndentRanges(){let e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);let t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let o=0;o<this._length;o++)t[o]=this._startIndexes[o],i[o]=this._endIndexes[o];return new qt(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){let d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}let o=new Uint32Array(e),n=new Uint32Array(e),s=[];for(let a=0,d=0;a<this._length;a++){let l=this._nestingLevels[a];(l<i||l===i&&t++<e)&&(o[d]=this._startIndexes[a],n[d]=this._endIndexes[a],s[d]=this._types[a],d++)}return new qt(o,n,s)}}};function uO(r,e){let t=r.sort((s,a)=>{let d=s.start-a.start;return d===0&&(d=s.rank-a.rank),d}),i=new Sw(e),o,n=[];for(let s of t)if(!o)o=s,i.add(s.start,s.end,s.kind&&s.kind.value,n.length);else if(s.start>o.start)if(s.end<=o.end)n.push(o),o=s,i.add(s.start,s.end,s.kind&&s.kind.value,n.length);else{if(s.start>o.end){do o=n.pop();while(o&&s.start>o.end);o&&n.push(o),o=s}i.add(s.start,s.end,s.kind&&s.kind.value,n.length)}return i.toIndentRanges()}var gO=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Dc=function(r,e){return function(t,i){e(t,i,r)}},Ec,Rt=new J("foldingEnabled",!1),rn=class extends L{static{Ec=this}static{this.ID="editor.contrib.folding"}static get(e){return e.getContribution(Ec.ID)}static getFoldingRangeProviders(e,t){let i=e.foldingRangeProvider.ordered(t);return Ec._foldingRangeSelector?.(i,t)??i}constructor(e,t,i,o,n,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this.localToDispose=this._register(new R),this.editor=e,this._foldingLimitReporter=this._register(new Rc(e));let a=this.editor.getOptions();this._isEnabled=a.get(52),this._useFoldingProviders=a.get(53)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(55),this.updateDebounceInfo=n.for(s.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new Fp(e),this.foldingDecorationProvider.showFoldingControls=a.get(126),this.foldingDecorationProvider.showFoldingHighlights=a.get(54),this.foldingEnabled=Rt.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(52)&&(this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(56)&&this.onModelChanged(),d.hasChanged(126)||d.hasChanged(54)){let l=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=l.get(126),this.foldingDecorationProvider.showFoldingHighlights=l.get(54),this.triggerFoldingModelChanged()}d.hasChanged(53)&&(this._useFoldingProviders=this.editor.getOptions().get(53)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(57)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57)),d.hasChanged(55)&&(this._foldingImportsByDefault=this.editor.getOptions().get(55))})),this.onModelChanged()}saveViewState(){let e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){let t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){let t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new Tp(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Op(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new vi(this.updateDebounceInfo.get(e)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new Le(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;let t=new Os(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){let i=Ec.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new As(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{let e=this.foldingModel;if(!e)return null;let t=new st,i=this.getRangeProvider(e.textModel),o=this.foldingRegionPromise=Oe(n=>i.compute(n));return o.then(n=>{if(n&&o===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let l=n.setCollapsedAllOfType(rs.Imports.value,!0);l&&(s=Vo.capture(this.editor),this._currentModelHasFoldedImports=l)}let a=this.editor.getSelections();e.update(n,mO(a)),s?.restore(this.editor);let d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(ae(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){let e=this.getFoldingModel();e&&e.then(t=>{if(t){let i=this.editor.getSelections();if(i&&i.length>0){let o=[];for(let n of i){let s=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(s)&&o.push(...t.getAllRegionsAtLine(s,a=>a.isCollapsed&&s>a.startLineNumber))}o.length&&(t.toggleCollapseState(o),this.reveal(i[0].getPosition()))}}}).then(void 0,ae)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;let t=e.target.range,i=!1;switch(e.target.type){case 4:{let o=e.target.detail,n=e.target.element.offsetLeft;if(o.offsetX-n<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){let o=this.editor.getModel();if(o&&t.startColumn===o.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){let t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;let i=this.mouseDownInfo.lineNumber,o=this.mouseDownInfo.iconClicked,n=e.target.range;if(!n||n.startLineNumber!==i)return;if(o){if(e.target.type!==4)return}else{let a=this.editor.getModel();if(!a||n.startColumn!==a.getLineMaxColumn(i))return}let s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){let a=s.isCollapsed;if(o||a){let d=e.event.altKey,l=[];if(d){let c=u=>!u.containedBy(s)&&!s.containedBy(u),h=t.getRegionsInside(null,c);for(let u of h)u.isCollapsed&&l.push(u);l.length===0&&(l=h)}else{let c=e.event.middleButton||e.event.shiftKey;if(c)for(let h of t.getRegionsInside(s))h.isCollapsed===a&&l.push(h);(a||!c||l.length===0)&&l.push(s)}t.toggleCollapseState(l),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};rn=Ec=gO([Dc(1,Y),Dc(2,Ne),Dc(3,ze),Dc(4,bt),Dc(5,O)],rn);var Rc=class extends L{constructor(e){super(),this.editor=e,this._onDidChange=this._register(new H),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},xt=class extends M{runEditorCommand(e,t,i){let o=e.get(Ne),n=rn.get(t);if(!n)return;let s=n.getFoldingModel();if(s)return this.reportTelemetry(e,t),s.then(a=>{if(a){this.invoke(n,a,t,i,o);let d=t.getSelection();d&&n.reveal(d.getStartPosition())}})}getSelectedLines(e){let t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}};function mO(r){return!r||r.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(let i of r){let o=i.startLineNumber;if(o>=e&&o<=t)return!0}return!1}}}function $1(r){if(!Gr(r)){if(!ia(r))return!1;let e=r;if(!Gr(e.levels)&&!Wv(e.levels)||!Gr(e.direction)&&!Yh(e.direction)||!Gr(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(Wv)))return!1}return!0}var ww=class extends xt{constructor(){super({id:"editor.unfold",label:x(982,"Unfold"),precondition:Rt,kbOpts:{kbExpr:S.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
@@ -40,7 +40,7 @@ The first edit matching the preferences will be applied.`),items:{type:"string"}
|
|
|
40
40
|
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}},Nr=class{constructor(e,t,i,o=[]){this.column=e,this.text=t,this.preview=i,this._inlineDecorations=o,this.lines=ri(this.text).map((n,s)=>({line:n,lineDecorations:nr.filter(this._inlineDecorations,s+1,1,n.length+1)}))}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t.line===e.lines[i].line&&nr.equalsArr(t.lineDecorations,e.lines[i].lineDecorations))}},Nd=class{constructor(e,t,i,o=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=o,this.parts=[new Nr(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ri(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
41
41
|
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}};function Hy(r,e){return Zt(r,e,Wy)}function Wy(r,e){return r===e?!0:!r||!e?!1:r instanceof dn&&e instanceof dn||r instanceof Nd&&e instanceof Nd?r.equals(e):!1}function Fi(r,e,t){let i=t?r.range.intersectRanges(t):r.range;if(!i)return r;let o=r.text.replaceAll(`\r
|
|
42
42
|
`,`
|
|
43
|
-
`),n=e.getValueInRange(i,1),s=fo(n,o),a=Gi.ofText(n.substring(0,s)).addToPosition(r.range.getStartPosition()),d=o.substring(s),l=C.fromPositions(a,r.range.getEndPosition());return new ot(l,d)}function bf(r,e){return r.text.startsWith(e.text)&&oA(r.range,e.range)}function oA(r,e){return e.getStartPosition().equals(r.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(r.getEndPosition())}function By(r,e,t,i,o=0){let n=Fi(r,e);if(n.range.endLineNumber!==n.range.startLineNumber)return;let s=e.getLineContent(n.range.startLineNumber),a=it(s).length;if(n.range.startColumn-1<=a){let p=it(n.text).length,f=s.substring(n.range.startColumn-1,a),[_,v]=[n.range.getStartPosition(),n.range.getEndPosition()],w=_.column+f.length<=v.column?_.delta(0,f.length):v,I=C.fromPositions(w,v),b=n.text.startsWith(f)?n.text.substring(f.length):n.text.substring(p);n=new ot(I,b)}let l=e.getValueInRange(n.range),c=nA(l,n.text);if(!c)return;let h=n.range.startLineNumber,u=new Array;if(t==="prefix"){let p=c.filter(f=>f.originalLength===0);if(p.length>1||p.length===1&&p[0].originalStart!==l.length)return}let g=n.text.length-o;for(let p of c){let f=n.range.startColumn+p.originalStart+p.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===n.range.startLineNumber&&f<i.column||p.originalLength>0)return;if(p.modifiedLength===0)continue;let _=p.modifiedStart+p.modifiedLength,v=Math.max(p.modifiedStart,Math.min(_,g)),w=n.text.substring(p.modifiedStart,v),I=n.text.substring(v,Math.max(p.modifiedStart,_));w.length>0&&u.push(new Nr(f,w,!1)),I.length>0&&u.push(new Nr(f,I,!0))}return new dn(h,u)}var Cf;function nA(r,e){if(Cf?.originalValue===r&&Cf?.newValue===e)return Cf?.changes;{let t=vM(r,e,!0);if(t){let i=_M(t);if(i>0){let o=vM(r,e,!1);o&&_M(o)<i&&(t=o)}}return Cf={originalValue:r,newValue:e,changes:t},t}}function _M(r){let e=0;for(let t of r)e+=t.originalLength;return e}function vM(r,e,t){if(r.length>5e3||e.length>5e3)return;function i(l){let c=0;for(let h=0,u=l.length;h<u;h++){let g=l.charCodeAt(h);g>c&&(c=g)}return c}let o=Math.max(i(r),i(e));function n(l){if(l<0)throw new Error("unexpected");return o+l+1}function s(l){let c=0,h=0,u=new Int32Array(l.length);for(let g=0,p=l.length;g<p;g++)if(t&&l[g]==="("){let f=h*100+c;u[g]=n(2*f),c++}else if(t&&l[g]===")"){c=Math.max(c-1,0);let f=h*100+c;u[g]=n(2*f+1),c===0&&h++}else u[g]=l.charCodeAt(g);return u}let a=s(r),d=s(e);return new kR({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}function bM(r,e){let t,i=!1,o=new DD(new LD(r,void 0,e.update),(n,s)=>{i||(t=e.initial instanceof Function?e.initial():e.initial,i=!0);let a=e.update(n,t,s);return t=a,a},e.changeTracker,()=>{i&&(e.disposeFinal?.(t),i=!1)},e.equalityComparer??xD,(n,s,a)=>{if(!i)throw new et("Can only set when there is a listener! This is to prevent leaks.");sl(s,d=>{t=n,o.setValue(n,d,a)})},su.ofCaller());return o}var rA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},CM=function(r,e){return function(t,i){e(t,i,r)}},Vy=class{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}},Sf=class extends Vy{constructor(e,t){super(e,(i,o)=>{let n=!0;o&&zy in o&&(n=!!o[zy]),n&&t.getDataChannel("editTelemetry").sendData({eventName:i,data:o??{}})})}};Sf=rA([CM(0,zt),CM(1,rg)],Sf);var zy=Symbol("shouldForwardToChannel");function SM(r){return{[zy]:r}}function Uy(r){if(!r)return!1;let e=r.toLowerCase();return e==="github.copilot"||e==="github.copilot-chat"}function wM(r){let e=r.map(i=>new Mt(Be.ofStartAndLength(i.rangeOffset,i.rangeLength),i.text));return e.reverse(),new Wo(e)}function yM(r,e){r.publicLog2("inlineCompletion.endOfLife",e)}var wf;(function(r){function e(t,i){return!t.isInlineEdit&&!t.uri?jy.create(t,i):oh.create(t,i)}r.create=e})(wf||(wf={}));var yf=class{constructor(e,t,i){this._data=e,this.identity=t,this.hint=i}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===jt.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get editRange(){return this.getSingleTextEdit().range}get targetRange(){return this.hint?.range&&!this.hint.jumpToEdit?this.hint?.range:this.editRange}get insertText(){return this.getSingleTextEdit().text}get semanticId(){return this.hash}get action(){return this._sourceInlineCompletion.gutterMenuLinkAction}get command(){return this._sourceInlineCompletion.command}get warning(){return this._sourceInlineCompletion.warning}get showInlineEditMenu(){return!!this._sourceInlineCompletion.showInlineEditMenu}get hash(){return JSON.stringify([this.getSingleTextEdit().text,this.getSingleTextEdit().range.getStartPosition().toString()])}get requestUuid(){return this._data.context.requestUuid}get partialAccepts(){return this._data.partialAccepts}get _sourceInlineCompletion(){return this._data.sourceInlineCompletion}addRef(){this.identity.addRef(),this.source.addRef()}removeRef(){this.identity.removeRef(),this.source.removeRef()}reportInlineEditShown(e,t,i){this._data.reportInlineEditShown(e,this.insertText,t,i)}reportPartialAccept(e,t,i){this._data.reportPartialAccept(e,t,i)}reportEndOfLife(e){this._data.reportEndOfLife(e)}setEndOfLifeReason(e){this._data.setEndOfLifeReason(e)}setIsPreceeded(e){this._data.setIsPreceeded(e.partialAccepts)}setNotShownReasonIfNotSet(e){this._data.setNotShownReason(e)}getSourceCompletion(){return this._sourceInlineCompletion}},xf=class r{constructor(){this._onDispose=io(this),this._jumpedTo=xe(this,!1),this._refCount=1,this.id="InlineCompletionIdentity"+r.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){this._refCount--,this._refCount===0&&this._onDispose.trigger(void 0)}setJumpTo(e){this._jumpedTo.set(!0,e)}},If=class r{static create(e){return new r(C.lift(e.range),e.content,e.style,e.jumpToEdit)}constructor(e,t,i,o){this.range=e,this.content=t,this.style=i,this.jumpToEdit=o}withEdit(e,t){let i=new Be(t.getOffset(this.range.getStartPosition()),t.getOffset(this.range.getEndPosition())),o=Sb([i],e)[0];if(!o)return;let n=t.getRange(o);return new r(n,this.content,this.style,this.jumpToEdit)}},jy=class r extends yf{static create(e,t){let i=new xf,o=Vs(t),n=e.insertText.replace(/\r\n|\r|\n/g,t.getEOL()),s=aA(new Mt(o.getOffsetRange(e.range),n),t),a=s.removeCommonSuffixAndPrefix(t.getValue()),d=o.getTextReplacement(s),l=e.hint?If.create(e.hint):void 0;return new r(s,a,d,d.range,e.snippetInfo,e.additionalTextEdits,e,i,l)}constructor(e,t,i,o,n,s,a,d,l){super(a,d,l),this._edit=e,this._trimmedEdit=t,this._textEdit=i,this._originalRange=o,this.snippetInfo=n,this.additionalTextEdits=s,this.isInlineEdit=!1}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(e){return new r(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,e,this.hint)}withEdit(e,t){let i=Sb([this._edit.replaceRange],e);if(i.length===0)return;let o=new Mt(i[0],this._textEdit.text),n=Vs(t),s=n.getTextReplacement(o),a=this.hint;if(a&&(a=a.withEdit(e,n),!a))return;let d=o.removeCommonSuffixAndPrefix(t.getValue());return new r(o,d,s,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,a)}canBeReused(e,t){let i=this._textEdit.range;return!!i&&i.containsPosition(t)&&this.isVisible(e,t)&&Gi.ofRange(i).isGreaterThanOrEqualTo(Gi.ofRange(this._originalRange))}isVisible(e,t){let i=this.getSingleTextEdit();return qy(i,this._originalRange,e,t)}};function qy(r,e,t,i){let o=Fi(r,t),n=r.range;if(!n||e&&!e.getStartPosition().equals(n.getStartPosition())||i.lineNumber!==o.range.startLineNumber||o.isEmpty)return!1;let s=t.getValueInRange(o.range,1),a=o.text,d=Math.max(0,i.column-o.range.startColumn),l=a.substring(0,d),c=a.substring(d),h=s.substring(0,d),u=s.substring(d),g=t.getLineIndentColumn(o.range.startLineNumber);return o.range.startColumn<=g&&(h=h.trimStart(),h.length===0&&(u=u.trimStart()),l=l.trimStart(),l.length===0&&(c=c.trimStart())),l.startsWith(h)&&!!O0(u,c)}var oh=class r extends yf{static create(e,t){let i=sA(t,e.range,e.insertText),o=new _r(t),n=Qt.fromStringEdit(i,o),s=i.isEmpty()?new ot(new C(1,1,1,1),""):n.toReplacement(o),a=new xf,d=i.replacements.map(c=>{let h=C.fromPositions(t.getPositionAt(c.replaceRange.start),t.getPositionAt(c.replaceRange.endExclusive)),u=t.getValueInRange(h);return Ky.create(c,u)}),l=e.hint?If.create(e.hint):void 0;return new r(i,s,e.uri,e,a,d,l,!1,t.getVersionId())}constructor(e,t,i,o,n,s,a,d=!1,l){super(o,n,a),this._edit=e,this._textEdit=t,this.uri=i,this._edits=s,this._lastChangePartOfInlineEdit=d,this._inlineEditModelVersion=l,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get updatedEdit(){return this._edit}getSingleTextEdit(){return this._textEdit}withIdentity(e){return new r(this._edit,this._textEdit,this.uri,this._data,e,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion)}canBeReused(e,t){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===e.getVersionId()}withEdit(e,t){return this._applyTextModelChanges(e,this._edits,t)}_applyTextModelChanges(e,t,i){if(t=t.map(h=>h.applyTextModelChanges(e)),t.some(h=>h.edit===void 0))return;let o=i.getVersionId(),n=this._inlineEditModelVersion,s=t.some(h=>h.lastChangeUpdatedEdit);if(s&&(n=o??-1),o===null||n+20<o||(t=t.filter(h=>!h.edit.isEmpty),t.length===0))return;let a=new Wo(t.map(h=>h.edit)),d=Vs(i),l=d.getTextEdit(a).toReplacement(new _r(i)),c=this.hint;if(!(c&&(c=c.withEdit(e,d),!c)))return new r(a,l,this.uri,this._data,this.identity,t,c,s,n)}};function sA(r,e,t){let i=r.getEOL(),o=r.getValueInRange(e),n=t.replace(/\r\n|\r|\n/g,i),d=HR.getDefault().computeDiff(ri(o),ri(n),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:500}).changes.flatMap(u=>u.innerChanges??[]);function l(u,g){let p=Gi.fromPosition(g.getStartPosition());return Gi.ofRange(g).createRange(p.addToPosition(u))}let c=new Cn(n);return new Wo(d.map(u=>{let g=l(e.getStartPosition(),u.originalRange),p=Vs(r).getOffsetRange(g),f=c.getValueOfRange(u.modifiedRange),_=new Mt(p,f),v=r.getValueInRange(g);return dA(_,v,d.length,r)}))}var Ky=class r{static create(e,t){let i=fo(e.newText,t),o=ol(e.newText,t),n=e.newText.substring(i,e.newText.length-o);return new r(e,n,i,o)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(e,t,i,o,n=!1){this._edit=e,this._trimmedNewText=t,this._prefixLength=i,this._suffixLength=o,this._lastChangeUpdatedEdit=n}applyTextModelChanges(e){let t=this._clone();return t._applyTextModelChanges(e),t}_clone(){return new r(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(e){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new et("UpdatedInnerEdits: No edit to apply changes to");let t=this._applyChanges(this._edit,e);if(!t){this._edit=void 0;return}this._edit=t.edit,this._lastChangeUpdatedEdit=t.editHasChanged}_applyChanges(e,t){let i=e.replaceRange.start,o=e.replaceRange.endExclusive,n=e.newText,s=!1,a=this._prefixLength>0||this._suffixLength>0;for(let d=t.replacements.length-1;d>=0;d--){let l=t.replacements[d],c=l.newText.length>0&&l.replaceRange.isEmpty;if(c&&!a&&l.replaceRange.start===i&&n.startsWith(l.newText)){i+=l.newText.length,n=n.substring(l.newText.length),o=Math.max(i,o),s=!0;continue}if(c&&a&&l.replaceRange.start===i+this._prefixLength&&this._trimmedNewText.startsWith(l.newText)){o+=l.newText.length,s=!0,this._prefixLength+=l.newText.length,this._trimmedNewText=this._trimmedNewText.substring(l.newText.length);continue}if(l.newText.length===0&&l.replaceRange.length>0&&l.replaceRange.start>=i+this._prefixLength&&l.replaceRange.endExclusive<=o-this._suffixLength){o-=l.replaceRange.length,s=!0;continue}if(l.equals(e)){s=!0,i=l.replaceRange.endExclusive,n="";continue}if(!(l.replaceRange.start>o)){if(l.replaceRange.endExclusive<i){i+=l.newText.length-l.replaceRange.length,o+=l.newText.length-l.replaceRange.length;continue}return}}return this._trimmedNewText.length===0&&i+this._prefixLength===o-this._suffixLength?{edit:new Mt(new Be(i+this._prefixLength,i+this._prefixLength),""),editHasChanged:!0}:{edit:new Mt(new Be(i,o),n),editHasChanged:s}}};function aA(r,e){let t=e.getEOL();return r.replaceRange.isEmpty&&r.newText.includes(t)&&(r=xM(r,e)),r}function dA(r,e,t,i){let o=i.getEOL();if(r.newText.endsWith(o)&&e.endsWith(o)&&(r=new Mt(r.replaceRange.deltaEnd(-o.length),r.newText.slice(0,-o.length))),t===1&&r.replaceRange.isEmpty&&r.newText.includes(o)){let n=i.getPositionAt(r.replaceRange.start);i.getLineLength(n.lineNumber)!==0&&(r=xM(r,i))}if(t===1){let n=fo(e,r.newText),s=ol(e.slice(n),r.newText.slice(n));if(n+s===e.length)return new Mt(r.replaceRange.deltaStart(n).deltaEnd(-s),r.newText.substring(n,r.newText.length-s));if(n+s===r.newText.length)return new Mt(r.replaceRange.deltaStart(n).deltaEnd(-s),"")}return r}function xM(r,e){if(!r.replaceRange.isEmpty)throw new et("Unexpected original range");if(r.replaceRange.start===0)return r;let t=e.getEOL(),i=e.getPositionAt(r.replaceRange.start),o=i.column,n=i.lineNumber;return o===1&&n>1&&r.newText.endsWith(t)&&!r.newText.startsWith(t)?new Mt(r.replaceRange.delta(-1),t+r.newText.slice(0,-t.length)):r}function IM(r,e){let t=new b0,i=new S0(t,l=>e.getLanguageConfiguration(l)),o=new C0(new Gy([r]),i),n=w0(o,[],void 0,!0),s="",a=r.getLineContent();function d(l,c){if(l.kind===2)if(d(l.openingBracket,c),c=La(c,l.openingBracket.length),l.child&&(d(l.child,c),c=La(c,l.child.length)),l.closingBracket)d(l.closingBracket,c),c=La(c,l.closingBracket.length);else{let u=i.getSingleLanguageBracketTokens(l.openingBracket.languageId).findClosingTokenText(l.openingBracket.bracketIds);s+=u}else if(l.kind!==3){if(l.kind===0||l.kind===1)s+=a.substring(c,La(c,l.length));else if(l.kind===4)for(let h of l.children)d(h,c),c=La(c,h.length)}}return d(n,v0),s}var Gy=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}};var Lf=class r{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(e,t){let i=new r;for(let o of e)i._nodes.add(o);for(let o of e){let n=t(o);if(n.length>0){let s=new Set;for(let a of n)s.add(a);i._outgoingEdges.set(o,s)}}return i}removeCycles(){let e=[],t=new Set,i=new Set,o=[],n=s=>{t.add(s),i.add(s);let a=this._outgoingEdges.get(s);if(a)for(let d of a)t.has(d)?i.has(d)&&(e.push(d),o.push({from:s,to:d})):n(d);i.delete(s)};for(let s of this._nodes)t.has(s)||n(s);for(let{from:s,to:a}of o){let d=this._outgoingEdges.get(s);d&&d.delete(a)}return{foundCycles:e}}getOutgoing(e){let t=this._outgoingEdges.get(e);return t?Array.from(t):[]}};var ct;(function(r){r.Jump="jump",r.Accept="accept",r.Inactive="inactive"})(ct||(ct={}));var pe;(function(r){r.GhostText="ghostText",r.Custom="custom",r.SideBySide="sideBySide",r.Deletion="deletion",r.InsertionInline="insertionInline",r.InsertionMultiLine="insertionMultiLine",r.WordReplacements="wordReplacements",r.LineReplacement="lineReplacement",r.Collapsed="collapsed"})(pe||(pe={}));function DM(r,e,t,i,o,n){let s=QE("icr"),a=new Me,d,l={...i,requestUuid:s},c=cA(e,t),h=R0(r,v=>v.groupId),u=Lf.from(r,v=>v.yieldsToGroupIds?.flatMap(w=>h.get(w)??[])??[]),{foundCycles:g}=u.removeCycles();g.length>0&&_e(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${g.map(v=>v.toString?v.toString():""+v).join(" -> ")}`));let p=0,f=new sD(async v=>{try{if(p++,a.token.isCancellationRequested)return;let w=u.getOutgoing(v);for(let A of w){let V=await f.get(A);if(V)for(let ee of V.inlineSuggestions.items){if(ee.isInlineEdit||typeof ee.insertText!="string"&&ee.insertText!==void 0)return;if(ee.insertText!==void 0){let $=new ot(C.lift(ee.range)??c,ee.insertText);if(qy($,void 0,t,e))return}}}let I,b=Date.now();try{I=await v.provideInlineCompletions(t,e,l,a.token)}catch(A){_e(A);return}let y=Date.now();if(!I)return;let E=[],N=new Zy(I,E,v);if(N.addRef(),Yy(a.token,()=>N.removeRef(d)),a.token.isCancellationRequested)return;for(let A of I.items)E.push(lA(A,N,c,t,n,l,o,{startTime:b,endTime:y}));return N}finally{p--}}),_=ni.fromPromisesResolveOrder(r.map(v=>f.get(v))).filter(Vi);return{contextWithUuid:l,get didAllProvidersReturn(){return p===0},lists:_,cancelAndDispose:v=>{d===void 0&&(d=v,a.dispose(!0))}}}function Yy(r,e){if(r.isCancellationRequested)return e(),L.None;{let t=r.onCancellationRequested(()=>{t.dispose(),e()});return{dispose:()=>t.dispose()}}}function lA(r,e,t,i,o,n,s,a){let d,l,c=r.range?C.lift(r.range):t;if(typeof r.insertText=="string"){if(d=r.insertText,o&&r.completeBracketPairs){d=LM(d,c.getStartPosition(),i,o);let h=d.length-r.insertText.length;h!==0&&(c=new C(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}l=void 0}else if(r.insertText===void 0)d="",l=void 0,c=new C(1,1,1,1);else if("snippet"in r.insertText){let h=r.insertText.snippet.length;if(o&&r.completeBracketPairs){r.insertText.snippet=LM(r.insertText.snippet,c.getStartPosition(),i,o);let g=r.insertText.snippet.length-h;g!==0&&(c=new C(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+g))}let u=new Li().parse(r.insertText.snippet);u.children.length===1&&u.children[0]instanceof Ot?(d=u.children[0].value,l=void 0):(d=u.toString(),l={snippet:r.insertText.snippet,range:c})}else $h(r.insertText);return new $y(c,d,l,re.revive(r.uri),r.hint,r.additionalTextEdits||gM(),r,e,n,r.isInlineEdit??!1,s,a,r.correlationId)}var $y=class{constructor(e,t,i,o,n,s,a,d,l,c,h,u,g){this.range=e,this.insertText=t,this.snippetInfo=i,this.uri=o,this.hint=n,this.additionalTextEdits=s,this.sourceInlineCompletion=a,this.source=d,this.context=l,this.isInlineEdit=c,this._requestInfo=h,this._providerRequestInfo=u,this._correlationId=g,this._didShow=!1,this._timeUntilShown=void 0,this._showStartTime=void 0,this._shownDuration=0,this._showUncollapsedStartTime=void 0,this._showUncollapsedDuration=0,this._notShownReason=void 0,this._didReportEndOfLife=!1,this._lastSetEndOfLifeReason=void 0,this._isPreceeded=!1,this._partiallyAcceptedCount=0,this._partiallyAcceptedSinceOriginal={characters:0,ratio:0,count:0},this._viewData={editorType:h.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(e,t,i,o){if(this.updateShownDuration(i),this._didShow)return;this._didShow=!0,this._viewData.viewKind=i,this._viewData.renderData=o,this._timeUntilShown=Date.now()-this._requestInfo.startTime;let n=new y0(o.lineCountModified,o.lineCountOriginal,o.characterCountModified,o.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,t,n),this.sourceInlineCompletion.shownCommand&&await e.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(e,t,i){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=i.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*i.ratio,1),this._partiallyAcceptedSinceOriginal.count+=i.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}reportEndOfLife(e){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),e||(e=this._lastSetEndOfLifeReason??{kind:ar.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===ar.Rejected&&this.source.provider.handleRejection&&this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion),this.source.provider.handleEndOfLifetime)){let t={requestUuid:this.context.requestUuid,correlationId:this._correlationId,selectedSuggestionInfo:!!this.context.selectedSuggestionInfo,partiallyAccepted:this._partiallyAcceptedCount,partiallyAcceptedCountSinceOriginal:this._partiallyAcceptedSinceOriginal.count,partiallyAcceptedRatioSinceOriginal:this._partiallyAcceptedSinceOriginal.ratio,partiallyAcceptedCharactersSinceOriginal:this._partiallyAcceptedSinceOriginal.characters,shown:this._didShow,shownDuration:this._shownDuration,shownDurationUncollapsed:this._showUncollapsedDuration,preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilProviderRequest:this._providerRequestInfo.startTime-this._requestInfo.startTime,timeUntilProviderResponse:this._providerRequestInfo.endTime-this._requestInfo.startTime,editorType:this._viewData.editorType,languageId:this._requestInfo.languageId,requestReason:this._requestInfo.reason,viewKind:this._viewData.viewKind,notShownReason:this._notShownReason,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,availableProviders:this._requestInfo.availableProviders.map(i=>i.toString()).join(","),...this._viewData.renderData};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}}setIsPreceeded(e){this._isPreceeded=!0,(this._partiallyAcceptedSinceOriginal.characters!==0||this._partiallyAcceptedSinceOriginal.ratio!==0||this._partiallyAcceptedSinceOriginal.count!==0)&&console.warn("Expected partiallyAcceptedCountSinceOriginal to be { characters: 0, rate: 0, partialAcceptances: 0 } before setIsPreceeded."),this._partiallyAcceptedSinceOriginal=e}setNotShownReason(e){this._notShownReason??=e}setEndOfLifeReason(e){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=e}updateShownDuration(e){let t=Date.now();this._showStartTime||(this._showStartTime=t);let i=e===pe.Collapsed;!i&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=t),i&&this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=t-this._showUncollapsedStartTime)}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let e=Date.now();this._shownDuration+=e-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=e-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0)}},Pd;(function(r){r.TextEditor="textEditor",r.DiffEditor="diffEditor",r.Notebook="notebook"})(Pd||(Pd={}));var Zy=class{constructor(e,t,i){this.inlineSuggestions=e,this.inlineSuggestionsData=t,this.provider=i,this.refCount=0}addRef(){this.refCount++}removeRef(e={kind:"other"}){if(this.refCount--,this.refCount===0){for(let t of this.inlineSuggestionsData)t.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,e)}}};function cA(r,e){let t=e.getWordAtPosition(r),i=e.getLineMaxColumn(r.lineNumber);return t?new C(r.lineNumber,t.startColumn,r.lineNumber,i):C.fromPositions(r,r.with(void 0,i))}function LM(r,e,t,i){let o=t.getLineContent(e.lineNumber),n=Mt.replace(new Be(e.column-1,o.length),r),a=t.tokenization.tokenizeLinesAt(e.lineNumber,[n.replace(o)])?.[0].sliceZeroCopy(n.getRangeAfterReplace());return a?IM(a,i):r}var hA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},nh=function(r,e){return function(t,i){e(t,i,r)}},Xy,Df=class extends L{static{Xy=this}static{this._requestId=0}constructor(e,t,i,o,n,s,a,d,l){super(),this._textModel=e,this._versionId=t,this._debounceValue=i,this._cursorPosition=o,this._languageConfigurationService=n,this._logService=s,this._configurationService=a,this._instantiationService=d,this._contextKeyService=l,this._updateOperation=this._register(new we),this._state=bM(this,{initial:()=>({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:Hn.createEmpty()}),disposeFinal:h=>{h.inlineCompletions.dispose(),h.suggestWidgetInlineCompletions.dispose()},changeTracker:E0(()=>({versionId:this._versionId})),update:(h,u,g)=>{let p=Wo.compose(g.changes.map(f=>f.change?wM(f.change.changes):Wo.empty).filter(Vi));if(p.isEmpty())return u;try{return{inlineCompletions:u.inlineCompletions.createStateWithAppliedEdit(p,this._textModel),suggestWidgetInlineCompletions:u.suggestWidgetInlineCompletions.createStateWithAppliedEdit(p,this._textModel)}}finally{u.inlineCompletions.dispose(),u.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,h=>h.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,h=>h.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=T(this,h=>{this._versionId.read(h),this._updateOperation.clear()}),this._loadingCount=xe(this,0),this._loggingEnabled=xb("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=xb("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Td.cast(),"editor.inlineSuggest.logFetch.commandId")),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store);let c=lE.defaultChatAgent?.completionsEnablementSetting??void 0;c&&(this._updateCompletionsEnablement(c),this._register(this._configurationService.onDidChangeConfiguration(h=>{h.affectsConfiguration(c)&&this._updateCompletionsEnablement(c)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);ia(t)?this._completionsEnabled=t:this._completionsEnabled=void 0}_log(e){this._loggingEnabled.get()&&this._logService.info(hM(e)),this._structuredFetchLogger.log(e)}fetch(e,t,i,o,n,s,a){let d=this._cursorPosition.get(),l=new Qy(d,i,this._textModel.getVersionId(),new Set(e)),c=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(l))return this._updateOperation.value.promise;if(c?.request?.satisfies(l))return Promise.resolve(!0);let h=!!this._updateOperation.value;this._updateOperation.clear();let u=new Me,g=(async()=>{let f=new R;this._loadingCount.set(this._loadingCount.get()+1,void 0);let _=!1,v=()=>{_||(_=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};f.add(new Le(()=>v(),10*1e3)).schedule();let I=e.filter(y=>y.providerId),b=new Jy(i,a,I);try{let y=this._debounceValue.get(this._textModel),E=i0(e.map(Re=>Re.debounceDelayMs),wD(vo))??y;if((h||n&&i.triggerKind===jt.Automatic)&&await Fy(E,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)return b.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;let A=Xy._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:A,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:i.triggerKind,suggestInfo:i.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let V=new Date,ee=DM(e,this._cursorPosition.get(),this._textModel,i,a,this._languageConfigurationService);Yy(u.token,()=>ee.cancelAndDispose({kind:"tokenCancellation"}));let $=!1,Pe=!1,He=[];for await(let Re of ee.lists)if(Re){Re.addRef(),f.add(he(()=>Re.removeRef(Re.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(let We of Re.inlineSuggestionsData){if(Pe=!0,!i.includeInlineEdits&&(We.isInlineEdit||We.showInlineEditMenu)){We.setNotShownReason("notInlineEditRequested");continue}if(!i.includeInlineCompletions&&!(We.isInlineEdit||We.showInlineEditMenu)){We.setNotShownReason("notInlineCompletionRequested");continue}let Ht=wf.create(We,this._textModel);He.push(Ht),!Ht.isInlineEdit&&!Ht.showInlineEditMenu&&i.triggerKind===jt.Automatic&&Ht.isVisible(this._textModel,this._cursorPosition.get())&&($=!0)}if($)break}if(ee.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let Re=ee.didAllProvidersReturn,We;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)&&(We="canceled");let Ht=He.map(Ei=>({range:Ei.editRange.toString(),text:Ei.insertText,hint:Ei.hint,isInlineEdit:Ei.isInlineEdit,showInlineEditMenu:Ei.showInlineEditMenu,providerId:Ei.source.provider.providerId?.toString()}));this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:A,durationMs:Date.now()-V.getTime(),error:We,result:Ht,time:Date.now(),didAllProvidersReturn:Re})}if(b.setRequestUuid(ee.contextWithUuid.requestUuid),Pe)b.setHasProducedSuggestion(),He.length>0&&u.token.isCancellationRequested&&He.forEach(Re=>Re.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"));else if(u.token.isCancellationRequested)b.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{let Re=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");b.setNoSuggestionReasonIfNotSet(Re?"completionsQuotaExceeded":"noSuggestion")}let Je=i.earliestShownDateTime-Date.now();if(Je>0&&await Fy(Je,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId||s.get()){let Re=u.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==l.versionId?"canceled:documentChanged":s.get()?"canceled:userJumped":"unknown";return He.forEach(We=>We.setNotShownReasonIfNotSet(Re)),!1}let It=new Date;this._debounceValue.update(this._textModel,It.getTime()-V.getTime());let $e=this._cursorPosition.get();this._updateOperation.clear(),Ci(Re=>{let We=this._state.get();i.selectedSuggestionInfo?this._state.set({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:We.suggestWidgetInlineCompletions.createStateWithAppliedResults(He,l,this._textModel,$e,o)},Re):this._state.set({inlineCompletions:We.inlineCompletions.createStateWithAppliedResults(He,l,this._textModel,$e,o),suggestWidgetInlineCompletions:Hn.createEmpty()},Re),We.inlineCompletions.dispose(),We.suggestWidgetInlineCompletions.dispose()})}finally{f.dispose(),v(),this.sendInlineCompletionsRequestTelemetry(b)}return!0})(),p=new ex(l,u,g);return this._updateOperation.value=p,g}clear(e){this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:Hn.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&Ci(i=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let o=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:Hn.createEmpty()},i),o.inlineCompletions.dispose(),o.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(i)})}sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment")||e.requestUuid===void 0||e.hasProducedSuggestion||!gA(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(o=>Uy(o.providerId?.extensionId)))return;let t={opportunityId:e.requestUuid,noSuggestionReason:e.noSuggestionReason??"unknown",extensionId:"vscode-core",extensionVersion:"0.0.0",groupId:"empty",shown:!1,editorType:e.requestInfo.editorType,requestReason:e.requestInfo.reason,typingInterval:e.requestInfo.typingInterval,typingIntervalCharacterCount:e.requestInfo.typingIntervalCharacterCount,languageId:e.requestInfo.languageId,selectedSuggestionInfo:!!e.context.selectedSuggestionInfo,availableProviders:e.providers.map(o=>o.providerId?.toString()).filter(Vi).join(","),...SM(e.providers.some(o=>Uy(o.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,notShownReason:void 0},i=this._instantiationService.createInstance(Sf);yM(i,t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};Df=Xy=hA([nh(4,Ne),nh(5,Xe),nh(6,oe),nh(7,z),nh(8,Y)],Df);var Qy=class{constructor(e,t,i,o){this.position=e,this.context=t,this.versionId=i,this.providers=o}satisfies(e){return this.position.equals(e.position)&&du(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,au())&&(e.context.triggerKind===jt.Automatic||this.context.triggerKind===jt.Explicit)&&this.versionId===e.versionId&&uA(e.providers,this.providers)}},Jy=class{constructor(e,t,i){this.context=e,this.requestInfo=t,this.providers=i,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function uA(r,e){return[...r].every(t=>e.has(t))}function gA(r,e="*"){return r===void 0?!1:typeof r[e]<"u"?!!r[e]:!!r["*"]}var ex=class{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}},Hn=class r extends L{static createEmpty(){return new r([],void 0)}constructor(e,t){for(let i of e)i.addRef();super(),this.inlineCompletions=e,this.request=t,this._register({dispose:()=>{for(let i of this.inlineCompletions)i.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(e,t){let i=this.inlineCompletions.map(o=>o.withEdit(e,t)).filter(Vi);return new r(i,this.request)}createStateWithAppliedResults(e,t,i,o,n){let s;if(n){let l=this._findById(n);if(l&&l.canBeReused(i,t.position)){s=l;let c=e.find(h=>h.hash===l.hash);c?e=pA(c,e):e=[l,...e]}}let a=s?!s.isInlineEdit:e.some(l=>!l.isInlineEdit&&l.isVisible(i,o)),d=[];for(let l of e){let c=this._findByHash(l.hash),h;c&&c!==l?(h=l.withIdentity(c.identity),l.setIsPreceeded(c),c.setEndOfLifeReason({kind:ar.Ignored,userTypingDisagreed:!1,supersededBy:l.getSourceCompletion()})):h=l,a!==h.isInlineEdit&&d.push(h)}return d.sort(_o(l=>l.showInlineEditMenu,CD)),d=mA(d,l=>l.semanticId),new r(d,t)}clone(){return new r(this.inlineCompletions,this.request)}};function mA(r,e){let t=new Set;return r.filter(i=>{let o=e(i);return t.has(o)?!1:(t.add(o),!0)})}function pA(r,e){let t=e.indexOf(r);return t>-1?[r,...e.slice(0,t),...e.slice(t+1)]:e}var Ef=class{constructor(e,t,i){this.edit=e,this.commands=t,this.inlineCompletion=i}equals(e){return this.edit.equals(e.edit)&&this.inlineCompletion===e.inlineCompletion}};var Rf=class r extends L{static{this.MAX_SESSION_GAP_MS=3e3}static{this.MIN_SESSION_DURATION_MS=1e3}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=3e5}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(e){super(),this._textModel=e,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(t=>this._updateTypingSpeed(t)))}_updateTypingSpeed(e){let t=Date.now();if(!this._isUserTyping(e)){this._finalizeCurrentSession();return}this._currentSession&&t-this._lastChangeTime>r.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||(this._currentSession={startTime:t,endTime:t,characterCount:0}),this._currentSession.endTime=t,this._currentSession.characterCount+=this._getActualCharacterCount(e),this._lastChangeTime=t,this._cacheInvalidated=!0}_getActualCharacterCount(e){let t=0;for(let i of e.changes)t+=Math.max(i.text.length,i.rangeLength);return t}_isUserTyping(e){if(!e.detailedReasons||e.detailedReasons.length===0)return!1;for(let t of e.detailedReasons)if(this._isUserTypingReason(t))return!0;return!1}_isUserTypingReason(e){if(e.metadata.isUndoing||e.metadata.isRedoing)return!1;switch(e.metadata.source){case"cursor":{let t=e.metadata.kind;return t==="type"||t==="compositionType"||t==="compositionEnd"}default:return!1}}_finalizeCurrentSession(){if(!this._currentSession)return;this._currentSession.endTime-this._currentSession.startTime>=r.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>r.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){let e={...this._currentSession};if(e.endTime-e.startTime>=r.MIN_SESSION_DURATION_MS&&e.characterCount>0){let i=[...this._typingSessions,e];return this._calculateSpeedFromSessions(i)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(e){if(e.length===0)return{averageInterval:0,characterCount:0};let t=[...e].sort((c,h)=>h.endTime-c.endTime),i=Date.now()-r.TYPING_SPEED_WINDOW_MS,o=t.filter(c=>c.endTime>i),n=t.splice(o.length),s=la(o.map(c=>c.characterCount));for(let c=0;c<n.length&&s<r.MIN_CHARS_FOR_RELIABLE_SPEED;c++)o.push(n[c]),s+=n[c].characterCount;let a=la(o.map(c=>c.endTime-c.startTime));if(a===0||s<=1)return{averageInterval:0,characterCount:s};let d=Math.max(1,s-1),l=a/d;return{averageInterval:Math.round(l),characterCount:s}}dispose(){this._finalizeCurrentSession(),super.dispose()}};var fA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zs=function(r,e){return function(t,i){e(t,i,r)}},kf=class extends L{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,o,n,s,a,d,l,c,h,u,g,p){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=i,this._positions=o,this._debounceValue=n,this._enabled=s,this._editor=a,this._instantiationService=d,this._commandService=l,this._languageConfigurationService=c,this._accessibilityService=h,this._languageFeaturesService=u,this._codeEditorService=g,this._inlineCompletionsService=p,this._isActive=xe(this,!1),this._onlyRequestInlineEditsSignal=io(this),this._forceUpdateExplicitlySignal=io(this),this._noDelaySignal=io(this),this._fetchSpecificProviderSignal=io(this),this._selectedInlineCompletionId=xe(this,void 0),this.primaryPosition=T(this,b=>this._positions.read(b)[0]??new P(1,1)),this.allPositions=T(this,b=>this._positions.read(b)),this._isAcceptingPartially=!1,this._appearedInsideViewport=T(this,b=>{let y=this.state.read(b);return!y||!y.inlineCompletion?!1:_A(this._editor,y.inlineCompletion)}),this._onDidAccept=new H,this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=Yv({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(b,y)=>(y.didUndo=b.didChange(this._textModelVersionId)&&!!b.change?.isUndoing,!0)}},(b,y)=>{let E=this._textModelVersionId.read(b);return E!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===E-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&y.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([Wn.Redo,Wn.Undo,Wn.AcceptWord]),this.dontRefetchSignal=io(this),this._fetchInlineCompletionsPromise=Yv({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:jt.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,textChange:!1,changeReason:""}),handleChange:(b,y)=>{if(b.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(b.change))&&(y.preserveCurrentCompletion=!0);let E=b.change?.detailedReasons??[];y.changeReason=E.length>0?E[0].getType():"",y.textChange=!0}else b.didChange(this._forceUpdateExplicitlySignal)?(y.preserveCurrentCompletion=!0,y.inlineCompletionTriggerKind=jt.Explicit):b.didChange(this.dontRefetchSignal)?y.dontRefetch=!0:b.didChange(this._onlyRequestInlineEditsSignal)?y.onlyRequestInlineEdits=!0:b.didChange(this._fetchSpecificProviderSignal)&&(y.provider=b.change);return!0}}},(b,y)=>{if(this._source.clearOperationOnTextModelChange.read(b),this._noDelaySignal.read(b),this.dontRefetchSignal.read(b),this._onlyRequestInlineEditsSignal.read(b),this._forceUpdateExplicitlySignal.read(b),this._fetchSpecificProviderSignal.read(b),!((this._enabled.read(b)&&this._selectedSuggestItem.read(b)||this._isActive.read(b))&&(!this._inlineCompletionsService.isSnoozing()||y.inlineCompletionTriggerKind===jt.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);let N=this._source.suggestWidgetInlineCompletions.read(void 0),A=this._selectedSuggestItem.read(b);if(this._shouldShowOnSuggestConflict.read(void 0)&&(A=void 0),N&&!A&&this._source.seedInlineCompletionsWithSuggestWidget(),y.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(b)&&y.inlineCompletionTriggerKind!==jt.Explicit){Ci(We=>{this._source.clear(We)});return}let V="";y.provider?V+="providerOnDidChange":y.inlineCompletionTriggerKind===jt.Explicit&&(V+="explicit"),y.changeReason&&(V+=V.length>0?`:${y.changeReason}`:y.changeReason);let ee=this._typing.getTypingInterval(),$={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:V,typingInterval:ee.averageInterval,typingIntervalCharacterCount:ee.characterCount,availableProviders:[]},Pe={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:A?.toSelectedSuggestionInfo(),includeInlineCompletions:!y.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(b),requestIssuedDateTime:$.startTime,earliestShownDateTime:$.startTime+(y.inlineCompletionTriggerKind===jt.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0))};Pe.triggerKind===jt.Automatic&&y.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(Pe={...Pe,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let He=this.selectedInlineCompletion.read(void 0)??this._inlineCompletionItems.read(void 0)?.inlineEdit,Je=y.preserveCurrentCompletion||He?.forwardStable?He:void 0,It=this._jumpedToId.map(We=>!!We&&We===this._inlineCompletionItems.read(void 0)?.inlineEdit?.semanticId),$e=y.provider?{providers:[y.provider],label:"single:"+y.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},Re=this.getAvailableProviders($e.providers);return $.availableProviders=Re.map(We=>We.providerId).filter(Vi),this._source.fetch(Re,$e.label,Pe,Je?.identity,y.shouldDebounce,It,$)}),this._inlineCompletionItems=zi({owner:this},b=>{let y=this._source.inlineCompletions.read(b);if(!y)return;let E=this.primaryPosition.read(b),N,A=[];for(let V of y.inlineCompletions)V.isInlineEdit?N=V:V.isVisible(this.textModel,E)&&A.push(V);return A.length!==0&&(N=void 0),{inlineCompletions:A,inlineEdit:N}}),this._filteredInlineCompletionItems=zi({owner:this,equalsFn:Zv()},b=>this._inlineCompletionItems.read(b)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=T(this,b=>{let y=this._selectedInlineCompletionId.read(b),E=this._filteredInlineCompletionItems.read(b),N=this._selectedInlineCompletionId===void 0?-1:E.findIndex(A=>A.semanticId===y);return N===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):N}),this.selectedInlineCompletion=T(this,b=>{let y=this._filteredInlineCompletionItems.read(b),E=this.selectedInlineCompletionIndex.read(b);return y[E]}),this.activeCommands=zi({owner:this,equalsFn:Zv()},b=>this.selectedInlineCompletion.read(b)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=T(this,b=>{if(this.lastTriggerKind.read(b)===jt.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this._hasVisiblePeekWidgets=T(this,b=>this._editorObs.openedPeekWidgets.read(b)>0),this._shouldShowOnSuggestConflict=T(this,b=>{let y=this._showOnSuggestConflict.read(b);if(y!=="never"&&!!this.selectedInlineCompletion.read(b)){let N=this._selectedSuggestItem.read(b);return N?y==="whenSuggestListIsIncomplete"?N.listIncomplete:!0:!1}return!1}),this.state=zi({owner:this,equalsFn:(b,y)=>!b||!y?b===y:b.kind==="ghostText"&&y.kind==="ghostText"?Hy(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem:b.kind==="inlineEdit"&&y.kind==="inlineEdit"?b.inlineEdit.equals(y.inlineEdit):!1},b=>{let y=this.textModel;if(this._suppressInSnippetMode.read(b)&&this._isInSnippetMode.read(b))return;let E=this._inlineCompletionItems.read(b),N=E?.inlineEdit;if(N){if(this._hasVisiblePeekWidgets.read(b))return;let V=N.getSingleTextEdit();V=Fi(V,y);let ee=this.primaryPosition.map($e=>Tt.fromRangeInclusive(N.targetRange).addMargin(1,1).contains($e.lineNumber)),$=N.source.inlineSuggestions.commands,Pe=new Ef(V,$??[],N),He=N.updatedEdit,Je=He?Qt.fromStringEdit(He,new _r(this.textModel)).replacements:[V],It=(E.inlineEdit?.command?.id==="vscode.open"||E.inlineEdit?.command?.id==="_workbench.open")&&E.inlineEdit?.command.arguments?.length?re.from(E.inlineEdit?.command.arguments[0]):void 0;return{kind:"inlineEdit",inlineEdit:Pe,inlineCompletion:N,edits:Je,cursorAtInlineEdit:ee,nextEditUri:It}}let A=this._selectedSuggestItem.read(b);if(!this._shouldShowOnSuggestConflict.read(b)&&A){let V=Fi(A.getSingleTextEdit(),y),ee=this._computeAugmentation(V,b);if(!this._suggestPreviewEnabled.read(b)&&!ee)return;let Pe=ee?.edit??V,He=ee?ee.edit.text.length-V.text.length:0,Je=this._suggestPreviewMode.read(b),It=this._positions.read(b),Re=[Pe,...tx(this.textModel,It,Pe)].map((Xi,rt)=>({edit:Xi,ghostText:Xi?By(Xi,y,Je,It[rt],He):void 0})).filter(({edit:Xi,ghostText:rt})=>Xi!==void 0&&rt!==void 0),We=Re.map(({edit:Xi})=>Xi),Ht=Re.map(({ghostText:Xi})=>Xi),Ei=Ht[0]??new dn(Pe.range.endLineNumber,[]);return{kind:"ghostText",edits:We,primaryGhostText:Ei,ghostTexts:Ht,inlineCompletion:ee?.completion,suggestItem:A}}else{if(!this._isActive.read(b))return;let V=this.selectedInlineCompletion.read(b);if(!V)return;let ee=V.getSingleTextEdit(),$=this._inlineSuggestMode.read(b),Pe=this._positions.read(b),Je=[ee,...tx(this.textModel,Pe,ee)].map((Re,We)=>({edit:Re,ghostText:Re?By(Re,y,$,Pe[We],0):void 0})).filter(({edit:Re,ghostText:We})=>Re!==void 0&&We!==void 0),It=Je.map(({edit:Re})=>Re),$e=Je.map(({ghostText:Re})=>Re);return $e[0]?{kind:"ghostText",edits:It,primaryGhostText:$e[0],ghostTexts:$e,inlineCompletion:V,suggestItem:void 0}:void 0}}),this.inlineCompletionState=T(this,b=>{let y=this.state.read(b);if(!(!y||y.kind!=="ghostText")&&!this._editorObs.inComposition.read(b))return y}),this.inlineEditState=T(this,b=>{let y=this.state.read(b);if(!(!y||y.kind!=="inlineEdit"))return y}),this.inlineEditAvailable=T(this,b=>!!this.inlineEditState.read(b)),this.warning=T(this,b=>this.inlineCompletionState.read(b)?.inlineCompletion?.warning),this.ghostTexts=zi({owner:this,equalsFn:Hy},b=>{let y=this.inlineCompletionState.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=zi({owner:this,equalsFn:Wy},b=>{let y=this.inlineCompletionState.read(b);if(y)return y?.primaryGhostText}),this.showCollapsed=T(this,b=>{let y=this.state.read(b);if(!y||y.kind!=="inlineEdit"||y.inlineCompletion.hint)return!1;let E=y.inlineCompletion.updatedEditModelVersion===this._textModelVersionId.read(b);return(this._inlineEditsShowCollapsedEnabled.read(b)||!E)&&this._jumpedToId.read(b)!==y.inlineCompletion.semanticId&&!this._inAcceptFlow.read(b)}),this._tabShouldIndent=T(this,b=>{if(this._inAcceptFlow.read(b))return!1;function y(A){return A.startLineNumber!==A.endLineNumber}function E(A,V){let ee=A.getLineIndentColumn(V),$=A.getLineLastNonWhitespaceColumn(V),Pe=Math.max($,ee);return new C(V,ee,V,Pe)}return this._editorObs.selections.read(b)?.some(A=>A.isEmpty()?this.textModel.getLineLength(A.startLineNumber)===0:y(A)||A.containsRange(E(this.textModel,A.startLineNumber)))}),this.tabShouldJumpToInlineEdit=T(this,b=>{if(this._tabShouldIndent.read(b))return!1;let y=this.inlineEditState.read(b);return y?this.showCollapsed.read(b)?!0:this._inAcceptFlow.read(b)&&this._appearedInsideViewport.read(b)&&!y.inlineCompletion.hint?.jumpToEdit?!1:!y.cursorAtInlineEdit.read(b):!1}),this.tabShouldAcceptInlineEdit=T(this,b=>{let y=this.inlineEditState.read(b);return!y||this.showCollapsed.read(b)||this._tabShouldIndent.read(b)?!1:this._inAcceptFlow.read(b)&&this._appearedInsideViewport.read(b)&&!y.inlineCompletion.hint?.jumpToEdit||y.inlineCompletion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(b)||this._jumpedToId.read(b)===y.inlineCompletion.semanticId?!0:y.cursorAtInlineEdit.read(b)}),this._jumpedToId=xe(this,void 0),this._inAcceptFlow=xe(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(Df,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition)),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b?.request?.context.triggerKind),this._editorObs=ye(this._editor);let f=this._editorObs.getOption(134);this._suggestPreviewEnabled=f.map(b=>b.preview),this._suggestPreviewMode=f.map(b=>b.previewMode);let _=this._editorObs.getOption(71);this._inlineSuggestMode=_.map(b=>b.mode),this._suppressedInlineCompletionGroupIds=_.map(b=>new Set(b.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=_.map(b=>!!b.edits.enabled),this._inlineEditsShowCollapsedEnabled=_.map(b=>b.edits.showCollapsed),this._triggerCommandOnProviderChange=_.map(b=>b.triggerCommandOnProviderChange),this._minShowDelay=_.map(b=>b.minShowDelay),this._showOnSuggestConflict=_.map(b=>b.experimental.showOnSuggestConflict),this._suppressInSnippetMode=_.map(b=>b.suppressInSnippetMode);let v=kt.get(this._editor);this._isInSnippetMode=v?.isInSnippetObservable??be(!1),this._typing=this._register(new Rf(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(b=>{b&&this.stop()}));{let b=this.textModel.uri.scheme==="vscode-notebook-cell",[y]=this._codeEditorService.listDiffEditors().filter(E=>E.getOriginalEditor().getId()===this._editor.getId()||E.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!y,this.editorType=b?Pd.Notebook:this.isInDiffEditor?Pd.DiffEditor:Pd.TextEditor}this._register(Qv(this.state,b=>{b&&b.inlineCompletion&&this._inlineCompletionsService.reportNewCompletion(b.inlineCompletion.requestUuid)})),this._register(Qv(this._fetchInlineCompletionsPromise)),this._register(ue(b=>{this._editorObs.versionId.read(b),this._inAcceptFlow.set(!1,void 0)})),this._register(ue(b=>{this.state.map((E,N)=>!E||E.kind==="inlineEdit"&&!E.cursorAtInlineEdit.read(N)).read(b)&&this._jumpedToId.set(void 0,void 0)}));let w=this.inlineEditState.map(b=>b?.inlineCompletion.semanticId);this._register(ue(b=>{w.read(b)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineCompletion})}));let I=dt(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));ca(this,I,(b,y)=>{b.onDidChangeInlineCompletions&&y.add(b.onDidChangeInlineCompletions(()=>{if(!this._enabled.get()||(this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let N=this.state.get();N&&(N.inlineCompletion||N.edits)&&N.inlineCompletion?.source.provider!==b||Ci(A=>{this._fetchSpecificProviderSignal.trigger(A,b),this.trigger(A)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,i=!0,o=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&o&&o.parts.length>0){let{column:n,lines:s}=o.parts[0],a=s[0].line,d=this.textModel.getLineIndentColumn(o.lineNumber);if(n<=d){let c=il(a);c===-1&&(c=a.length-1),t=c>0;let h=this.textModel.getOptions().tabSize;i=oE.visibleColumnFromColumn(a,c+1,h)<h}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:i}}_getReason(e){return e?.isUndoing?Wn.Undo:e?.isRedoing?Wn.Redo:this.isAcceptingPartially?Wn.AcceptWord:Wn.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),i=e.filter(s=>!(s.groupId&&t.has(s.groupId))),o=new Set;for(let s of i)s.excludesGroupIds?.forEach(a=>o.add(a));let n=[];for(let s of i)s.groupId&&o.has(s.groupId)||n.push(s);return n}async trigger(e,t={}){sl(e,i=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(i),t.noDelay&&this._noDelaySignal.trigger(i),this._isActive.set(!0,i),t.explicit&&(this._inAcceptFlow.set(!0,i),this._forceUpdateExplicitlySignal.trigger(i)),t.provider&&this._fetchSpecificProviderSignal.trigger(i,t.provider)}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e,t=!1){return this.trigger(e,{onlyFetchInlineEdits:t,explicit:!0})}stop(e="automatic",t){sl(t,i=>{if(e==="explicitCancel"){let o=this.state.get()?.inlineCompletion;o&&o.reportEndOfLife({kind:ar.Rejected})}this._isActive.set(!1,i),this._source.clear(i)})}_computeAugmentation(e,t){let i=this.textModel,o=this._source.suggestWidgetInlineCompletions.read(t),n=o?o.inlineCompletions.filter(a=>!a.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(Vi);return n0(n,a=>{let d=a.getSingleTextEdit();return d=Fi(d,i,C.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),bf(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){let i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(e,t,i=void 0){return i?wo.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:i}):wo.inlineCompletionAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t})}async accept(e=this._editor){if(e.getModel()!==this.textModel)throw new et;let t,i=!1,o=this.state.get();if(o?.kind==="ghostText"){if(!o||o.primaryGhostText.isEmpty()||!o.inlineCompletion)return;t=o.inlineCompletion}else if(o?.kind==="inlineEdit")t=o.inlineCompletion,i=!!o.nextEditUri;else return;t.addRef();try{if(e.pushUndoStop(),!i)if(t.snippetInfo){let n=ot.delete(t.editRange),s=t.additionalTextEdits.map(d=>new ot(C.lift(d.range),d.text??"")),a=Qt.fromParallelReplacementsUnsorted([n,...s]);e.edit(a,this._getMetadata(t,this.textModel.getLanguageId())),e.setPosition(t.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),kt.get(e)?.insert(t.snippetInfo.snippet,{undoStopBefore:!1})}else{let n=o.edits,s=n;o.kind==="ghostText"&&(s=mM(n,this.textModel));let a=Ay(s).map(c=>G.fromPositions(c)),d=t.additionalTextEdits.map(c=>new ot(C.lift(c.range),c.text??"")),l=Qt.fromParallelReplacementsUnsorted([...n,...d]);if(e.edit(l,this._getMetadata(t,this.textModel.getLanguageId())),t.hint===void 0&&e.setSelections(o.kind==="inlineEdit"?a.slice(-1):a,"inlineCompletionAccept"),o.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){let c=l.getNewRanges(),h=this._store.add(new ix(e,c,()=>{this._store.delete(h)}))}}this._onDidAccept.fire(),this.stop(),t.command&&await this._commandService.executeCommand(t.command.id,...t.command.arguments||[]).then(void 0,_e),t.reportEndOfLife({kind:ar.Accepted})}finally{t.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:t}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(e,t)=>{let i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),o=this._languageConfigurationService.getLanguageConfiguration(i),n=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),s=t.match(n),a=0;s&&s.index!==void 0?s.index===0?a=s[0].length:a=s.index:a=t.length;let l=/\s+/g.exec(t);return l&&l.index!==void 0&&l.index+l[0].length<a&&(a=l.index+l[0].length),a},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(e,t)=>{let i=t.match(/\n/);return i&&i.index!==void 0?i.index+1:t.length},1)}async _acceptNext(e,t,i,o){if(e.getModel()!==this.textModel)throw new et;let n=this.inlineCompletionState.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;let s=n.primaryGhostText,a=n.inlineCompletion;if(a.snippetInfo){await this.accept(e);return}let d=s.parts[0],l=new P(s.lineNumber,d.column),c=d.text,h=i(l,c);if(h===c.length&&s.parts.length===1){this.accept(e);return}let u=c.substring(0,h),g=this._positions.get(),p=g[0];a.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let w=C.fromPositions(p,l),I=e.getModel().getValueInRange(w)+u,b=new ot(w,I),y=[b,...tx(this.textModel,g,b)].filter(Vi),E=Ay(y).map(N=>G.fromPositions(N));e.edit(Qt.fromParallelReplacementsUnsorted(y),this._getMetadata(a,t)),e.setSelections(E,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}let f=C.fromPositions(a.editRange.getStartPosition(),Gi.ofText(u).addToPosition(l)),v=e.getModel().getValueInRange(f,1).length;a.reportPartialAccept(v,{kind:o,acceptedLength:v},{characters:h,ratio:h/c.length,count:1})}finally{a.removeRef()}}handleSuggestAccepted(e){let t=Fi(e.getSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;let n=this.textModel.getValueInRange(i.completion.editRange,1).length+t.text.length;i.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:n},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){let e=this.textModel.getValue(),t=this.state.get()?.inlineCompletion;return{documentValue:e,inlineCompletion:t?.getSourceCompletion()}}jump(){let e=this.inlineEditState.get();e&&Ci(t=>{this._jumpedToId.set(e.inlineCompletion.semanticId,t),this.dontRefetchSignal.trigger(t);let i=e.inlineCompletion.targetRange,o=i.getStartPosition();if(this._editor.setPosition(o,"inlineCompletions.jump"),i.isSingleLine()&&(e.inlineCompletion.hint||!e.inlineCompletion.insertText.includes(`
|
|
43
|
+
`),n=e.getValueInRange(i,1),s=fo(n,o),a=Gi.ofText(n.substring(0,s)).addToPosition(r.range.getStartPosition()),d=o.substring(s),l=C.fromPositions(a,r.range.getEndPosition());return new ot(l,d)}function bf(r,e){return r.text.startsWith(e.text)&&oA(r.range,e.range)}function oA(r,e){return e.getStartPosition().equals(r.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(r.getEndPosition())}function By(r,e,t,i,o=0){let n=Fi(r,e);if(n.range.endLineNumber!==n.range.startLineNumber)return;let s=e.getLineContent(n.range.startLineNumber),a=it(s).length;if(n.range.startColumn-1<=a){let p=it(n.text).length,f=s.substring(n.range.startColumn-1,a),[_,v]=[n.range.getStartPosition(),n.range.getEndPosition()],w=_.column+f.length<=v.column?_.delta(0,f.length):v,I=C.fromPositions(w,v),b=n.text.startsWith(f)?n.text.substring(f.length):n.text.substring(p);n=new ot(I,b)}let l=e.getValueInRange(n.range),c=nA(l,n.text);if(!c)return;let h=n.range.startLineNumber,u=new Array;if(t==="prefix"){let p=c.filter(f=>f.originalLength===0);if(p.length>1||p.length===1&&p[0].originalStart!==l.length)return}let g=n.text.length-o;for(let p of c){let f=n.range.startColumn+p.originalStart+p.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===n.range.startLineNumber&&f<i.column||p.originalLength>0)return;if(p.modifiedLength===0)continue;let _=p.modifiedStart+p.modifiedLength,v=Math.max(p.modifiedStart,Math.min(_,g)),w=n.text.substring(p.modifiedStart,v),I=n.text.substring(v,Math.max(p.modifiedStart,_));w.length>0&&u.push(new Nr(f,w,!1)),I.length>0&&u.push(new Nr(f,I,!0))}return new dn(h,u)}var Cf;function nA(r,e){if(Cf?.originalValue===r&&Cf?.newValue===e)return Cf?.changes;{let t=vM(r,e,!0);if(t){let i=_M(t);if(i>0){let o=vM(r,e,!1);o&&_M(o)<i&&(t=o)}}return Cf={originalValue:r,newValue:e,changes:t},t}}function _M(r){let e=0;for(let t of r)e+=t.originalLength;return e}function vM(r,e,t){if(r.length>5e3||e.length>5e3)return;function i(l){let c=0;for(let h=0,u=l.length;h<u;h++){let g=l.charCodeAt(h);g>c&&(c=g)}return c}let o=Math.max(i(r),i(e));function n(l){if(l<0)throw new Error("unexpected");return o+l+1}function s(l){let c=0,h=0,u=new Int32Array(l.length);for(let g=0,p=l.length;g<p;g++)if(t&&l[g]==="("){let f=h*100+c;u[g]=n(2*f),c++}else if(t&&l[g]===")"){c=Math.max(c-1,0);let f=h*100+c;u[g]=n(2*f+1),c===0&&h++}else u[g]=l.charCodeAt(g);return u}let a=s(r),d=s(e);return new kR({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}function bM(r,e){let t,i=!1,o=new DD(new LD(r,void 0,e.update),(n,s)=>{i||(t=e.initial instanceof Function?e.initial():e.initial,i=!0);let a=e.update(n,t,s);return t=a,a},e.changeTracker,()=>{i&&(e.disposeFinal?.(t),i=!1)},e.equalityComparer??xD,(n,s,a)=>{if(!i)throw new et("Can only set when there is a listener! This is to prevent leaks.");sl(s,d=>{t=n,o.setValue(n,d,a)})},su.ofCaller());return o}var rA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},CM=function(r,e){return function(t,i){e(t,i,r)}},Vy=class{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}},Sf=class extends Vy{constructor(e,t){super(e,(i,o)=>{let n=!0;o&&zy in o&&(n=!!o[zy]),n&&t.getDataChannel("editTelemetry").sendData({eventName:i,data:o??{}})})}};Sf=rA([CM(0,zt),CM(1,rg)],Sf);var zy=Symbol("shouldForwardToChannel");function SM(r){return{[zy]:r}}function Uy(r){if(!r)return!1;let e=r.toLowerCase();return e==="github.copilot"||e==="github.copilot-chat"}function wM(r){let e=r.map(i=>new Mt(Be.ofStartAndLength(i.rangeOffset,i.rangeLength),i.text));return e.reverse(),new Wo(e)}function yM(r,e){r.publicLog2("inlineCompletion.endOfLife",e)}var wf;(function(r){function e(t,i){return!t.isInlineEdit&&!t.uri?jy.create(t,i):oh.create(t,i)}r.create=e})(wf||(wf={}));var yf=class{constructor(e,t,i){this._data=e,this.identity=t,this.hint=i}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===jt.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get editRange(){return this.getSingleTextEdit().range}get targetRange(){return this.hint?.range&&!this.hint.jumpToEdit?this.hint?.range:this.editRange}get insertText(){return this.getSingleTextEdit().text}get semanticId(){return this.hash}get action(){return this._sourceInlineCompletion.gutterMenuLinkAction}get command(){return this._sourceInlineCompletion.command}get warning(){return this._sourceInlineCompletion.warning}get showInlineEditMenu(){return!!this._sourceInlineCompletion.showInlineEditMenu}get hash(){return JSON.stringify([this.getSingleTextEdit().text,this.getSingleTextEdit().range.getStartPosition().toString()])}get requestUuid(){return this._data.context.requestUuid}get partialAccepts(){return this._data.partialAccepts}get _sourceInlineCompletion(){return this._data.sourceInlineCompletion}addRef(){this.identity.addRef(),this.source.addRef()}removeRef(){this.identity.removeRef(),this.source.removeRef()}reportInlineEditShown(e,t,i){this._data.reportInlineEditShown(e,this.insertText,t,i)}reportPartialAccept(e,t,i){this._data.reportPartialAccept(e,t,i)}reportEndOfLife(e){this._data.reportEndOfLife(e)}setEndOfLifeReason(e){this._data.setEndOfLifeReason(e)}setIsPreceeded(e){this._data.setIsPreceeded(e.partialAccepts)}setNotShownReasonIfNotSet(e){this._data.setNotShownReason(e)}getSourceCompletion(){return this._sourceInlineCompletion}},xf=class r{constructor(){this._onDispose=io(this),this._jumpedTo=xe(this,!1),this._refCount=1,this.id="InlineCompletionIdentity"+r.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){this._refCount--,this._refCount===0&&this._onDispose.trigger(void 0)}setJumpTo(e){this._jumpedTo.set(!0,e)}},If=class r{static create(e){return new r(C.lift(e.range),e.content,e.style,e.jumpToEdit)}constructor(e,t,i,o){this.range=e,this.content=t,this.style=i,this.jumpToEdit=o}withEdit(e,t){let i=new Be(t.getOffset(this.range.getStartPosition()),t.getOffset(this.range.getEndPosition())),o=Sb([i],e)[0];if(!o)return;let n=t.getRange(o);return new r(n,this.content,this.style,this.jumpToEdit)}},jy=class r extends yf{static create(e,t){let i=new xf,o=Vs(t),n=e.insertText.replace(/\r\n|\r|\n/g,t.getEOL()),s=aA(new Mt(o.getOffsetRange(e.range),n),t),a=s.removeCommonSuffixAndPrefix(t.getValue()),d=o.getTextReplacement(s),l=e.hint?If.create(e.hint):void 0;return new r(s,a,d,d.range,e.snippetInfo,e.additionalTextEdits,e,i,l)}constructor(e,t,i,o,n,s,a,d,l){super(a,d,l),this._edit=e,this._trimmedEdit=t,this._textEdit=i,this._originalRange=o,this.snippetInfo=n,this.additionalTextEdits=s,this.isInlineEdit=!1}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(e){return new r(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,e,this.hint)}withEdit(e,t){let i=Sb([this._edit.replaceRange],e);if(i.length===0)return;let o=new Mt(i[0],this._textEdit.text),n=Vs(t),s=n.getTextReplacement(o),a=this.hint;if(a&&(a=a.withEdit(e,n),!a))return;let d=o.removeCommonSuffixAndPrefix(t.getValue());return new r(o,d,s,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,a)}canBeReused(e,t){let i=this._textEdit.range;return!!i&&i.containsPosition(t)&&this.isVisible(e,t)&&Gi.ofRange(i).isGreaterThanOrEqualTo(Gi.ofRange(this._originalRange))}isVisible(e,t){let i=this.getSingleTextEdit();return qy(i,this._originalRange,e,t)}};function qy(r,e,t,i){let o=Fi(r,t),n=r.range;if(!n||e&&!e.getStartPosition().equals(n.getStartPosition())||i.lineNumber!==o.range.startLineNumber||o.isEmpty)return!1;let s=t.getValueInRange(o.range,1),a=o.text,d=Math.max(0,i.column-o.range.startColumn),l=a.substring(0,d),c=a.substring(d),h=s.substring(0,d),u=s.substring(d),g=t.getLineIndentColumn(o.range.startLineNumber);return o.range.startColumn<=g&&(h=h.trimStart(),h.length===0&&(u=u.trimStart()),l=l.trimStart(),l.length===0&&(c=c.trimStart())),l.startsWith(h)&&!!O0(u,c)}var oh=class r extends yf{static create(e,t){let i=sA(t,e.range,e.insertText),o=new _r(t),n=Qt.fromStringEdit(i,o),s=i.isEmpty()?new ot(new C(1,1,1,1),""):n.toReplacement(o),a=new xf,d=i.replacements.map(c=>{let h=C.fromPositions(t.getPositionAt(c.replaceRange.start),t.getPositionAt(c.replaceRange.endExclusive)),u=t.getValueInRange(h);return Ky.create(c,u)}),l=e.hint?If.create(e.hint):void 0;return new r(i,s,e.uri,e,a,d,l,!1,t.getVersionId())}constructor(e,t,i,o,n,s,a,d=!1,l){super(o,n,a),this._edit=e,this._textEdit=t,this.uri=i,this._edits=s,this._lastChangePartOfInlineEdit=d,this._inlineEditModelVersion=l,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get updatedEdit(){return this._edit}getSingleTextEdit(){return this._textEdit}withIdentity(e){return new r(this._edit,this._textEdit,this.uri,this._data,e,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion)}canBeReused(e,t){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===e.getVersionId()}withEdit(e,t){return this._applyTextModelChanges(e,this._edits,t)}_applyTextModelChanges(e,t,i){if(t=t.map(h=>h.applyTextModelChanges(e)),t.some(h=>h.edit===void 0))return;let o=i.getVersionId(),n=this._inlineEditModelVersion,s=t.some(h=>h.lastChangeUpdatedEdit);if(s&&(n=o??-1),o===null||n+20<o||(t=t.filter(h=>!h.edit.isEmpty),t.length===0))return;let a=new Wo(t.map(h=>h.edit)),d=Vs(i),l=d.getTextEdit(a).toReplacement(new _r(i)),c=this.hint;if(!(c&&(c=c.withEdit(e,d),!c)))return new r(a,l,this.uri,this._data,this.identity,t,c,s,n)}};function sA(r,e,t){let i=r.getEOL(),o=r.getValueInRange(e),n=t.replace(/\r\n|\r|\n/g,i),d=HR.getDefault().computeDiff(ri(o),ri(n),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:500}).changes.flatMap(u=>u.innerChanges??[]);function l(u,g){let p=Gi.fromPosition(g.getStartPosition());return Gi.ofRange(g).createRange(p.addToPosition(u))}let c=new Cn(n);return new Wo(d.map(u=>{let g=l(e.getStartPosition(),u.originalRange),p=Vs(r).getOffsetRange(g),f=c.getValueOfRange(u.modifiedRange),_=new Mt(p,f),v=r.getValueInRange(g);return dA(_,v,d.length,r)}))}var Ky=class r{static create(e,t){let i=fo(e.newText,t),o=ol(e.newText,t),n=e.newText.substring(i,e.newText.length-o);return new r(e,n,i,o)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(e,t,i,o,n=!1){this._edit=e,this._trimmedNewText=t,this._prefixLength=i,this._suffixLength=o,this._lastChangeUpdatedEdit=n}applyTextModelChanges(e){let t=this._clone();return t._applyTextModelChanges(e),t}_clone(){return new r(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(e){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new et("UpdatedInnerEdits: No edit to apply changes to");let t=this._applyChanges(this._edit,e);if(!t){this._edit=void 0;return}this._edit=t.edit,this._lastChangeUpdatedEdit=t.editHasChanged}_applyChanges(e,t){let i=e.replaceRange.start,o=e.replaceRange.endExclusive,n=e.newText,s=!1,a=this._prefixLength>0||this._suffixLength>0;for(let d=t.replacements.length-1;d>=0;d--){let l=t.replacements[d],c=l.newText.length>0&&l.replaceRange.isEmpty;if(c&&!a&&l.replaceRange.start===i&&n.startsWith(l.newText)){i+=l.newText.length,n=n.substring(l.newText.length),o=Math.max(i,o),s=!0;continue}if(c&&a&&l.replaceRange.start===i+this._prefixLength&&this._trimmedNewText.startsWith(l.newText)){o+=l.newText.length,s=!0,this._prefixLength+=l.newText.length,this._trimmedNewText=this._trimmedNewText.substring(l.newText.length);continue}if(l.newText.length===0&&l.replaceRange.length>0&&l.replaceRange.start>=i+this._prefixLength&&l.replaceRange.endExclusive<=o-this._suffixLength){o-=l.replaceRange.length,s=!0;continue}if(l.equals(e)){s=!0,i=l.replaceRange.endExclusive,n="";continue}if(!(l.replaceRange.start>o)){if(l.replaceRange.endExclusive<i){i+=l.newText.length-l.replaceRange.length,o+=l.newText.length-l.replaceRange.length;continue}return}}return this._trimmedNewText.length===0&&i+this._prefixLength===o-this._suffixLength?{edit:new Mt(new Be(i+this._prefixLength,i+this._prefixLength),""),editHasChanged:!0}:{edit:new Mt(new Be(i,o),n),editHasChanged:s}}};function aA(r,e){let t=e.getEOL();return r.replaceRange.isEmpty&&r.newText.includes(t)&&(r=xM(r,e)),r}function dA(r,e,t,i){let o=i.getEOL();if(r.newText.endsWith(o)&&e.endsWith(o)&&(r=new Mt(r.replaceRange.deltaEnd(-o.length),r.newText.slice(0,-o.length))),t===1&&r.replaceRange.isEmpty&&r.newText.includes(o)){let n=i.getPositionAt(r.replaceRange.start);i.getLineLength(n.lineNumber)!==0&&(r=xM(r,i))}if(t===1){let n=fo(e,r.newText),s=ol(e.slice(n),r.newText.slice(n));if(n+s===e.length)return new Mt(r.replaceRange.deltaStart(n).deltaEnd(-s),r.newText.substring(n,r.newText.length-s));if(n+s===r.newText.length)return new Mt(r.replaceRange.deltaStart(n).deltaEnd(-s),"")}return r}function xM(r,e){if(!r.replaceRange.isEmpty)throw new et("Unexpected original range");if(r.replaceRange.start===0)return r;let t=e.getEOL(),i=e.getPositionAt(r.replaceRange.start),o=i.column,n=i.lineNumber;return o===1&&n>1&&r.newText.endsWith(t)&&!r.newText.startsWith(t)?new Mt(r.replaceRange.delta(-1),t+r.newText.slice(0,-t.length)):r}function IM(r,e){let t=new b0,i=new S0(t,l=>e.getLanguageConfiguration(l)),o=new C0(new Gy([r]),i),n=w0(o,[],void 0,!0),s="",a=r.getLineContent();function d(l,c){if(l.kind===2)if(d(l.openingBracket,c),c=La(c,l.openingBracket.length),l.child&&(d(l.child,c),c=La(c,l.child.length)),l.closingBracket)d(l.closingBracket,c),c=La(c,l.closingBracket.length);else{let u=i.getSingleLanguageBracketTokens(l.openingBracket.languageId).findClosingTokenText(l.openingBracket.bracketIds);s+=u}else if(l.kind!==3){if(l.kind===0||l.kind===1)s+=a.substring(c,La(c,l.length));else if(l.kind===4)for(let h of l.children)d(h,c),c=La(c,h.length)}}return d(n,v0),s}var Gy=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}};var Lf=class r{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(e,t){let i=new r;for(let o of e)i._nodes.add(o);for(let o of e){let n=t(o);if(n.length>0){let s=new Set;for(let a of n)s.add(a);i._outgoingEdges.set(o,s)}}return i}removeCycles(){let e=[],t=new Set,i=new Set,o=[],n=s=>{t.add(s),i.add(s);let a=this._outgoingEdges.get(s);if(a)for(let d of a)t.has(d)?i.has(d)&&(e.push(d),o.push({from:s,to:d})):n(d);i.delete(s)};for(let s of this._nodes)t.has(s)||n(s);for(let{from:s,to:a}of o){let d=this._outgoingEdges.get(s);d&&d.delete(a)}return{foundCycles:e}}getOutgoing(e){let t=this._outgoingEdges.get(e);return t?Array.from(t):[]}};var ct;(function(r){r.Jump="jump",r.Accept="accept",r.Inactive="inactive"})(ct||(ct={}));var pe;(function(r){r.GhostText="ghostText",r.Custom="custom",r.SideBySide="sideBySide",r.Deletion="deletion",r.InsertionInline="insertionInline",r.InsertionMultiLine="insertionMultiLine",r.WordReplacements="wordReplacements",r.LineReplacement="lineReplacement",r.Collapsed="collapsed"})(pe||(pe={}));function DM(r,e,t,i,o,n){let s=QE("icr"),a=new Me,d,l={...i,requestUuid:s},c=cA(e,t),h=R0(r,v=>v.groupId),u=Lf.from(r,v=>v.yieldsToGroupIds?.flatMap(w=>h.get(w)??[])??[]),{foundCycles:g}=u.removeCycles();g.length>0&&_e(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${g.map(v=>v.toString?v.toString():""+v).join(" -> ")}`));let p=0,f=new sD(async v=>{try{if(p++,a.token.isCancellationRequested)return;let w=u.getOutgoing(v);for(let A of w){let V=await f.get(A);if(V)for(let ee of V.inlineSuggestions.items){if(ee.isInlineEdit||typeof ee.insertText!="string"&&ee.insertText!==void 0)return;if(ee.insertText!==void 0){let $=new ot(C.lift(ee.range)??c,ee.insertText);if(qy($,void 0,t,e))return}}}let I,b=Date.now();try{I=await v.provideInlineCompletions(t,e,l,a.token)}catch(A){_e(A);return}let y=Date.now();if(!I)return;let E=[],N=new Zy(I,E,v);if(N.addRef(),Yy(a.token,()=>N.removeRef(d)),a.token.isCancellationRequested)return;for(let A of I.items)E.push(lA(A,N,c,t,n,l,o,{startTime:b,endTime:y}));return N}finally{p--}}),_=ni.fromPromisesResolveOrder(r.map(v=>f.get(v))).filter(Vi);return{contextWithUuid:l,get didAllProvidersReturn(){return p===0},lists:_,cancelAndDispose:v=>{d===void 0&&(d=v,a.dispose(!0))}}}function Yy(r,e){if(r.isCancellationRequested)return e(),L.None;{let t=r.onCancellationRequested(()=>{t.dispose(),e()});return{dispose:()=>t.dispose()}}}function lA(r,e,t,i,o,n,s,a){let d,l,c=r.range?C.lift(r.range):t;if(typeof r.insertText=="string"){if(d=r.insertText,o&&r.completeBracketPairs){d=LM(d,c.getStartPosition(),i,o);let h=d.length-r.insertText.length;h!==0&&(c=new C(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}l=void 0}else if(r.insertText===void 0)d="",l=void 0,c=new C(1,1,1,1);else if("snippet"in r.insertText){let h=r.insertText.snippet.length;if(o&&r.completeBracketPairs){r.insertText.snippet=LM(r.insertText.snippet,c.getStartPosition(),i,o);let g=r.insertText.snippet.length-h;g!==0&&(c=new C(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+g))}let u=new Li().parse(r.insertText.snippet);u.children.length===1&&u.children[0]instanceof Ot?(d=u.children[0].value,l=void 0):(d=u.toString(),l={snippet:r.insertText.snippet,range:c})}else $h(r.insertText);return new $y(c,d,l,re.revive(r.uri),r.hint,r.additionalTextEdits||gM(),r,e,n,r.isInlineEdit??!1,s,a,r.correlationId)}var $y=class{constructor(e,t,i,o,n,s,a,d,l,c,h,u,g){this.range=e,this.insertText=t,this.snippetInfo=i,this.uri=o,this.hint=n,this.additionalTextEdits=s,this.sourceInlineCompletion=a,this.source=d,this.context=l,this.isInlineEdit=c,this._requestInfo=h,this._providerRequestInfo=u,this._correlationId=g,this._didShow=!1,this._timeUntilShown=void 0,this._showStartTime=void 0,this._shownDuration=0,this._showUncollapsedStartTime=void 0,this._showUncollapsedDuration=0,this._notShownReason=void 0,this._didReportEndOfLife=!1,this._lastSetEndOfLifeReason=void 0,this._isPreceeded=!1,this._partiallyAcceptedCount=0,this._partiallyAcceptedSinceOriginal={characters:0,ratio:0,count:0},this._viewData={editorType:h.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(e,t,i,o){if(this.updateShownDuration(i),this._didShow)return;this._didShow=!0,this._viewData.viewKind=i,this._viewData.renderData=o,this._timeUntilShown=Date.now()-this._requestInfo.startTime;let n=new y0(o.lineCountModified,o.lineCountOriginal,o.characterCountModified,o.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,t,n),this.sourceInlineCompletion.shownCommand&&await e.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(e,t,i){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=i.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*i.ratio,1),this._partiallyAcceptedSinceOriginal.count+=i.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}reportEndOfLife(e){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),e||(e=this._lastSetEndOfLifeReason??{kind:ar.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===ar.Rejected&&this.source.provider.handleRejection&&this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion),this.source.provider.handleEndOfLifetime)){let t={requestUuid:this.context.requestUuid,correlationId:this._correlationId,selectedSuggestionInfo:!!this.context.selectedSuggestionInfo,partiallyAccepted:this._partiallyAcceptedCount,partiallyAcceptedCountSinceOriginal:this._partiallyAcceptedSinceOriginal.count,partiallyAcceptedRatioSinceOriginal:this._partiallyAcceptedSinceOriginal.ratio,partiallyAcceptedCharactersSinceOriginal:this._partiallyAcceptedSinceOriginal.characters,shown:this._didShow,shownDuration:this._shownDuration,shownDurationUncollapsed:this._showUncollapsedDuration,preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilProviderRequest:this._providerRequestInfo.startTime-this._requestInfo.startTime,timeUntilProviderResponse:this._providerRequestInfo.endTime-this._requestInfo.startTime,editorType:this._viewData.editorType,languageId:this._requestInfo.languageId,requestReason:this._requestInfo.reason,viewKind:this._viewData.viewKind,notShownReason:this._notShownReason,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,availableProviders:this._requestInfo.availableProviders.map(i=>i.toString()).join(","),...this._viewData.renderData};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}}setIsPreceeded(e){this._isPreceeded=!0,(this._partiallyAcceptedSinceOriginal.characters!==0||this._partiallyAcceptedSinceOriginal.ratio!==0||this._partiallyAcceptedSinceOriginal.count!==0)&&console.warn("Expected partiallyAcceptedCountSinceOriginal to be { characters: 0, rate: 0, partialAcceptances: 0 } before setIsPreceeded."),this._partiallyAcceptedSinceOriginal=e}setNotShownReason(e){this._notShownReason??=e}setEndOfLifeReason(e){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=e}updateShownDuration(e){let t=Date.now();this._showStartTime||(this._showStartTime=t);let i=e===pe.Collapsed;!i&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=t),i&&this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=t-this._showUncollapsedStartTime)}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let e=Date.now();this._shownDuration+=e-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=e-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0)}},Pd;(function(r){r.TextEditor="textEditor",r.DiffEditor="diffEditor",r.Notebook="notebook"})(Pd||(Pd={}));var Zy=class{constructor(e,t,i){this.inlineSuggestions=e,this.inlineSuggestionsData=t,this.provider=i,this.refCount=0}addRef(){this.refCount++}removeRef(e={kind:"other"}){if(this.refCount--,this.refCount===0){for(let t of this.inlineSuggestionsData)t.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,e)}}};function cA(r,e){let t=e.getWordAtPosition(r),i=e.getLineMaxColumn(r.lineNumber);return t?new C(r.lineNumber,t.startColumn,r.lineNumber,i):C.fromPositions(r,r.with(void 0,i))}function LM(r,e,t,i){let o=t.getLineContent(e.lineNumber),n=Mt.replace(new Be(e.column-1,o.length),r),a=t.tokenization.tokenizeLinesAt(e.lineNumber,[n.replace(o)])?.[0].sliceZeroCopy(n.getRangeAfterReplace());return a?IM(a,i):r}var hA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},nh=function(r,e){return function(t,i){e(t,i,r)}},Xy,Df=class extends L{static{Xy=this}static{this._requestId=0}constructor(e,t,i,o,n,s,a,d,l){super(),this._textModel=e,this._versionId=t,this._debounceValue=i,this._cursorPosition=o,this._languageConfigurationService=n,this._logService=s,this._configurationService=a,this._instantiationService=d,this._contextKeyService=l,this._updateOperation=this._register(new we),this._state=bM(this,{initial:()=>({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:Hn.createEmpty()}),disposeFinal:h=>{h.inlineCompletions.dispose(),h.suggestWidgetInlineCompletions.dispose()},changeTracker:E0(()=>({versionId:this._versionId})),update:(h,u,g)=>{let p=Wo.compose(g.changes.map(f=>f.change?wM(f.change.changes):Wo.empty).filter(Vi));if(p.isEmpty())return u;try{return{inlineCompletions:u.inlineCompletions.createStateWithAppliedEdit(p,this._textModel),suggestWidgetInlineCompletions:u.suggestWidgetInlineCompletions.createStateWithAppliedEdit(p,this._textModel)}}finally{u.inlineCompletions.dispose(),u.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,h=>h.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,h=>h.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=T(this,h=>{this._versionId.read(h),this._updateOperation.clear()}),this._loadingCount=xe(this,0),this._loggingEnabled=xb("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=xb("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Td.cast(),"editor.inlineSuggest.logFetch.commandId")),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store);let c=lE.defaultChatAgent?.completionsEnablementSetting??void 0;c&&(this._updateCompletionsEnablement(c),this._register(this._configurationService.onDidChangeConfiguration(h=>{h.affectsConfiguration(c)&&this._updateCompletionsEnablement(c)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);ia(t)?this._completionsEnabled=t:this._completionsEnabled=void 0}_log(e){this._loggingEnabled.get()&&this._logService.info(hM(e)),this._structuredFetchLogger.log(e)}fetch(e,t,i,o,n,s,a){let d=this._cursorPosition.get(),l=new Qy(d,i,this._textModel.getVersionId(),new Set(e)),c=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(l))return this._updateOperation.value.promise;if(c?.request?.satisfies(l))return Promise.resolve(!0);let h=!!this._updateOperation.value;this._updateOperation.clear();let u=new Me,g=(async()=>{let f=new R;this._loadingCount.set(this._loadingCount.get()+1,void 0);let _=!1,v=()=>{_||(_=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};f.add(new Le(()=>v(),10*1e3)).schedule();let I=e.filter(y=>y.providerId),b=new Jy(i,a,I);try{let y=this._debounceValue.get(this._textModel),E=i0(e.map(Re=>Re.debounceDelayMs),wD(vo))??y;if((h||n&&i.triggerKind===jt.Automatic)&&await Fy(E,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)return b.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;let A=Xy._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:A,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:i.triggerKind,suggestInfo:i.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let V=new Date,ee=DM(e,this._cursorPosition.get(),this._textModel,i,a,this._languageConfigurationService);Yy(u.token,()=>ee.cancelAndDispose({kind:"tokenCancellation"}));let $=!1,Pe=!1,He=[];for await(let Re of ee.lists)if(Re){Re.addRef(),f.add(he(()=>Re.removeRef(Re.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(let We of Re.inlineSuggestionsData){if(Pe=!0,!i.includeInlineEdits&&(We.isInlineEdit||We.showInlineEditMenu)){We.setNotShownReason("notInlineEditRequested");continue}if(!i.includeInlineCompletions&&!(We.isInlineEdit||We.showInlineEditMenu)){We.setNotShownReason("notInlineCompletionRequested");continue}let Ht=wf.create(We,this._textModel);He.push(Ht),!Ht.isInlineEdit&&!Ht.showInlineEditMenu&&i.triggerKind===jt.Automatic&&Ht.isVisible(this._textModel,this._cursorPosition.get())&&($=!0)}if($)break}if(ee.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let Re=ee.didAllProvidersReturn,We;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)&&(We="canceled");let Ht=He.map(Ei=>({range:Ei.editRange.toString(),text:Ei.insertText,hint:Ei.hint,isInlineEdit:Ei.isInlineEdit,showInlineEditMenu:Ei.showInlineEditMenu,providerId:Ei.source.provider.providerId?.toString()}));this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:A,durationMs:Date.now()-V.getTime(),error:We,result:Ht,time:Date.now(),didAllProvidersReturn:Re})}if(b.setRequestUuid(ee.contextWithUuid.requestUuid),Pe)b.setHasProducedSuggestion(),He.length>0&&u.token.isCancellationRequested&&He.forEach(Re=>Re.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"));else if(u.token.isCancellationRequested)b.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{let Re=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");b.setNoSuggestionReasonIfNotSet(Re?"completionsQuotaExceeded":"noSuggestion")}let Je=i.earliestShownDateTime-Date.now();if(Je>0&&await Fy(Je,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId||s.get()){let Re=u.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==l.versionId?"canceled:documentChanged":s.get()?"canceled:userJumped":"unknown";return He.forEach(We=>We.setNotShownReasonIfNotSet(Re)),!1}let It=new Date;this._debounceValue.update(this._textModel,It.getTime()-V.getTime());let $e=this._cursorPosition.get();this._updateOperation.clear(),Ci(Re=>{let We=this._state.get();i.selectedSuggestionInfo?this._state.set({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:We.suggestWidgetInlineCompletions.createStateWithAppliedResults(He,l,this._textModel,$e,o)},Re):this._state.set({inlineCompletions:We.inlineCompletions.createStateWithAppliedResults(He,l,this._textModel,$e,o),suggestWidgetInlineCompletions:Hn.createEmpty()},Re),We.inlineCompletions.dispose(),We.suggestWidgetInlineCompletions.dispose()})}finally{f.dispose(),v(),this.sendInlineCompletionsRequestTelemetry(b)}return!0})(),p=new ex(l,u,g);return this._updateOperation.value=p,g}clear(e){this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:Hn.createEmpty(),suggestWidgetInlineCompletions:Hn.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&Ci(i=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let o=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:Hn.createEmpty()},i),o.inlineCompletions.dispose(),o.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(i)})}sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment")||e.requestUuid===void 0||e.hasProducedSuggestion||!gA(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(o=>Uy(o.providerId?.extensionId)))return;let t={opportunityId:e.requestUuid,noSuggestionReason:e.noSuggestionReason??"unknown",extensionId:"vscode-core",extensionVersion:"0.0.0",groupId:"empty",shown:!1,editorType:e.requestInfo.editorType,requestReason:e.requestInfo.reason,typingInterval:e.requestInfo.typingInterval,typingIntervalCharacterCount:e.requestInfo.typingIntervalCharacterCount,languageId:e.requestInfo.languageId,selectedSuggestionInfo:!!e.context.selectedSuggestionInfo,availableProviders:e.providers.map(o=>o.providerId?.toString()).filter(Vi).join(","),...SM(e.providers.some(o=>Uy(o.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,notShownReason:void 0},i=this._instantiationService.createInstance(Sf);yM(i,t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};Df=Xy=hA([nh(4,Ne),nh(5,Xe),nh(6,oe),nh(7,z),nh(8,Y)],Df);var Qy=class{constructor(e,t,i,o){this.position=e,this.context=t,this.versionId=i,this.providers=o}satisfies(e){return this.position.equals(e.position)&&du(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,au())&&(e.context.triggerKind===jt.Automatic||this.context.triggerKind===jt.Explicit)&&this.versionId===e.versionId&&uA(e.providers,this.providers)}},Jy=class{constructor(e,t,i){this.context=e,this.requestInfo=t,this.providers=i,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function uA(r,e){return[...r].every(t=>e.has(t))}function gA(r,e="*"){return r===void 0?!1:typeof r[e]<"u"?!!r[e]:!!r["*"]}var ex=class{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}},Hn=class r extends L{static createEmpty(){return new r([],void 0)}constructor(e,t){for(let i of e)i.addRef();super(),this.inlineCompletions=e,this.request=t,this._register({dispose:()=>{for(let i of this.inlineCompletions)i.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(e,t){let i=this.inlineCompletions.map(o=>o.withEdit(e,t)).filter(Vi);return new r(i,this.request)}createStateWithAppliedResults(e,t,i,o,n){let s;if(n){let l=this._findById(n);if(l&&l.canBeReused(i,t.position)){s=l;let c=e.find(h=>h.hash===l.hash);c?e=pA(c,e):e=[l,...e]}}let a=s?!s.isInlineEdit:e.some(l=>!l.isInlineEdit&&l.isVisible(i,o)),d=[];for(let l of e){let c=this._findByHash(l.hash),h;c&&c!==l?(h=l.withIdentity(c.identity),l.setIsPreceeded(c),c.setEndOfLifeReason({kind:ar.Ignored,userTypingDisagreed:!1,supersededBy:l.getSourceCompletion()})):h=l,a!==h.isInlineEdit&&d.push(h)}return d.sort(_o(l=>l.showInlineEditMenu,CD)),d=mA(d,l=>l.semanticId),new r(d,t)}clone(){return new r(this.inlineCompletions,this.request)}};function mA(r,e){let t=new Set;return r.filter(i=>{let o=e(i);return t.has(o)?!1:(t.add(o),!0)})}function pA(r,e){let t=e.indexOf(r);return t>-1?[r,...e.slice(0,t),...e.slice(t+1)]:e}var Ef=class{constructor(e,t,i){this.edit=e,this.commands=t,this.inlineCompletion=i}equals(e){return this.edit.equals(e.edit)&&this.inlineCompletion===e.inlineCompletion}};var Rf=class r extends L{static{this.MAX_SESSION_GAP_MS=3e3}static{this.MIN_SESSION_DURATION_MS=1e3}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=3e5}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(e){super(),this._textModel=e,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(t=>this._updateTypingSpeed(t)))}_updateTypingSpeed(e){let t=Date.now();if(!this._isUserTyping(e)){this._finalizeCurrentSession();return}this._currentSession&&t-this._lastChangeTime>r.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||(this._currentSession={startTime:t,endTime:t,characterCount:0}),this._currentSession.endTime=t,this._currentSession.characterCount+=this._getActualCharacterCount(e),this._lastChangeTime=t,this._cacheInvalidated=!0}_getActualCharacterCount(e){let t=0;for(let i of e.changes)t+=Math.max(i.text.length,i.rangeLength);return t}_isUserTyping(e){if(!e.detailedReasons||e.detailedReasons.length===0)return!1;for(let t of e.detailedReasons)if(this._isUserTypingReason(t))return!0;return!1}_isUserTypingReason(e){if(e.metadata.isUndoing||e.metadata.isRedoing)return!1;if(e.metadata.source==="cursor"){let t=e.metadata.kind;return t==="type"||t==="compositionType"||t==="compositionEnd"}else return!1}_finalizeCurrentSession(){if(!this._currentSession)return;this._currentSession.endTime-this._currentSession.startTime>=r.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>r.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){let e={...this._currentSession};if(e.endTime-e.startTime>=r.MIN_SESSION_DURATION_MS&&e.characterCount>0){let i=[...this._typingSessions,e];return this._calculateSpeedFromSessions(i)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(e){if(e.length===0)return{averageInterval:0,characterCount:0};let t=[...e].sort((c,h)=>h.endTime-c.endTime),i=Date.now()-r.TYPING_SPEED_WINDOW_MS,o=t.filter(c=>c.endTime>i),n=t.splice(o.length),s=la(o.map(c=>c.characterCount));for(let c=0;c<n.length&&s<r.MIN_CHARS_FOR_RELIABLE_SPEED;c++)o.push(n[c]),s+=n[c].characterCount;let a=la(o.map(c=>c.endTime-c.startTime));if(a===0||s<=1)return{averageInterval:0,characterCount:s};let d=Math.max(1,s-1),l=a/d;return{averageInterval:Math.round(l),characterCount:s}}dispose(){this._finalizeCurrentSession(),super.dispose()}};var fA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zs=function(r,e){return function(t,i){e(t,i,r)}},kf=class extends L{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,o,n,s,a,d,l,c,h,u,g,p){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=i,this._positions=o,this._debounceValue=n,this._enabled=s,this._editor=a,this._instantiationService=d,this._commandService=l,this._languageConfigurationService=c,this._accessibilityService=h,this._languageFeaturesService=u,this._codeEditorService=g,this._inlineCompletionsService=p,this._isActive=xe(this,!1),this._onlyRequestInlineEditsSignal=io(this),this._forceUpdateExplicitlySignal=io(this),this._noDelaySignal=io(this),this._fetchSpecificProviderSignal=io(this),this._selectedInlineCompletionId=xe(this,void 0),this.primaryPosition=T(this,b=>this._positions.read(b)[0]??new P(1,1)),this.allPositions=T(this,b=>this._positions.read(b)),this._isAcceptingPartially=!1,this._appearedInsideViewport=T(this,b=>{let y=this.state.read(b);return!y||!y.inlineCompletion?!1:_A(this._editor,y.inlineCompletion)}),this._onDidAccept=new H,this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=Yv({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(b,y)=>(y.didUndo=b.didChange(this._textModelVersionId)&&!!b.change?.isUndoing,!0)}},(b,y)=>{let E=this._textModelVersionId.read(b);return E!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===E-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&y.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([Wn.Redo,Wn.Undo,Wn.AcceptWord]),this.dontRefetchSignal=io(this),this._fetchInlineCompletionsPromise=Yv({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:jt.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,textChange:!1,changeReason:""}),handleChange:(b,y)=>{if(b.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(b.change))&&(y.preserveCurrentCompletion=!0);let E=b.change?.detailedReasons??[];y.changeReason=E.length>0?E[0].getType():"",y.textChange=!0}else b.didChange(this._forceUpdateExplicitlySignal)?(y.preserveCurrentCompletion=!0,y.inlineCompletionTriggerKind=jt.Explicit):b.didChange(this.dontRefetchSignal)?y.dontRefetch=!0:b.didChange(this._onlyRequestInlineEditsSignal)?y.onlyRequestInlineEdits=!0:b.didChange(this._fetchSpecificProviderSignal)&&(y.provider=b.change);return!0}}},(b,y)=>{if(this._source.clearOperationOnTextModelChange.read(b),this._noDelaySignal.read(b),this.dontRefetchSignal.read(b),this._onlyRequestInlineEditsSignal.read(b),this._forceUpdateExplicitlySignal.read(b),this._fetchSpecificProviderSignal.read(b),!((this._enabled.read(b)&&this._selectedSuggestItem.read(b)||this._isActive.read(b))&&(!this._inlineCompletionsService.isSnoozing()||y.inlineCompletionTriggerKind===jt.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);let N=this._source.suggestWidgetInlineCompletions.read(void 0),A=this._selectedSuggestItem.read(b);if(this._shouldShowOnSuggestConflict.read(void 0)&&(A=void 0),N&&!A&&this._source.seedInlineCompletionsWithSuggestWidget(),y.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(b)&&y.inlineCompletionTriggerKind!==jt.Explicit){Ci(We=>{this._source.clear(We)});return}let V="";y.provider?V+="providerOnDidChange":y.inlineCompletionTriggerKind===jt.Explicit&&(V+="explicit"),y.changeReason&&(V+=V.length>0?`:${y.changeReason}`:y.changeReason);let ee=this._typing.getTypingInterval(),$={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:V,typingInterval:ee.averageInterval,typingIntervalCharacterCount:ee.characterCount,availableProviders:[]},Pe={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:A?.toSelectedSuggestionInfo(),includeInlineCompletions:!y.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(b),requestIssuedDateTime:$.startTime,earliestShownDateTime:$.startTime+(y.inlineCompletionTriggerKind===jt.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0))};Pe.triggerKind===jt.Automatic&&y.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(Pe={...Pe,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let He=this.selectedInlineCompletion.read(void 0)??this._inlineCompletionItems.read(void 0)?.inlineEdit,Je=y.preserveCurrentCompletion||He?.forwardStable?He:void 0,It=this._jumpedToId.map(We=>!!We&&We===this._inlineCompletionItems.read(void 0)?.inlineEdit?.semanticId),$e=y.provider?{providers:[y.provider],label:"single:"+y.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},Re=this.getAvailableProviders($e.providers);return $.availableProviders=Re.map(We=>We.providerId).filter(Vi),this._source.fetch(Re,$e.label,Pe,Je?.identity,y.shouldDebounce,It,$)}),this._inlineCompletionItems=zi({owner:this},b=>{let y=this._source.inlineCompletions.read(b);if(!y)return;let E=this.primaryPosition.read(b),N,A=[];for(let V of y.inlineCompletions)V.isInlineEdit?N=V:V.isVisible(this.textModel,E)&&A.push(V);return A.length!==0&&(N=void 0),{inlineCompletions:A,inlineEdit:N}}),this._filteredInlineCompletionItems=zi({owner:this,equalsFn:Zv()},b=>this._inlineCompletionItems.read(b)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=T(this,b=>{let y=this._selectedInlineCompletionId.read(b),E=this._filteredInlineCompletionItems.read(b),N=this._selectedInlineCompletionId===void 0?-1:E.findIndex(A=>A.semanticId===y);return N===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):N}),this.selectedInlineCompletion=T(this,b=>{let y=this._filteredInlineCompletionItems.read(b),E=this.selectedInlineCompletionIndex.read(b);return y[E]}),this.activeCommands=zi({owner:this,equalsFn:Zv()},b=>this.selectedInlineCompletion.read(b)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=T(this,b=>{if(this.lastTriggerKind.read(b)===jt.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this._hasVisiblePeekWidgets=T(this,b=>this._editorObs.openedPeekWidgets.read(b)>0),this._shouldShowOnSuggestConflict=T(this,b=>{let y=this._showOnSuggestConflict.read(b);if(y!=="never"&&!!this.selectedInlineCompletion.read(b)){let N=this._selectedSuggestItem.read(b);return N?y==="whenSuggestListIsIncomplete"?N.listIncomplete:!0:!1}return!1}),this.state=zi({owner:this,equalsFn:(b,y)=>!b||!y?b===y:b.kind==="ghostText"&&y.kind==="ghostText"?Hy(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem:b.kind==="inlineEdit"&&y.kind==="inlineEdit"?b.inlineEdit.equals(y.inlineEdit):!1},b=>{let y=this.textModel;if(this._suppressInSnippetMode.read(b)&&this._isInSnippetMode.read(b))return;let E=this._inlineCompletionItems.read(b),N=E?.inlineEdit;if(N){if(this._hasVisiblePeekWidgets.read(b))return;let V=N.getSingleTextEdit();V=Fi(V,y);let ee=this.primaryPosition.map($e=>Tt.fromRangeInclusive(N.targetRange).addMargin(1,1).contains($e.lineNumber)),$=N.source.inlineSuggestions.commands,Pe=new Ef(V,$??[],N),He=N.updatedEdit,Je=He?Qt.fromStringEdit(He,new _r(this.textModel)).replacements:[V],It=(E.inlineEdit?.command?.id==="vscode.open"||E.inlineEdit?.command?.id==="_workbench.open")&&E.inlineEdit?.command.arguments?.length?re.from(E.inlineEdit?.command.arguments[0]):void 0;return{kind:"inlineEdit",inlineEdit:Pe,inlineCompletion:N,edits:Je,cursorAtInlineEdit:ee,nextEditUri:It}}let A=this._selectedSuggestItem.read(b);if(!this._shouldShowOnSuggestConflict.read(b)&&A){let V=Fi(A.getSingleTextEdit(),y),ee=this._computeAugmentation(V,b);if(!this._suggestPreviewEnabled.read(b)&&!ee)return;let Pe=ee?.edit??V,He=ee?ee.edit.text.length-V.text.length:0,Je=this._suggestPreviewMode.read(b),It=this._positions.read(b),Re=[Pe,...tx(this.textModel,It,Pe)].map((Xi,rt)=>({edit:Xi,ghostText:Xi?By(Xi,y,Je,It[rt],He):void 0})).filter(({edit:Xi,ghostText:rt})=>Xi!==void 0&&rt!==void 0),We=Re.map(({edit:Xi})=>Xi),Ht=Re.map(({ghostText:Xi})=>Xi),Ei=Ht[0]??new dn(Pe.range.endLineNumber,[]);return{kind:"ghostText",edits:We,primaryGhostText:Ei,ghostTexts:Ht,inlineCompletion:ee?.completion,suggestItem:A}}else{if(!this._isActive.read(b))return;let V=this.selectedInlineCompletion.read(b);if(!V)return;let ee=V.getSingleTextEdit(),$=this._inlineSuggestMode.read(b),Pe=this._positions.read(b),Je=[ee,...tx(this.textModel,Pe,ee)].map((Re,We)=>({edit:Re,ghostText:Re?By(Re,y,$,Pe[We],0):void 0})).filter(({edit:Re,ghostText:We})=>Re!==void 0&&We!==void 0),It=Je.map(({edit:Re})=>Re),$e=Je.map(({ghostText:Re})=>Re);return $e[0]?{kind:"ghostText",edits:It,primaryGhostText:$e[0],ghostTexts:$e,inlineCompletion:V,suggestItem:void 0}:void 0}}),this.inlineCompletionState=T(this,b=>{let y=this.state.read(b);if(!(!y||y.kind!=="ghostText")&&!this._editorObs.inComposition.read(b))return y}),this.inlineEditState=T(this,b=>{let y=this.state.read(b);if(!(!y||y.kind!=="inlineEdit"))return y}),this.inlineEditAvailable=T(this,b=>!!this.inlineEditState.read(b)),this.warning=T(this,b=>this.inlineCompletionState.read(b)?.inlineCompletion?.warning),this.ghostTexts=zi({owner:this,equalsFn:Hy},b=>{let y=this.inlineCompletionState.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=zi({owner:this,equalsFn:Wy},b=>{let y=this.inlineCompletionState.read(b);if(y)return y?.primaryGhostText}),this.showCollapsed=T(this,b=>{let y=this.state.read(b);if(!y||y.kind!=="inlineEdit"||y.inlineCompletion.hint)return!1;let E=y.inlineCompletion.updatedEditModelVersion===this._textModelVersionId.read(b);return(this._inlineEditsShowCollapsedEnabled.read(b)||!E)&&this._jumpedToId.read(b)!==y.inlineCompletion.semanticId&&!this._inAcceptFlow.read(b)}),this._tabShouldIndent=T(this,b=>{if(this._inAcceptFlow.read(b))return!1;function y(A){return A.startLineNumber!==A.endLineNumber}function E(A,V){let ee=A.getLineIndentColumn(V),$=A.getLineLastNonWhitespaceColumn(V),Pe=Math.max($,ee);return new C(V,ee,V,Pe)}return this._editorObs.selections.read(b)?.some(A=>A.isEmpty()?this.textModel.getLineLength(A.startLineNumber)===0:y(A)||A.containsRange(E(this.textModel,A.startLineNumber)))}),this.tabShouldJumpToInlineEdit=T(this,b=>{if(this._tabShouldIndent.read(b))return!1;let y=this.inlineEditState.read(b);return y?this.showCollapsed.read(b)?!0:this._inAcceptFlow.read(b)&&this._appearedInsideViewport.read(b)&&!y.inlineCompletion.hint?.jumpToEdit?!1:!y.cursorAtInlineEdit.read(b):!1}),this.tabShouldAcceptInlineEdit=T(this,b=>{let y=this.inlineEditState.read(b);return!y||this.showCollapsed.read(b)||this._tabShouldIndent.read(b)?!1:this._inAcceptFlow.read(b)&&this._appearedInsideViewport.read(b)&&!y.inlineCompletion.hint?.jumpToEdit||y.inlineCompletion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(b)||this._jumpedToId.read(b)===y.inlineCompletion.semanticId?!0:y.cursorAtInlineEdit.read(b)}),this._jumpedToId=xe(this,void 0),this._inAcceptFlow=xe(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(Df,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition)),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b?.request?.context.triggerKind),this._editorObs=ye(this._editor);let f=this._editorObs.getOption(134);this._suggestPreviewEnabled=f.map(b=>b.preview),this._suggestPreviewMode=f.map(b=>b.previewMode);let _=this._editorObs.getOption(71);this._inlineSuggestMode=_.map(b=>b.mode),this._suppressedInlineCompletionGroupIds=_.map(b=>new Set(b.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=_.map(b=>!!b.edits.enabled),this._inlineEditsShowCollapsedEnabled=_.map(b=>b.edits.showCollapsed),this._triggerCommandOnProviderChange=_.map(b=>b.triggerCommandOnProviderChange),this._minShowDelay=_.map(b=>b.minShowDelay),this._showOnSuggestConflict=_.map(b=>b.experimental.showOnSuggestConflict),this._suppressInSnippetMode=_.map(b=>b.suppressInSnippetMode);let v=kt.get(this._editor);this._isInSnippetMode=v?.isInSnippetObservable??be(!1),this._typing=this._register(new Rf(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(b=>{b&&this.stop()}));{let b=this.textModel.uri.scheme==="vscode-notebook-cell",[y]=this._codeEditorService.listDiffEditors().filter(E=>E.getOriginalEditor().getId()===this._editor.getId()||E.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!y,this.editorType=b?Pd.Notebook:this.isInDiffEditor?Pd.DiffEditor:Pd.TextEditor}this._register(Qv(this.state,b=>{b&&b.inlineCompletion&&this._inlineCompletionsService.reportNewCompletion(b.inlineCompletion.requestUuid)})),this._register(Qv(this._fetchInlineCompletionsPromise)),this._register(ue(b=>{this._editorObs.versionId.read(b),this._inAcceptFlow.set(!1,void 0)})),this._register(ue(b=>{this.state.map((E,N)=>!E||E.kind==="inlineEdit"&&!E.cursorAtInlineEdit.read(N)).read(b)&&this._jumpedToId.set(void 0,void 0)}));let w=this.inlineEditState.map(b=>b?.inlineCompletion.semanticId);this._register(ue(b=>{w.read(b)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineCompletion})}));let I=dt(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));ca(this,I,(b,y)=>{b.onDidChangeInlineCompletions&&y.add(b.onDidChangeInlineCompletions(()=>{if(!this._enabled.get()||(this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let N=this.state.get();N&&(N.inlineCompletion||N.edits)&&N.inlineCompletion?.source.provider!==b||Ci(A=>{this._fetchSpecificProviderSignal.trigger(A,b),this.trigger(A)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,i=!0,o=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&o&&o.parts.length>0){let{column:n,lines:s}=o.parts[0],a=s[0].line,d=this.textModel.getLineIndentColumn(o.lineNumber);if(n<=d){let c=il(a);c===-1&&(c=a.length-1),t=c>0;let h=this.textModel.getOptions().tabSize;i=oE.visibleColumnFromColumn(a,c+1,h)<h}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:i}}_getReason(e){return e?.isUndoing?Wn.Undo:e?.isRedoing?Wn.Redo:this.isAcceptingPartially?Wn.AcceptWord:Wn.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),i=e.filter(s=>!(s.groupId&&t.has(s.groupId))),o=new Set;for(let s of i)s.excludesGroupIds?.forEach(a=>o.add(a));let n=[];for(let s of i)s.groupId&&o.has(s.groupId)||n.push(s);return n}async trigger(e,t={}){sl(e,i=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(i),t.noDelay&&this._noDelaySignal.trigger(i),this._isActive.set(!0,i),t.explicit&&(this._inAcceptFlow.set(!0,i),this._forceUpdateExplicitlySignal.trigger(i)),t.provider&&this._fetchSpecificProviderSignal.trigger(i,t.provider)}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e,t=!1){return this.trigger(e,{onlyFetchInlineEdits:t,explicit:!0})}stop(e="automatic",t){sl(t,i=>{if(e==="explicitCancel"){let o=this.state.get()?.inlineCompletion;o&&o.reportEndOfLife({kind:ar.Rejected})}this._isActive.set(!1,i),this._source.clear(i)})}_computeAugmentation(e,t){let i=this.textModel,o=this._source.suggestWidgetInlineCompletions.read(t),n=o?o.inlineCompletions.filter(a=>!a.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(Vi);return n0(n,a=>{let d=a.getSingleTextEdit();return d=Fi(d,i,C.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),bf(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){let i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(e,t,i=void 0){return i?wo.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:i}):wo.inlineCompletionAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t})}async accept(e=this._editor){if(e.getModel()!==this.textModel)throw new et;let t,i=!1,o=this.state.get();if(o?.kind==="ghostText"){if(!o||o.primaryGhostText.isEmpty()||!o.inlineCompletion)return;t=o.inlineCompletion}else if(o?.kind==="inlineEdit")t=o.inlineCompletion,i=!!o.nextEditUri;else return;t.addRef();try{if(e.pushUndoStop(),!i)if(t.snippetInfo){let n=ot.delete(t.editRange),s=t.additionalTextEdits.map(d=>new ot(C.lift(d.range),d.text??"")),a=Qt.fromParallelReplacementsUnsorted([n,...s]);e.edit(a,this._getMetadata(t,this.textModel.getLanguageId())),e.setPosition(t.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),kt.get(e)?.insert(t.snippetInfo.snippet,{undoStopBefore:!1})}else{let n=o.edits,s=n;o.kind==="ghostText"&&(s=mM(n,this.textModel));let a=Ay(s).map(c=>G.fromPositions(c)),d=t.additionalTextEdits.map(c=>new ot(C.lift(c.range),c.text??"")),l=Qt.fromParallelReplacementsUnsorted([...n,...d]);if(e.edit(l,this._getMetadata(t,this.textModel.getLanguageId())),t.hint===void 0&&e.setSelections(o.kind==="inlineEdit"?a.slice(-1):a,"inlineCompletionAccept"),o.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){let c=l.getNewRanges(),h=this._store.add(new ix(e,c,()=>{this._store.delete(h)}))}}this._onDidAccept.fire(),this.stop(),t.command&&await this._commandService.executeCommand(t.command.id,...t.command.arguments||[]).then(void 0,_e),t.reportEndOfLife({kind:ar.Accepted})}finally{t.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:t}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(e,t)=>{let i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),o=this._languageConfigurationService.getLanguageConfiguration(i),n=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),s=t.match(n),a=0;s&&s.index!==void 0?s.index===0?a=s[0].length:a=s.index:a=t.length;let l=/\s+/g.exec(t);return l&&l.index!==void 0&&l.index+l[0].length<a&&(a=l.index+l[0].length),a},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(e,t)=>{let i=t.match(/\n/);return i&&i.index!==void 0?i.index+1:t.length},1)}async _acceptNext(e,t,i,o){if(e.getModel()!==this.textModel)throw new et;let n=this.inlineCompletionState.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;let s=n.primaryGhostText,a=n.inlineCompletion;if(a.snippetInfo){await this.accept(e);return}let d=s.parts[0],l=new P(s.lineNumber,d.column),c=d.text,h=i(l,c);if(h===c.length&&s.parts.length===1){this.accept(e);return}let u=c.substring(0,h),g=this._positions.get(),p=g[0];a.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let w=C.fromPositions(p,l),I=e.getModel().getValueInRange(w)+u,b=new ot(w,I),y=[b,...tx(this.textModel,g,b)].filter(Vi),E=Ay(y).map(N=>G.fromPositions(N));e.edit(Qt.fromParallelReplacementsUnsorted(y),this._getMetadata(a,t)),e.setSelections(E,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}let f=C.fromPositions(a.editRange.getStartPosition(),Gi.ofText(u).addToPosition(l)),v=e.getModel().getValueInRange(f,1).length;a.reportPartialAccept(v,{kind:o,acceptedLength:v},{characters:h,ratio:h/c.length,count:1})}finally{a.removeRef()}}handleSuggestAccepted(e){let t=Fi(e.getSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;let n=this.textModel.getValueInRange(i.completion.editRange,1).length+t.text.length;i.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:n},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){let e=this.textModel.getValue(),t=this.state.get()?.inlineCompletion;return{documentValue:e,inlineCompletion:t?.getSourceCompletion()}}jump(){let e=this.inlineEditState.get();e&&Ci(t=>{this._jumpedToId.set(e.inlineCompletion.semanticId,t),this.dontRefetchSignal.trigger(t);let i=e.inlineCompletion.targetRange,o=i.getStartPosition();if(this._editor.setPosition(o,"inlineCompletions.jump"),i.isSingleLine()&&(e.inlineCompletion.hint||!e.inlineCompletion.insertText.includes(`
|
|
44
44
|
`)))this._editor.revealPosition(o);else{let s=new C(i.startLineNumber-1,1,i.endLineNumber+1,1);this._editor.revealRange(s,1)}e.inlineCompletion.identity.setJumpTo(t),this._editor.focus()})}async handleInlineSuggestionShown(e,t,i){await e.reportInlineEditShown(this._commandService,t,i)}};kf=fA([zs(7,z),zs(8,De),zs(9,Ne),zs(10,Mi),zs(11,O),zs(12,ve),zs(13,WR)],kf);var Wn;(function(r){r[r.Undo=0]="Undo",r[r.Redo=1]="Redo",r[r.AcceptWord=2]="AcceptWord",r[r.Other=3]="Other"})(Wn||(Wn={}));function tx(r,e,t){if(e.length===1)return[];let i=new _r(r),o=i.getTransformer(),n=o.getOffset(e[0]),s=e.slice(1).map(u=>o.getOffset(u));t=t.removeCommonPrefixAndSuffix(i);let a=o.getStringReplacement(t),d=a.replaceRange.start-n,l=a.replaceRange.join(Be.emptyAt(n)),c=i.getValueOfOffsetRange(l);return s.map(u=>{let g=u+d,p=g+a.replaceRange.length,f=new Be(g,p),_=f.join(Be.emptyAt(u));if(i.getValueOfOffsetRange(_)!==c)return;let w=new Mt(f,a.newText);return o.getTextReplacement(w)}).filter(Vi)}var ix=class extends L{constructor(e,t,i){super(),i&&this._register({dispose:()=>i()}),this._register(ye(e).setDecorations(be(t.map(s=>({range:s,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));let o=new _f(1,0,1e3,fM),n=new vf(o);this._register(ue(s=>{let a=n.getValue(s);e.getContainerDomNode().style.setProperty("--animation-opacity",a.toString()),o.isFinished()&&this.dispose()}))}};function _A(r,e){let t=e.targetRange,i=r.getVisibleRanges();return i.length<1?!1:new C(i[0].startLineNumber,i[0].startColumn,i[i.length-1].endLineNumber,i[i.length-1].endColumn).containsRange(t)}var ox=class extends L{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new H),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(n=>{n.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(n=>{n.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));let o=go.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(a,d,l)=>{let c=this.editor.getModel();if(!c)return-1;let h=this.suggestControllerPreselector(),u=h?Fi(h,c):void 0;if(!u)return-1;let g=P.lift(d),p=l.map((_,v)=>{let w=rh.fromSuggestion(o,c,g,_,this.isShiftKeyPressed),I=Fi(w.getSingleTextEdit(),c),b=bf(u,I);return{index:v,valid:b,prefixLength:I.text.length,suggestItem:_}}).filter(_=>_&&_.valid&&_.prefixLength>0),f=t0(p,_o(_=>_.prefixLength,vo));return f?f.index:-1}}));let n=!1,s=()=>{n||(n=!0,this._register(o.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(o.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(o.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(ke.once(o.model.onDidTrigger)(a=>{s()})),this._register(o.onWillInsertSuggestItem(a=>{let d=this.editor.getPosition(),l=this.editor.getModel();if(!d||!l)return;let c=rh.fromSuggestion(o,l,d,a.item,this.isShiftKeyPressed);this.onWillAccept(c)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();(this._isActive!==e||!vA(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){let e=go.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;let t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),o=this.editor.getModel();if(!(!t||!i||!o))return rh.fromSuggestion(e,o,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){go.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){go.get(this.editor)?.forceRenderingAbove()}},rh=class r{static fromSuggestion(e,t,i,o,n){let{insertText:s}=o.completion,a=!1;if(o.completion.insertTextRules&4){let l=new Li().parse(s);l.children.length<100&&Sd.adjustWhitespace(t,i,!0,l),s=l.toString(),a=!0}let d=e.getOverwriteInfo(o,n);return new r(C.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.overwriteAfter,0))),s,o.completion.kind,a,o.container.incomplete??!1)}constructor(e,t,i,o,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=o,this.listIncomplete=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new r0(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new ot(this.range,this.insertText)}};function vA(r,e){return r===e?!0:!r||!e?!1:r.equals(e)}var Mf=class extends L{constructor(e,t,i){super(),this._editorObs=e,this._handleSuggestAccepted=t,this._suggestControllerPreselector=i,this._suggestWidgetAdaptor=this._register(new ox(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),o=>this._editorObs.forceUpdate(n=>{this._handleSuggestAccepted(o)}))),this.selectedItem=dt(this,o=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(n=>o(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}};var Tf=class{constructor(e,t){this.lineNumber=e,this.columnRange=t}};var sh=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new et(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new C(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}toZeroBasedOffsetRange(){return new Be(this.startColumn-1,this.endColumnExclusive-1)}};var ah=class r{static fromLineTokens(e){let t=[];for(let i=0;i<e.getCount();i++)t.push(new Nf(e.getTokenText(i),e.getMetadata(i)));return r.create(t)}static create(e){return new r(e)}constructor(e){this._tokenInfo=e}toLineTokens(e){return eo.createFromTextAndMetadata(this.map((t,i)=>({text:i.text,metadata:i.metadata})),e)}map(e){let t=[],i=0;for(let o of this._tokenInfo){let n=new Be(i,i+o.text.length);t.push(e(n,o)),i+=o.text.length}return t}slice(e){let t=[],i=0;for(let o of this._tokenInfo){let n=i,s=n+o.text.length;if(s>e.start){if(n>=e.endExclusive)break;let a=Math.max(0,e.start-n),d=Math.max(0,s-e.endExclusive);t.push(new Nf(o.text.slice(a,o.text.length-d),o.metadata))}i+=o.text.length}return r.create(t)}append(e){let t=this._tokenInfo.concat(e._tokenInfo);return r.create(t)}},Nf=class{constructor(e,t){this.text=e,this.metadata=t}};var bA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},CA=function(r,e){return function(t,i){e(t,i,r)}},kM="ghost-text",Pr=class extends L{static{this.hot=cr(this)}constructor(e,t,i,o,n,s){super(),this._editor=e,this._model=t,this._options=i,this._shouldKeepCursorStable=o,this._isClickable=n,this._languageService=s,this._isDisposed=xe(this,!1),this._editorObs=ye(this._editor),this._warningState=T(a=>{let d=this._model.ghostText.read(a);if(!d)return;let l=this._model.warning.read(a);if(l)return{lineNumber:d.lineNumber,position:new P(d.lineNumber,d.parts[0].column),icon:l.icon}}),this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._useSyntaxHighlighting=this._options.map(a=>a.syntaxHighlightingEnabled),this._extraClassNames=T(this,a=>{let d=[...this._options.read(a).extraClasses??[]];return this._useSyntaxHighlighting.read(a)&&d.push("syntax-highlighted"),this._warningState.read(a)&&d.push("warning"),d.map(c=>` ${c}`).join("")}),this.uiState=T(this,a=>{if(this._isDisposed.read(a))return;let d=this._editorObs.model.read(a);if(d!==this._model.targetTextModel.read(a))return;let l=this._model.ghostText.read(a);if(!l)return;let c=l instanceof Nd?l.columnRange:void 0,h=this._useSyntaxHighlighting.read(a),u=this._extraClassNames.read(a),{inlineTexts:g,additionalLines:p,hiddenRange:f,additionalLinesOriginalSuffix:_}=SA(l,d,kM+u),v=d.getLineContent(l.lineNumber),w=new Wo(g.map($=>Mt.insert($.column-1,$.text))),I=h?d.tokenization.tokenizeLinesAt(l.lineNumber,[w.apply(v),...p.map($=>$.content)]):void 0,b=w.getNewRanges(),y=g.map(($,Pe)=>({...$,tokens:I?.[0]?.getTokensInRange(b[Pe])})),E=p.map(($,Pe)=>{let He=I?.[Pe+1]??eo.createEmpty($.content,this._languageService.languageIdCodec);if(Pe===p.length-1&&_){let It=ah.fromLineTokens(d.tokenization.getLineTokens(_.lineNumber)).slice(_.columnRange.toZeroBasedOffsetRange());He=ah.fromLineTokens(He).append(It).toLineTokens(He.languageIdCodec)}return{content:He,decorations:$.decorations}}),N=this._editor.getSelection()?.getStartPosition().column,A=y.filter($=>$.text!==""),V=A.length!==0,ee={cursorColumnDistance:(V?A[0].column:1)-N,cursorLineDistance:V?0:p.findIndex($=>$.content!=="")+1,lineCountOriginal:V?1:0,lineCountModified:p.length+(V?1:0),characterCountOriginal:0,characterCountModified:la(A.map($=>$.text.length))+la(E.map($=>$.content.getTextLength())),disjointReplacements:A.length+(p.length>0?1:0),sameShapeReplacements:A.length>1&&E.length===0?A.every($=>$.text===A[0].text):void 0};return this._model.handleInlineCompletionShown.read(a)?.(ee),{replacedRange:c,inlineTexts:y,additionalLines:E,hiddenRange:f,lineNumber:l.lineNumber,additionalReservedLineCount:this._model.minReservedLineCount.read(a),targetTextModel:d,syntaxHighlightingEnabled:h}}),this.decorations=T(this,a=>{let d=this.uiState.read(a);if(!d)return[];let l=[],c=this._extraClassNames.read(a);d.replacedRange&&l.push({range:d.replacedRange.toRange(d.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace"+c,description:"GhostTextReplacement"}}),d.hiddenRange&&l.push({range:d.hiddenRange.toRange(d.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(let h of d.inlineTexts)l.push({range:C.fromPositions(new P(d.lineNumber,h.column)),options:{description:"ghost-text-decoration",after:{content:h.text,tokens:h.tokens,inlineClassName:(h.preview?"ghost-text-decoration-preview":"ghost-text-decoration")+(this._isClickable?" clickable":"")+c+h.lineDecorations.map(u=>" "+u.className).join(" "),cursorStops:Oo.Left,attachedData:new dh(this)},showIfCollapsed:!0}});return l}),this._additionalLinesWidget=this._register(new nx(this._editor,T(a=>{let d=this.uiState.read(a);return d?{lineNumber:d.lineNumber,additionalLines:d.additionalLines,minReservedLineCount:d.additionalReservedLineCount,targetTextModel:d.targetTextModel}:void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(a=>a.target.type===6&&a.target.detail.injectedText?.options.attachedData instanceof dh&&a.target.detail.injectedText.options.attachedData.owner===this,this._store),this.isHovered=T(this,a=>this._isDisposed.read(a)?!1:this._isInlineTextHovered.read(a)||this._additionalLinesWidget.isHovered.read(a)),this.height=T(this,a=>this._editorObs.getOption(75).read(a)+(this._additionalLinesWidget.viewZoneHeight.read(a)??0)),this._register(he(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this.decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(a=>this._onDidClick.fire(a))),this._register(this._editor.onMouseUp(a=>{if(a.target.type!==6)return;let d=a.target.detail.injectedText?.options.attachedData;d instanceof dh&&d.owner===this&&this._onDidClick.fire(a.event)}))),this._register(bi((a,d)=>{}))}static getWarningWidgetContext(e){let t=e.ghostTextViewWarningWidgetData;if(t)return t;if(e.parentElement)return this.getWarningWidgetContext(e.parentElement)}ownsViewZone(e){return this._additionalLinesWidget.viewZoneId===e}};Pr=bA([CA(5,hi)],Pr);var dh=class{constructor(e){this.owner=e}};function SA(r,e,t){let i=[],o=[];function n(h,u){if(o.length>0){let g=o[o.length-1];u&&g.decorations.push(new nr(g.content.length+1,g.content.length+1+h[0].line.length,u,0)),g.content+=h[0].line,h=h.slice(1)}for(let g of h)o.push({content:g.line,decorations:u?[new nr(1,g.line.length+1,u,0),...g.lineDecorations]:[...g.lineDecorations]})}let s=e.getLineContent(r.lineNumber),a,d=0;for(let h of r.parts){let u=h.lines;a===void 0?(i.push({column:h.column,text:u[0].line,preview:h.preview,lineDecorations:u[0].lineDecorations}),u=u.slice(1)):n([{line:s.substring(d,h.column-1),lineDecorations:[]}],void 0),u.length>0&&(n(u,t),a===void 0&&h.column<=s.length&&(a=h.column)),d=h.column-1}let l;a!==void 0&&(l=new Tf(r.lineNumber,new sh(d+1,s.length+1)));let c=a!==void 0?new sh(a,s.length+1):void 0;return{inlineTexts:i,additionalLines:o,hiddenRange:c,additionalLinesOriginalSuffix:l}}var nx=class extends L{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}get viewZoneHeight(){return this._viewZoneHeight}constructor(e,t,i,o){super(),this._editor=e,this._lines=t,this._shouldKeepCursorStable=i,this._isClickable=o,this._viewZoneHeight=xe("viewZoneHeight",void 0),this.editorOptionsChanged=Il("editorOptionChanged",ke.filter(this._editor.onDidChangeConfiguration,n=>n.hasChanged(40)||n.hasChanged(133)||n.hasChanged(113)||n.hasChanged(108)||n.hasChanged(60)||n.hasChanged(59)||n.hasChanged(75))),this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new we),this.isHovered=ye(this._editor).isTargetHovered(n=>EM(n.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof Ra&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(n=>this.hasBeenAccepted=n.source==="inlineSuggestion.accept")),this._register(ue(n=>{let s=this._lines.read(n);this.editorOptionsChanged.read(n),s?(this.hasBeenAccepted=!1,this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(e=>{this.removeActiveViewZone(e)})}updateLines(e,t,i){let o=this._editor.getModel();if(!o)return;let{tabSize:n}=o.getOptions();this._editor.changeViewZones(s=>{let a=new R;this.removeActiveViewZone(s);let d=Math.max(t.length,i);if(d>0){let l=document.createElement("div");wA(l,n,t,this._editor.getOptions(),this._isClickable),this._isClickable&&(a.add(te(l,"mousedown",c=>{c.preventDefault()})),a.add(te(l,"click",c=>{EM(c.target)&&this._onDidClick.fire(new Qi(tt(c),c))}))),this.addViewZone(s,e,d,l)}this._viewZoneListener.value=a})}addViewZone(e,t,i,o){let n=e.addZone({afterLineNumber:t,heightInLines:i,domNode:o,afterColumnAffinity:1,onComputedHeight:s=>{this._viewZoneHeight.set(s,void 0)}});this.keepCursorStable(t,i),this._viewZoneInfo={viewZoneId:n,heightInLines:i,lineNumber:t}}removeActiveViewZone(e){this._viewZoneInfo&&(e.removeZone(this._viewZoneInfo.viewZoneId),this.hasBeenAccepted||this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines),this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0))}keepCursorStable(e,t){if(!this._shouldKeepCursorStable)return;let i=this._editor.getSelection()?.getStartPosition()?.lineNumber;i!==void 0&&e<i&&this._editor.setScrollTop(this._editor.getScrollTop()+t*this._editor.getOption(75))}};function EM(r){return ha(r)&&r.classList.contains(kM)}function wA(r,e,t,i,o){let n=i.get(40),s=i.get(133),a="none",d=i.get(108),l=i.get(60),c=i.get(59),h=i.get(75),u="suggest-preview-text";o&&(u+=" clickable");let g=new pu(1e4);g.appendString(`<div class="${u}">`);for(let _=0,v=t.length;_<v;_++){let w=t[_],I=w.content;g.appendString('<div class="view-line'),g.appendString('" style="top:'),g.appendString(String(_*h)),g.appendString('px;width:1000000px;">');let b=I.getLineContent(),y=Jh(b),E=uD(b);Nu(new Tu(c.isMonospace&&!n,c.canUseHalfwidthRightwardsArrow,b,!1,y,E,0,I,w.decorations,e,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,s,a,d,l!==pE.OFF,null,null,0),g),g.appendString("</div>")}g.appendString("</div>"),bu(r,c);let p=g.build(),f=RM?RM.createHTML(p):p;r.innerHTML=f}var RM=Hu("editorGhostText",{createHTML:r=>r});var rx=class r{static{this.empty=new r([])}constructor(e){this.replacements=e,ZL(Zh(e,(t,i)=>t.lineRange.endLineNumberExclusive<=i.lineRange.startLineNumber))}toString(){return this.replacements.map(e=>e.toString()).join(",")}getNewLineRanges(){let e=[],t=0;for(let i of this.replacements)e.push(Tt.ofLength(i.lineRange.startLineNumber+t,i.newLines.length)),t+=i.newLines.length-i.lineRange.length;return e}},lh=class r{static fromSingleTextEdit(e,t){let i=ri(e.text),o=e.range.startLineNumber,n=t.getValueOfRange(C.fromPositions(new P(e.range.startLineNumber,1),e.range.getStartPosition()));i[0]=n+i[0];let s=e.range.endLineNumber+1,a=t.getTransformer().getLineLength(e.range.endLineNumber)+1,d=t.getValueOfRange(C.fromPositions(e.range.getEndPosition(),new P(e.range.endLineNumber,a)));i[i.length-1]=i[i.length-1]+d;let l=e.range.startColumn===t.getTransformer().getLineLength(e.range.startLineNumber)+1,c=e.range.endColumn===1;return l&&i[0].length===n.length&&(o++,i.shift()),i.length>0&&o<s&&c&&i[i.length-1].length===d.length&&(s--,i.pop()),new r(new Tt(o,s),i)}constructor(e,t){this.lineRange=e,this.newLines=t}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new rx([this])}};var Od=class{get lineEdit(){return this.edit.replacements.length===0?new lh(new Tt(1,1),[]):lh.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText)}get originalLineRange(){return this.lineEdit.lineRange}get modifiedLineRange(){return this.lineEdit.toLineEdit().getNewLineRanges()[0]}get displayRange(){return this.originalText.lineRange.intersect(this.originalLineRange.join(Tt.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(e,t,i,o,n,s){this.originalText=e,this.edit=t,this.cursorPosition=i,this.multiCursorPositions=o,this.commands=n,this.inlineCompletion=s}};var ch=class{constructor(e,t,i){this._model=e,this.inlineEdit=t,this.tabAction=i,this.action=this.inlineEdit.inlineCompletion.action,this.displayName=this.inlineEdit.inlineCompletion.source.provider.displayName??m(1219,"Inline Edit"),this.extensionCommands=this.inlineEdit.inlineCompletion.source.inlineSuggestions.commands??[],this.isInDiffEditor=this._model.isInDiffEditor,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.showCollapsed=this._model.showCollapsed}accept(){this._model.accept()}jump(){this._model.jump()}handleInlineEditShown(e,t){this._model.handleInlineSuggestionShown(this.inlineEdit.inlineCompletion,e,t)}},Pf=class{constructor(e){this._model=e,this.onDidAccept=this._model.onDidAccept,this.inAcceptFlow=this._model.inAcceptFlow}},Of=class{constructor(e,t,i,o){this.lineRange=i;let n=ye(e),s=T(this,a=>n.isFocused.read(a)&&o.showInlineEditMenu?ct.Accept:ct.Inactive);this.model=new ch(t,new Od(new Cn(""),new Qt([o.getSingleTextEdit()]),t.primaryPosition.get(),t.allPositions.get(),o.source.inlineSuggestions.commands??[],o),s)}};var qe=class r{static fromPoints(e,t){return new r(e.x,e.y,t.x,t.y)}static fromPointSize(e,t){return new r(e.x,e.y,e.x+t.x,e.y+t.y)}static fromLeftTopRightBottom(e,t,i,o){return new r(e,t,i,o)}static fromLeftTopWidthHeight(e,t,i,o){return new r(e,t,e+i,t+o)}static fromRanges(e,t){return new r(e.start,t.start,e.endExclusive,t.endExclusive)}static hull(e){let t=Number.MAX_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,n=Number.MIN_SAFE_INTEGER;for(let s of e)t=Math.min(t,s.left),i=Math.min(i,s.top),o=Math.max(o,s.right),n=Math.max(n,s.bottom);return new r(t,i,o,n)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(e,t,i,o){if(this.left=e,this.top=t,this.right=i,this.bottom=o,e>i)throw new et("Invalid arguments: Horizontally offset by "+(e-i));if(t>o)throw new et("Invalid arguments: Vertically offset by "+(t-o))}withMargin(e,t,i,o){let n,s,a,d;return t===void 0&&i===void 0&&o===void 0?n=s=a=d=e:i===void 0&&o===void 0?(n=s=t,a=d=e):(n=o,s=t,a=e,d=i),new r(this.left-n,this.top-a,this.right+s,this.bottom+d)}intersectVertical(e){let t=Math.max(this.top,e.start),i=Math.min(this.bottom,e.endExclusive);return new r(this.left,t,this.right,Math.max(t,i))}intersectHorizontal(e){let t=Math.max(this.left,e.start),i=Math.min(this.right,e.endExclusive);return new r(t,this.top,Math.max(t,i),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(e){let t=Math.max(this.left,e.left),i=Math.min(this.right,e.right),o=Math.max(this.top,e.top),n=Math.min(this.bottom,e.bottom);if(!(t>i||o>n))return new r(t,o,i,n)}containsRect(e){return this.left<=e.left&&this.top<=e.top&&this.right>=e.right&&this.bottom>=e.bottom}containsPoint(e){return this.left<=e.x&&this.top<=e.y&&this.right>=e.x&&this.bottom>=e.y}moveToBeContainedIn(e){let t=this.width,i=this.height,o=this.left,n=this.top;return o<e.left?o=e.left:o+t>e.right&&(o=e.right-t),n<e.top?n=e.top:n+i>e.bottom&&(n=e.bottom-i),new r(o,n,o+t,n+i)}withWidth(e){return new r(this.left,this.top,this.left+e,this.bottom)}withHeight(e){return new r(this.left,this.top,this.right,this.top+e)}withTop(e){return new r(this.left,e,this.right,this.bottom)}withLeft(e){return new r(e,this.top,this.right,this.bottom)}translateX(e){return new r(this.left+e,this.top,this.right+e,this.bottom)}translateY(e){return new r(this.left,this.top+e,this.right,this.bottom+e)}getLeftBottom(){return new Kt(this.left,this.bottom)}getRightBottom(){return new Kt(this.right,this.bottom)}getRightTop(){return new Kt(this.right,this.top)}toStyles(){return{position:"absolute",left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}};var Ad=class r{constructor(e,t,i,o=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=o}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Zt(this.startLineNumbers,e.startLineNumbers)&&Zt(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new r([],[],0)}},MM=Hu("stickyScrollViewLayer",{createHTML:r=>r}),sx="data-sticky-line-index",TM="data-sticky-is-line",yA="data-sticky-is-line-number",NM="data-sticky-is-folding-icon",Af=class extends L{get height(){return this._height}constructor(e){super(),this._foldingIconStore=this._register(new R),this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._height=-1,this._onDidChangeStickyScrollHeight=this._register(new H),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=e,this._lineHeight=e.getOption(75),this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Di),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let t=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(131)&&t(),i.hasChanged(75)&&(this._lineHeight=this._editor.getOption(75))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){let o=!this._state&&!e,n=this._state&&this._state.equals(e);if(i===void 0&&(o||n))return;let s=this._findRenderingData(e),a=this._lineNumbers;this._lineNumbers=s.lineNumbers,this._lastLineRelativePosition=s.lastLineRelativePosition;let d=this._findIndexToRebuildFrom(a,this._lineNumbers,i);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,t,d),this._state=e}_findRenderingData(e){if(!e)return{lineNumbers:[],lastLineRelativePosition:0};let t=[...e.startLineNumbers];e.showEndForLine!==null&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]);let i=0;for(let o=0;o<t.length;o++)i+=this._editor.getLineHeightForPosition(new P(t[o],1));return i===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:t,lastLineRelativePosition:e.lastLineRelativePosition}}_findIndexToRebuildFrom(e,t,i){if(t.length===0)return 0;if(i!==void 0)return i;let o=t.findIndex(n=>!e.includes(n));return o===-1?0:o}_updateWidgetWidth(){let e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(let t of this._renderedStickyLines){let i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i,o){let n=this._editor._getViewModel();if(!n){this._clearWidget();return}if(e.length===0){this._clearWidget();return}let s=[],a=e[e.length-1],d=0;for(let c=0;c<this._renderedStickyLines.length;c++)if(c<o){let h=this._renderedStickyLines[c];s.push(this._updatePosition(h,d,h.lineNumber===a)),d+=h.height}else{let h=this._renderedStickyLines[c];h.lineNumberDomNode.remove(),h.lineDomNode.remove()}let l=this._editor.getLayoutInfo();for(let c=o;c<e.length;c++){let h=this._renderChildNode(n,c,e[c],d,a===e[c],i,l);d+=h.height,this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),s.push(h)}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(c=>c.scrollWidth))+l.verticalScrollbarWidth,this._renderedStickyLines=s,this._setHeight(d+t),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let e=0;e<this._renderedStickyLines.length;e++){let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}this._setHeight(0)}_setHeight(e){this._height!==e&&(this._height=e,this._height===0?this._rootDomNode.style.display="none":(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`),this._onDidChangeStickyScrollHeight.fire({height:this._height}))}_setFoldingHoverListeners(){this._editor.getOption(126)==="mouseover"&&(this._foldingIconStore.clear(),this._foldingIconStore.add(te(this._lineNumbersDomNode,fe.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(te(this._lineNumbersDomNode,fe.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,o,n,s,a){let d=e.coordinatesConverter.convertModelPositionToViewPosition(new P(i,1)).lineNumber,l=e.getViewLineRenderingData(d),c=this._editor.getOption(76),h=this._editor.getOption(117).verticalScrollbarSize,u;try{u=nr.filter(l.inlineDecorations,d,l.minColumn,l.maxColumn)}catch{u=[]}let g=this._editor.getLineHeightForPosition(new P(i,1)),p=e.getTextDirection(i),f=new Tu(!0,!0,l.content,l.continuesWithWrappedLine,l.isBasicASCII,l.containsRTL,0,l.tokens,u,l.tabSize,l.startVisibleColumn,1,1,1,500,"none",!0,!0,null,p,h),_=new pu(2e3),v=Nu(f,_),w;MM?w=MM.createHTML(_.build()):w=_.build();let I=document.createElement("span");I.setAttribute(sx,String(t)),I.setAttribute(TM,""),I.setAttribute("role","listitem"),I.tabIndex=0,I.className="sticky-line-content",I.classList.add(`stickyLine${i}`),I.style.lineHeight=`${g}px`,I.innerHTML=w;let b=document.createElement("span");b.setAttribute(sx,String(t)),b.setAttribute(yA,""),b.className="sticky-line-number",b.style.lineHeight=`${g}px`;let y=a.contentLeft;b.style.width=`${y}px`;let E=document.createElement("span");c.renderType===1||c.renderType===3&&i%10===0?E.innerText=i.toString():c.renderType===2&&(E.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),E.className="sticky-line-number-inner",E.style.width=`${a.lineNumbersWidth}px`,E.style.paddingLeft=`${a.lineNumbersLeft}px`,b.appendChild(E);let N=this._renderFoldingIconForLine(s,i);N&&(b.appendChild(N.domNode),N.domNode.style.left=`${a.lineNumbersWidth+a.lineNumbersLeft}px`,N.domNode.style.lineHeight=`${g}px`),this._editor.applyFontInfo(I),this._editor.applyFontInfo(b),b.style.lineHeight=`${g}px`,I.style.lineHeight=`${g}px`,b.style.height=`${g}px`,I.style.height=`${g}px`;let A=new ax(t,i,I,b,N,v.characterMapping,I.scrollWidth,g);return this._updatePosition(A,o,n)}_updatePosition(e,t,i){let o=e.lineDomNode,n=e.lineNumberDomNode;if(i){o.style.zIndex="0",n.style.zIndex="0";let a=`${t+this._lastLineRelativePosition+(e.foldingIcon?.isCollapsed?1:0)}px`;o.style.top=a,n.style.top=a}else o.style.zIndex="1",n.style.zIndex="1",o.style.top=`${t}px`,n.style.top=`${t}px`;return e}_renderFoldingIconForLine(e,t){let i=this._editor.getOption(126);if(!e||i==="never")return;let o=e.regions,n=o.findRange(t),s=o.getStartLineNumber(n);if(!(t===s))return;let d=o.isCollapsed(n),l=new dx(d,s,o.getEndLineNumber(n),this._lineHeight);return l.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),l.domNode.setAttribute(NM,""),l}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;let t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;let i=ZE(t.characterMapping,e,0);return new P(t.lineNumber,i)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){let t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){let t=this._getAttributeValue(e,sx);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,TM)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,NM)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}},ax=class{constructor(e,t,i,o,n,s,a,d){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=o,this.foldingIcon=n,this.characterMapping=s,this.scrollWidth=a,this.height=d}},dx=class{constructor(e,t,i,o){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=o,this.domNode=document.createElement("div"),this.domNode.style.width="26px",this.domNode.style.height=`${o}px`,this.domNode.style.lineHeight=`${o}px`,this.domNode.className=ne.asClassName(e?Lc:Ic)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}};var Bn=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},Us=class{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}},hh=class{constructor(e,t,i,o){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=o}};var Bf=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gh=function(r,e){return function(t,i){e(t,i,r)}},uh;(function(r){r.OUTLINE_MODEL="outlineModel",r.FOLDING_PROVIDER_MODEL="foldingProviderModel",r.INDENTATION_MODEL="indentationModel"})(uh||(uh={}));var Or;(function(r){r[r.VALID=0]="VALID",r[r.INVALID=1]="INVALID",r[r.CANCELED=2]="CANCELED"})(Or||(Or={}));var Ff=class extends L{constructor(e,t,i,o){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new vi(300)),this._updateOperation=this._register(new R),this._editor.getOption(131).defaultModel){case uh.OUTLINE_MODEL:this._modelProviders.push(new lx(this._editor,o));case uh.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new hx(this._editor,t,o));case uh.INDENTATION_MODEL:this._modelProviders.push(new cx(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let t of this._modelProviders){let{statusPromise:i,modelPromise:o}=t.computeStickyModel(e);this._modelPromise=o;let n=await i;if(this._modelPromise!==o)return null;switch(n){case Or.CANCELED:return this._updateOperation.clear(),null;case Or.VALID:return t.stickyModel}}return null}).catch(t=>(ae(t),null))}};Ff=Bf([gh(2,z),gh(3,O)],Ff);var Hf=class extends L{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Or.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=Oe(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Or.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Or.VALID):this._invalid()).then(void 0,i=>(ae(i),Or.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},lx=class extends Hf{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Tc.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){let{stickyOutlineElement:i,providerID:o}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),n=this._editor.getModel();return new hh(n.uri,n.getVersionId(),i,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ki.first(e.children.values())instanceof Mc){let a=ki.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",l=-1,c;for(let[h,u]of e.children.entries()){let g=this._findSumOfRangesOfGroup(u);g>l&&(c=u,l=g,d=u.id)}t=d,i=c.children}}else i=e.children;let o=[],n=Array.from(i.values()).sort((a,d)=>{let l=new Bn(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),c=new Bn(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(l,c)});for(let a of n)o.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Us(void 0,o,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){let i=[];for(let n of e.children.values())if(n.symbol.selectionRange.startLineNumber!==n.symbol.range.endLineNumber)if(n.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(n,n.symbol.selectionRange.startLineNumber));else for(let s of n.children.values())i.push(this._stickyModelFromOutlineElement(s,n.symbol.selectionRange.startLineNumber));i.sort((n,s)=>this._comparator(n.range,s.range));let o=new Bn(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Us(o,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(let i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof bd?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};lx=Bf([gh(1,O)],lx);var Wf=class extends Hf{constructor(e){super(e),this._foldingLimitReporter=this._register(new Rc(e))}createStickyModel(e,t){let i=this._fromFoldingRegions(t),o=this._editor.getModel();return new hh(o.uri,o.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,i=[],o=new Us(void 0,[],void 0);for(let n=0;n<t;n++){let s=e.getParentIndex(n),a;s!==-1?a=i[s]:a=o;let d=new Us(new Bn(e.getStartLineNumber(n),e.getEndLineNumber(n)+1),[],a);a.children.push(d),i.push(d)}return o}},cx=class extends Wf{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new Os(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};cx=Bf([gh(1,Ne)],cx);var hx=class extends Wf{constructor(e,t,i){super(e),this._languageFeaturesService=i,this.provider=this._register(new we),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(e,t)})),this._updateProvider(e,t)}_updateProvider(e,t){let i=rn.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());i.length!==0&&(this.provider.value=new As(e.getModel(),i,t,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider.value?.compute(e)??null}};hx=Bf([gh(2,O)],hx);var xA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},PM=function(r,e){return function(t,i){e(t,i,r)}},ux=class{constructor(e,t,i,o){this.startLineNumber=e,this.endLineNumber=t,this.top=i,this.height=o}},Vf=class extends L{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new H),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new R),this._updateSoon=this._register(new Le(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(131)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(131).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(he(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel()&&(this._stickyModelProvider=new Ff(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new Me,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,0,-1),this.filterHiddenRanges(t)}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,o,n,s){let a=this._editor.getModel();if(!a||t.children.length===0)return;let d=s,l=[];for(let u=0;u<t.children.length;u++){let g=t.children[u];g.range&&l.push(g.range.startLineNumber)}let c=this.updateIndex(nl(l,e.startLineNumber,(u,g)=>u-g)),h=this.updateIndex(nl(l,e.endLineNumber,(u,g)=>u-g));for(let u=c;u<=h;u++){let g=t.children[u];if(!g||!g.range)continue;let{startLineNumber:p,endLineNumber:f}=g.range;if(f>p+1&&e.startLineNumber<=f+1&&p-1<=e.endLineNumber&&p!==d&&a.isValidRange(new C(p,1,f,1))){d=p;let _=this._editor.getLineHeightForPosition(new P(p,1));i.push(new ux(p,f-1,n,_)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,o+1,n+_,p)}}}filterHiddenRanges(e){let t=this._editor._getViewModel()?.getHiddenAreas();return t?e.filter(i=>!t.some(o=>i.startLineNumber>=o.startLineNumber&&i.endLineNumber<=o.endLineNumber+1)):e}updateIndex(e){return e===-1?0:e<0?-e-2:e}};Vf=xA([PM(1,O),PM(2,Ne)],Vf);var IA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Fd=function(r,e){return function(t,i){e(t,i,r)}},gx,fi=class extends L{static{gx=this}static{this.ID="store.contrib.stickyScrollController"}constructor(e,t,i,o,n,s,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=o,this._contextKeyService=a,this._sessionStore=new R,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new H),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new Af(this._editor),this._stickyLineCandidateProvider=new Vf(this._editor,i,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Ad.Empty;let d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(c=>{c.changes.forEach(h=>{let u=h.lineNumber;this._widgetState.startLineNumbers.includes(u)&&this._renderStickyScroll(u)})})),this._register(this._editor.onDidChangeFont(c=>{c.changes.forEach(h=>{let u=h.lineNumber;this._widgetState.startLineNumbers.includes(u)&&this._renderStickyScroll(u)})})),this._register(this._editor.onDidChangeConfiguration(c=>{this._readConfigurationChange(c)})),this._register(te(d,fe.CONTEXT_MENU,async c=>{this._onContextMenu(tt(d),c)})),this._stickyScrollFocusedContextKey=S.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=S.stickyScrollVisible.bindTo(this._contextKeyService);let l=this._register(Ui(d));this._register(l.onDidBlur(c=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(l.onDidFocus(c=>{this.focus()})),this._registerMouseListeners(),this._register(te(d,fe.MOUSE_DOWN,c=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(c=>{this._onDidChangeStickyScrollHeight.fire(c)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(e){return e.getContribution(gx.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}isFocused(){return this._focused}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new R,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(C.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new R),t=this._register(new nn(this._editor,{extractLineNumberFromMouseEvent:n=>{let s=this._stickyScrollWidget.getEditorPositionFromNode(n.target.element);return s?s.lineNumber:0}})),i=n=>{if(!this._editor.hasModel()||n.target.type!==12||n.target.detail!==this._stickyScrollWidget.getId())return null;let s=n.target.element;if(!s||s.innerText!==s.innerHTML)return null;let a=this._stickyScrollWidget.getEditorPositionFromNode(s);return a?{range:new C(a.lineNumber,a.column,a.lineNumber,a.column+s.innerText.length),textElement:s}:null},o=this._stickyScrollWidget.getDomNode();this._register(wi(o,fe.CLICK,n=>{if(n.ctrlKey||n.altKey||n.metaKey||!n.leftButton)return;if(n.shiftKey){let l=this._stickyScrollWidget.getLineIndexFromChildDomNode(n.target);if(l===null)return;let c=new P(this._endLineNumbers[l],1);this._revealLineInCenterIfOutsideViewport(c);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(n.target)){let l=this._stickyScrollWidget.getLineNumberFromChildDomNode(n.target);this._toggleFoldingRegionForLine(l);return}if(!this._stickyScrollWidget.isInStickyLine(n.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(n.target);if(!d){let l=this._stickyScrollWidget.getLineNumberFromChildDomNode(n.target);if(l===null)return;d=new P(l,1)}this._revealPosition(d)})),this._register(te(ea,fe.MOUSE_MOVE,n=>{this._mouseTarget=n.target,this._onMouseMoveOrKeyDown(n)})),this._register(te(ea,fe.KEY_DOWN,n=>{this._onMouseMoveOrKeyDown(n)})),this._register(te(ea,fe.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([n,s])=>{let a=i(n);if(!a||!n.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}let{range:d,textElement:l}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(l.style.textDecoration==="underline")return;let c=new Me;e.add(he(()=>c.dispose(!0)));let h;yr(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new P(d.startLineNumber,d.startColumn+1),!1,c.token).then((u=>{if(!c.token.isCancellationRequested)if(u.length!==0){this._candidateDefinitionsLength=u.length;let g=l;h!==g?(e.clear(),h=g,h.style.textDecoration="underline",e.add(he(()=>{h.style.textDecoration="none"}))):h||(h=g,h.style.textDecoration="underline",e.add(he(()=>{h.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async n=>{if(n.target.type!==12||n.target.detail!==this._stickyScrollWidget.getId())return;let s=this._stickyScrollWidget.getEditorPositionFromNode(n.target.element);s&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:s.lineNumber,column:1})),this._instaService.invokeFunction(dp,n,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){let i=new Qi(e,t);this._contextMenuService.showContextMenu({menuId:j.StickyScrollContext,getAnchor:()=>i})}_onMouseMoveOrKeyDown(e){if(!e.shiftKey||!this._mouseTarget||!ha(this._mouseTarget))return;let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);t===null||this._showEndForLine===t||(this._showEndForLine=t,this._renderStickyScroll())}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;let t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t?.foldingIcon;if(!i)return;xc(this._foldingModel,1,[e]),i.isCollapsed=!i.isCollapsed;let o=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(75)*t.index+1;this._editor.setScrollTop(o),this._renderStickyScroll(e)}_readConfiguration(){let e=this._editor.getOption(131);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(76).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(131)||e.hasChanged(81)||e.hasChanged(75)||e.hasChanged(126)||e.hasChanged(76))&&this._readConfiguration(),(e.hasChanged(76)||e.hasChanged(52)||e.hasChanged(126))&&this._renderStickyScroll(0)}_needsUpdate(e){let t=this._stickyScrollWidget.getCurrentLines();for(let i of t)for(let o of e.ranges)if(i>=o.fromLineNumber&&i<=o.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){let t=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(t*.25),this._renderStickyScroll(0)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}let i=this._updateAndGetMinRebuildFromLine(e),o=this._stickyLineCandidateProvider.getVersionId();if(o===void 0||o===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let s=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(s)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){let t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await rn.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();let t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=Ad.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let e=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),t=this._editor.getScrollTop(),i=0,o=[],n=[],s=this._editor.getVisibleRanges();if(s.length!==0){let a=new Bn(s[0].startLineNumber,s[s.length-1].endLineNumber),d=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(let l of d){let c=l.startLineNumber,h=l.endLineNumber,u=l.top,g=u+l.height,p=this._editor.getTopForLineNumber(c)-t,f=this._editor.getBottomForLineNumber(h)-t;if(u>p&&u<=f&&(o.push(c),n.push(h+1),g>f&&(i=f-g)),o.length===e)break}}return this._endLineNumbers=n,new Ad(o,n,i,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};fi=gx=IA([Fd(1,zo),Fd(2,O),Fd(3,z),Fd(4,Ne),Fd(5,bt),Fd(6,Y)],fi);var Fr=W("inlineEdit.originalBackground",Qe(ir,.2),m(1220,"Background color for the original text in inline edits."),!0),zf=W("inlineEdit.modifiedBackground",Qe(os,.3),m(1221,"Background color for the modified text in inline edits."),!0);W("inlineEdit.originalChangedLineBackground",Qe(ir,.8),m(1222,"Background color for the changed lines in the original text of inline edits."),!0);var OM=W("inlineEdit.originalChangedTextBackground",Qe(ir,.8),m(1223,"Overlay color for the changed text in the original text of inline edits."),!0),AM=W("inlineEdit.modifiedChangedLineBackground",{light:Qe(fl,.7),dark:Qe(fl,.7),hcDark:fl,hcLight:fl},m(1224,"Background color for the changed lines in the modified text of inline edits."),!0),FM=W("inlineEdit.modifiedChangedTextBackground",Qe(os,.7),m(1225,"Overlay color for the changed text in the modified text of inline edits."),!0),HM=W("inlineEdit.gutterIndicator.primaryForeground",gb,m(1226,"Foreground color for the primary inline edit gutter indicator.")),Ar=W("inlineEdit.gutterIndicator.primaryBorder",mb,m(1227,"Border color for the primary inline edit gutter indicator.")),Uf=W("inlineEdit.gutterIndicator.primaryBackground",{light:Qe(Ar,.5),dark:Qe(Ar,.4),hcDark:Qe(Ar,.4),hcLight:Qe(Ar,.5)},m(1228,"Background color for the primary inline edit gutter indicator.")),WM=W("inlineEdit.gutterIndicator.secondaryForeground",UE,m(1229,"Foreground color for the secondary inline edit gutter indicator.")),px=W("inlineEdit.gutterIndicator.secondaryBorder",jE,m(1230,"Border color for the secondary inline edit gutter indicator.")),jf=W("inlineEdit.gutterIndicator.secondaryBackground",px,m(1231,"Background color for the secondary inline edit gutter indicator.")),BM=W("inlineEdit.gutterIndicator.successfulForeground",gb,m(1232,"Foreground color for the successful inline edit gutter indicator.")),fx=W("inlineEdit.gutterIndicator.successfulBorder",mb,m(1233,"Border color for the successful inline edit gutter indicator.")),Kf=W("inlineEdit.gutterIndicator.successfulBackground",fx,m(1234,"Background color for the successful inline edit gutter indicator.")),VM=W("inlineEdit.gutterIndicator.background",{hcDark:Qe("tab.inactiveBackground",.5),hcLight:Qe("tab.inactiveBackground",.5),dark:Qe("tab.inactiveBackground",.5),light:"#5f5f5f18"},m(1235,"Background color for the inline edit gutter indicator.")),mh=W("inlineEdit.originalBorder",{light:ir,dark:ir,hcDark:ir,hcLight:ir},m(1236,"Border color for the original text in inline edits.")),ph=W("inlineEdit.modifiedBorder",{light:Fo(os,.6),dark:os,hcDark:os,hcLight:os},m(1237,"Border color for the modified text in inline edits.")),LA=W("inlineEdit.tabWillAcceptModifiedBorder",{light:Fo(ph,0),dark:Fo(ph,0),hcDark:Fo(ph,0),hcLight:Fo(ph,0)},m(1238,"Modified border color for the inline edits widget when tab will accept it.")),DA=W("inlineEdit.tabWillAcceptOriginalBorder",{light:Fo(mh,0),dark:Fo(mh,0),hcDark:Fo(mh,0),hcLight:Fo(mh,0)},m(1239,"Original border color for the inline edits widget over the original text when tab will accept it."));function Vn(r){return r.map(e=>e===ct.Accept?LA:ph)}function Hr(r){return r.map(e=>e===ct.Accept?DA:mh)}function ii(r,e){let t;typeof r=="string"?t=mx(r,e):t=r.map((o,n)=>mx(o,e).read(n));let i=mx(ft,e);return t.map((o,n)=>o.makeOpaque(i.read(n)))}function mx(r,e){return kD({owner:{observeColor:r},equalsFn:(t,i)=>t.equals(i),debugName:()=>`observeColor(${r})`},e.onDidColorThemeChange,()=>{let t=e.getColorTheme().getColor(r);if(!t)throw new et(`Missing color: ${r}`);return t})}function Ro(r,e,t){r.layoutInfo.read(t),r.value.read(t);let i=r.model.read(t);if(!i)return 0;let o=0;r.scrollTop.read(t);for(let s=e.startLineNumber;s<e.endLineNumberExclusive;s++){let a=i.getLineMaxColumn(s),d=r.editor.getOffsetForColumn(s,a);if(d===-1){let l=r.editor.getOption(59).typicalHalfwidthCharacterWidth;d=a*l}o=Math.max(o,d)}let n=e.mapToLineArray(s=>i.getLineContent(s));return o<5&&n.some(s=>s.length>0)&&i.uri.scheme!=="file"&&console.error("unexpected width"),o}function zM(r,e,t){return r.layoutInfo.read(t),r.value.read(t),r.model.read(t)?(r.scrollTop.read(t),r.editor.getOffsetForColumn(e.lineNumber,e.column)):0}function Hd(r,e,t,i,o=void 0){let n=i.getModel();if(!n)return{prefixTrim:0,prefixLeftOffset:0};let s=r.map(u=>u.isSingleLine()?u.startColumn-1:0),a=e.mapToLineArray(u=>yb(n.getLineContent(u))),d=t.filter(u=>u!=="").map(u=>yb(u)),l=Math.min(...s,...a,...d),c;if(n.getLineIndentColumn(e.startLineNumber)>=l+1)ye(i).scrollTop.read(o),c=i.getOffsetForColumn(e.startLineNumber,l+1);else if(t.length>0)c=fh(t[0].slice(0,l),i,n);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:l,prefixLeftOffset:c}}function fh(r,e,t){let i=e.getOption(59).typicalHalfwidthCharacterWidth,o=t.getOptions().tabSize*i,n=r.split(" ").length-1;return(r.length-n)*i+n*o}function Wd(r){let e=r.layoutInfoContentLeft,t=T({name:"editor.validOverlay.width"},o=>{let n=r.layoutInfoMinimap.read(o).minimapLeft!==0,s=r.layoutInfoWidth.read(o)-e.read(o);if(n){let a=r.layoutInfoMinimap.read(o).minimapWidth+r.layoutInfoVerticalScrollbarWidth.read(o);return s-a}return s}),i=T({name:"editor.validOverlay.height"},o=>r.layoutInfoHeight.read(o)+r.contentHeight.read(o));return T({name:"editor.validOverlay"},o=>qe.fromLeftTopWidthHeight(e.read(o),0,t.read(o),i.read(o)))}function UM(r,e){let t=[];for(let i of r){let o=e.mapRange(i.modifiedRange);t.push(new $u(i.originalRange,o))}return t}function qf(...r){return r.filter(e=>typeof e=="string").join(" ")}function EA(r,e){return new C(e.lineNumber,e.column+r.start,e.lineNumber,e.column+r.endExclusive)}function RA(r,e){let t=0;e:for(let i=0,o=r.length;i<o;i++)switch(r.charCodeAt(i)){case 9:t+=e;break;case 32:t++;break;default:break e}return t-t%e}function kA(r,e,t){let i=e-e%t,o=0;for(;o<r.length&&i!==0;o++)switch(r.charCodeAt(o)){case 9:i-=t;break;case 32:i--;break;default:throw new et("Unexpected character found while calculating indent length")}return o}function jM(r,e,t){let i=ri(r),o=[],n=o0(e.mapToLineArray(s=>RA(i[s-1],t)),vo);return e.forEach(s=>{let a=kA(i[s-1],n,t);o.push(new ot(EA(new Be(0,a),new P(s,1)),""))}),new Qt(o)}var js=class{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}build(){return this._data}};function _i(r){let e=ai(void 0,(t,i)=>r.read(t)||i);return zi({debugName:()=>`${r.debugName}.mapOutFalsy`},t=>{if(e.read(t),!!r.read(t))return e})}function Gt(r,e=su.ofCaller()){return{left:T({name:"editor.validOverlay.left"},t=>r(t).left,e),top:T({name:"editor.validOverlay.top"},t=>r(t).top,e),width:T({name:"editor.validOverlay.width"},t=>r(t).right-r(t).left,e),height:T({name:"editor.validOverlay.height"},t=>r(t).bottom-r(t).top,e)}}var MA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},_x=function(r,e){return function(t,i){e(t,i,r)}},Gf=class{constructor(e,t,i,o,n,s){this._model=e,this._close=t,this._editorObs=i,this._contextKeyService=o,this._keybindingService=n,this._commandService=s,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(a=>a.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let e=xe("active",void 0),t=u=>({title:u.title,icon:u.icon,keybinding:typeof u.commandId=="string"?this._getKeybinding(u.commandArgs?void 0:u.commandId):T(this,g=>typeof u.commandId=="string"?void 0:this._getKeybinding(u.commandArgs?void 0:u.commandId.read(g)).read(g)),isActive:e.map(g=>g===u.id),onHoverChange:g=>e.set(g?u.id:void 0,void 0),onAction:()=>(this._close(!0),this._commandService.executeCommand(typeof u.commandId=="string"?u.commandId:u.commandId.get(),...u.commandArgs??[]))}),i=NA(this._model.displayName),o=Ks(t({id:"gotoAndAccept",title:`${m(1212,"Go To")} / ${m(1213,"Accept")}`,icon:U.check,commandId:Ir})),n=Ks(t({id:"reject",title:m(1214,"Reject"),icon:U.close,commandId:Rm})),s=this._model.extensionCommands.map((u,g)=>Ks(t({id:u.command.id+"_"+g,title:u.command.title,icon:u.icon??U.symbolEvent,commandId:u.command.id,commandArgs:u.command.arguments}))),a=this._inlineEditsShowCollapsed.map(u=>Ks(t(u?{id:"showExpanded",title:m(1215,"Show Expanded"),icon:U.expandAll,commandId:Ql}:{id:"showCollapsed",title:m(1216,"Show Collapsed"),icon:U.collapseAll,commandId:Ql}))),d=Ks(t({id:"snooze",title:m(1217,"Snooze"),icon:U.bellSlash,commandId:"editor.action.inlineSuggest.snooze"})),l=Ks(t({id:"settings",title:m(1218,"Settings"),icon:U.gear,commandId:"workbench.action.openSettings",commandArgs:["@tag:nextEditSuggestions"]})),c=this._model.action?[this._model.action]:[],h=c.length>0?PA(c.map(u=>({id:u.id,label:u.title+"...",enabled:!0,run:()=>this._commandService.executeCommand(u.id,...u.arguments??[]),class:void 0,tooltip:u.tooltip??u.title})),{hoverDelegate:rR}):void 0;return TA([i,o,n,a,s.length?KM():void 0,d,l,...s,h?KM():void 0,h])}_getKeybinding(e){return e?dt(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e)):be(void 0)}};Gf=MA([_x(3,Y),_x(4,ce),_x(5,De)],Gf);function TA(r){return Z.div({class:"content",style:{margin:4,minWidth:180}},r)}function NA(r){return Z.div({class:"header",style:{color:de(sb),fontSize:"13px",fontWeight:"600",padding:"0 4px",lineHeight:28}},[r])}function Ks(r){return T({name:"inlineEdits.option"},e=>Z.div({class:["monaco-menu-option",r.isActive?.map(t=>t&&"active")],onmouseenter:()=>r.onHoverChange?.(!0),onmouseleave:()=>r.onHoverChange?.(!1),onclick:r.onAction,onkeydown:t=>{t.key==="Enter"&&r.onAction?.()},tabIndex:0,style:{borderRadius:3}},[Z.elem("span",{style:{fontSize:16,display:"flex"}},[ne.isThemeIcon(r.icon)?wn(r.icon):r.icon.map(t=>wn(t))]),Z.elem("span",{},[r.title]),Z.div({style:{marginLeft:"auto"},ref:t=>{let i=e.store.add(new Na(t,oa,{disableTitle:!0,...Z0,keybindingLabelShadow:void 0,keybindingLabelForeground:de(sb),keybindingLabelBackground:"transparent",keybindingLabelBorder:"transparent",keybindingLabelBottomBorder:void 0}));e.store.add(ue(o=>{i.set(r.keybinding.read(o))}))}})]))}function PA(r,e){return T({name:"inlineEdits.actionBar"},t=>Z.div({class:["action-widget-action-bar"],style:{padding:"3px 24px"}},[Z.div({ref:i=>{t.store.add(new yo(i,e)).push(r,{icon:!1,label:!0})}})]))}function KM(){return Z.div({id:"inline-edit-gutter-indicator-menu-separator",class:"menu-separator",style:{color:de(qE),padding:"2px 0"}},Z.div({style:{borderBottom:`1px solid ${de(Lu)}`}}))}var OA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$f=function(r,e){return function(t,i){e(t,i,r)}},Zf=class extends L{get model(){let e=this._model.get();if(!e)throw new et("Inline Edit Model not available");return e}constructor(e,t,i,o,n,s,a,d,l,c){super(),this._editorObs=e,this._originalRange=t,this._verticalOffset=i,this._model=o,this._isHoveringOverInlineEdit=n,this._focusIsInMenu=s,this._hoverService=a,this._instantiationService=d,this._accessibilityService=l,this._tabAction=T(this,h=>{let u=this._model.read(h);return u?u.tabAction.read(h):ct.Inactive}),this._hoverVisible=xe(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=xe(this,!1),this._isHoveredOverIconDebounced=Xv(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._isHoveredOverInlineEditDebounced=Xv(this._isHoveringOverInlineEdit,100),this._gutterIndicatorStyles=this._tabAction.map(this,(h,u)=>{switch(h){case ct.Inactive:return{background:ii(jf,c).read(u).toString(),foreground:ii(WM,c).read(u).toString(),border:ii(px,c).read(u).toString()};case ct.Jump:return{background:ii(Uf,c).read(u).toString(),foreground:ii(HM,c).read(u).toString(),border:ii(Ar,c).read(u).toString()};case ct.Accept:return{background:ii(Kf,c).read(u).toString(),foreground:ii(BM,c).read(u).toString(),border:ii(fx,c).read(u).toString()};default:$h()}}),this._originalRangeObs=_i(this._originalRange),this._state=T(this,h=>{let u=this._originalRangeObs.read(h);if(u)return{range:u,lineOffsetRange:this._editorObs.observeLineOffsetRange(u,h.store)}}),this._stickyScrollController=fi.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?dt(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):be(0),this._lineNumberToRender=T(this,h=>{if(this._verticalOffset.read(h)!==0)return"";let u=this._originalRange.read(h)?.startLineNumber,g=this._editorObs.getOption(76).read(h);if(u===void 0||g.renderType===0)return"";if(g.renderType===3){let p=this._editorObs.cursorPosition.read(h);return u%10===0||p&&p.lineNumber===u?u.toString():""}if(g.renderType===2){let p=this._editorObs.cursorPosition.read(h);if(!p)return"";let f=Math.abs(u-p.lineNumber);return f===0?u.toString():f.toString()}return g.renderType===4?g.renderFn?g.renderFn(u):"":u.toString()}),this._availableWidthForIcon=T(this,h=>{let u=this._editorObs.editor.getModel(),g=this._editorObs.editor,p=this._editorObs.layoutInfo.read(h),f=p.decorationsLeft+p.decorationsWidth-p.glyphMarginLeft;if(!u||f<=0)return()=>0;if(p.lineNumbersLeft===0)return()=>f;let _=this._editorObs.getOption(76).read(h);if(_.renderType===2||_.renderType===0)return()=>f;let v=g.getOption(59).typicalHalfwidthCharacterWidth,w=p.lineNumbersLeft+p.lineNumbersWidth,b=(u.getLineCount()+1).toString().length,y=[];for(let E=1;E<=b;E++){let N=10**(E-1),A=g.getTopForLineNumber(N),V=E*v,ee=Math.min(f,Math.max(0,w-V-p.glyphMarginLeft));y.push({firstLineNumberWithDigitCount:N,topOfLineNumber:A,usableWidthLeftOfLineNumber:ee})}return E=>{for(let N=y.length-1;N>=0;N--)if(E>=y[N].topOfLineNumber)return y[N].usableWidthLeftOfLineNumber;throw new et("Could not find avilable width for icon")}}),this._layout=T(this,h=>{let u=this._state.read(h);if(!u)return;let g=this._editorObs.layoutInfo.read(h),p=this._editorObs.observeLineHeightForLine(u.range.map(rt=>rt.startLineNumber)).read(h),f=2,_=g.decorationsLeft+g.decorationsWidth-g.glyphMarginLeft-2*f,v=g.height-2*f,w=qe.fromLeftTopWidthHeight(f,f,_,v),I=w.withTop(this._stickyScrollHeight.read(h)),b=w.withTop(I.top+f),y=u.lineOffsetRange.read(h),E=qe.fromRanges(Be.fromTo(b.left,b.right),y),N=p,A=this._verticalOffset.read(h),V=E.withHeight(N).translateY(A),ee=I.containsRect(V),$=this._tabAction.map(rt=>rt===ct.Accept?U.keyboardTab:U.arrowRight),Pe=T(this,rt=>{if(this._isHoveredOverIconDebounced.read(rt)||this._isHoveredOverInlineEditDebounced.read(rt))return U.check;if(this._tabAction.read(rt)===ct.Accept)return U.keyboardTab;let Bi=this._editorObs.cursorLineNumber.read(rt)??0,Js=u.range.read(rt).startLineNumber;return Bi<=Js?U.keyboardTabAbove:U.keyboardTabBelow}),He=22,Je=16,It=rt=>{let Bi=this._availableWidthForIcon.read(void 0)(rt.bottom+this._editorObs.editor.getScrollTop())-f;return Math.max(Math.min(Bi,He),Je)};if(ee){let rt=V,Bi;g.lineNumbersWidth===0?Bi=Math.min(Math.max(g.lineNumbersLeft-w.left,0),rt.width-He):Bi=Math.max(g.lineNumbersLeft+g.lineNumbersWidth-w.left,0);let Js=rt.withWidth(Bi),Hv=Math.max(Math.min(g.decorationsWidth,He),Je),Gh=rt.withWidth(Hv).translateX(Bi);return{gutterEditArea:E,icon:Pe,iconDirection:"right",iconRect:Gh,pillRect:rt,lineNumberRect:Js}}let $e=w.intersect(E);if($e&&$e.height>=N){let rt=V.moveToBeContainedIn(b).moveToBeContainedIn($e),Bi=rt.withWidth(It(rt));return{gutterEditArea:E,icon:Pe,iconDirection:"right",iconRect:Bi,pillRect:Bi}}let We=V.moveToBeContainedIn(w),Ht=We.withWidth(It(We)),Ei=Ht,Xi=Ht.top<V.top?"top":"bottom";return{gutterEditArea:E,icon:$,iconDirection:Xi,iconRect:Ei,pillRect:Ht}}),this._iconRef=Z.ref(),this.isVisible=this._layout.map(h=>!!h),this._indicator=Z.div({class:"inline-edits-view-gutter-indicator",onclick:()=>{let u=this._layout.get()?.icon.get()===U.check;this._editorObs.editor.focus(),u?this.model.accept():this.model.jump()},tabIndex:0,style:{position:"absolute",overflow:"visible"}},_i(this._layout).map(h=>h?[Z.div({style:{position:"absolute",background:de(VM),borderRadius:"4px",...Gt(u=>h.read(u).gutterEditArea)}}),Z.div({class:"icon",ref:this._iconRef,onmouseenter:()=>{this._showHover()},style:{cursor:"pointer",zIndex:"20",position:"absolute",backgroundColor:this._gutterIndicatorStyles.map(u=>u.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(u=>u.foreground),border:this._gutterIndicatorStyles.map(u=>`1px solid ${u.border}`),boxSizing:"border-box",borderRadius:"4px",display:"flex",justifyContent:"flex-end",transition:"background-color 0.2s ease-in-out, width 0.2s ease-in-out",...Gt(u=>h.read(u).pillRect)}},[Z.div({className:"line-number",style:{lineHeight:h.map(u=>u.lineNumberRect?u.lineNumberRect.height:0),display:h.map(u=>u.lineNumberRect?"flex":"none"),alignItems:"center",justifyContent:"flex-end",width:h.map(u=>u.lineNumberRect?u.lineNumberRect.width:0),height:"100%",color:this._gutterIndicatorStyles.map(u=>u.foreground)}},this._lineNumberToRender),Z.div({style:{rotate:h.map(u=>`${AA(u.iconDirection)}deg`),transition:"rotate 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center",height:"100%",marginRight:h.map(u=>u.pillRect.width-u.iconRect.width-(u.lineNumberRect?.width??0)),width:h.map(u=>u.iconRect.width)}},[h.map((u,g)=>wn(u.icon.read(g)))])])]:[])).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._indicator.element,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:be(0)})),this._register(this._editorObs.editor.onMouseMove(h=>{if(this._state.get()===void 0)return;let p=this._iconRef.element.getBoundingClientRect(),f=qe.fromLeftTopWidthHeight(p.left,p.top,p.width,p.height),_=new Kt(h.event.posx,h.event.posy);this._isHoveredOverIcon.set(f.containsPoint(_),void 0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(lr(this._isHoveredOverInlineEditDebounced,h=>{h&&this.triggerAnimation()})),this._register(ue(h=>{this._indicator.readEffect(h),this._indicator.element&&this._editorObs.editor.applyFontInfo(this._indicator.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(t=>t.border).get()}`,outlineOffset:"-1px",offset:0},{outline:"2px solid transparent",outlineOffset:"10px",offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let e=new R,t=e.add(this._instantiationService.createInstance(Gf,this.model,n=>{n&&this._editorObs.editor.focus(),o?.dispose()},this._editorObs).toDisposableLiveElement()),i=e.add(Ui(t.element));e.add(i.onDidBlur(()=>this._focusIsInMenu.set(!1,void 0))),e.add(i.onDidFocus(()=>this._focusIsInMenu.set(!0,void 0))),e.add(he(()=>this._focusIsInMenu.set(!1,void 0)));let o=this._hoverService.showInstantHover({target:this._iconRef.element,content:t.element});o?(this._hoverVisible.set(!0,void 0),e.add(this._editorObs.editor.onDidScrollChange(()=>o.dispose())),e.add(o.onDispose(()=>{this._hoverVisible.set(!1,void 0),e.dispose()}))):e.dispose()}};Zf=OA([$f(6,wt),$f(7,z),$f(8,Mi),$f(9,je)],Zf);function AA(r){switch(r){case"top":return 90;case"bottom":return-90;case"right":return 0}}var FA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qM=function(r,e){return function(t,i){e(t,i,r)}},Hi;(function(r){r.FirstTime="firstTime",r.SecondTime="secondTime",r.Active="active"})(Hi||(Hi={}));var Yf=class extends L{constructor(e,t,i,o,n,s){super(),this._host=e,this._model=t,this._indicator=i,this._collapsedView=o,this._storageService=n,this._configurationService=s,this._disposables=this._register(new we),this._setupDone=xe({name:"setupDone"},!1),this._activeCompletionId=T(a=>{let d=this._model.read(a);if(!d||!this._setupDone.read(a))return;let l=this._indicator.read(a);if(!(!l||!l.isVisible.read(a)))return d.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===Hi.Active)return;let e=new R,t=!1,i=!1,o=0,n=0;return e.add(p0(this._activeCompletionId,async(s,a,d,l)=>{if(s===void 0)return;let c=this.getNewUserType();switch(c){case Hi.FirstTime:{(o++>=5||t)&&(c=Hi.SecondTime,this.setNewUserType(c));break}case Hi.SecondTime:{n++>=3&&i&&(c=Hi.Active,this.setNewUserType(c));break}}switch(c){case Hi.FirstTime:{for(let h=0;h<3&&!l.isCancellationRequested;h++)await this._indicator.get()?.triggerAnimation(),await Yn(500);break}case Hi.SecondTime:{this._indicator.get()?.triggerAnimation();break}}})),e.add(ue(s=>{this._collapsedView.isVisible.read(s)&&this.getNewUserType()!==Hi.Active&&this._collapsedView.triggerAnimation()})),e.add(bi((s,a)=>{let d=this._indicator.read(s);d&&a.add(lr(d.isHoveredOverIcon,async l=>{l&&(t=!0)}))})),e.add(bi((s,a)=>{let d=this._host.read(s);d&&a.add(d.onDidAccept(()=>{i=!0}))})),e}getNewUserType(){return this._storageService.get("inlineEditsGutterIndicatorUserKind",-1,Hi.FirstTime)}setNewUserType(e){switch(e){case Hi.FirstTime:throw new et("UserKind should not be set to first time");case Hi.SecondTime:break;case Hi.Active:this._disposables.clear();break}this._storageService.store("inlineEditsGutterIndicatorUserKind",e,-1,0)}_initializeDebugSetting(){let e="editor.inlineSuggest.edits.resetNewUserExperience";return this._configurationService.getValue(e)&&this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._configurationService.onDidChangeConfiguration(i=>{i.affectsConfiguration(e)&&this._configurationService.getValue(e)&&(this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._disposables.value=this.setupNewUserExperience())})}};Yf=FA([qM(4,vt),qM(5,oe)],Yf);var HA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},WA=function(r,e){return function(t,i){e(t,i,r)}},Xf=class extends L{constructor(e,t,i){super(),this._editor=e,this._edit=t,this._accessibilityService=i,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._iconRef=Z.ref(),this.isHovered=be(!1),this._editorObs=ye(this._editor);let n=this._edit.map(l=>l?.edit.replacements[0]??null).map(l=>l?Fi(l,this._editor.getModel()).range.getStartPosition():null),s=this._editorObs.observePosition(n,this._store),a=T(l=>{let c=s.read(l);if(!c)return null;let h=this._editorObs.layoutInfoContentLeft.read(l),u=this._editorObs.scrollLeft.read(l);return new Kt(h+c.x-u,c.y)}),d=Z.div({class:"inline-edits-collapsed-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[[this.getCollapsedIndicator(a)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:d,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:be(0)})),this.isVisible=this._edit.map((l,c)=>!!l&&a.read(c)!==null)}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{offset:0,transform:"translateY(-3px)"},{offset:.2,transform:"translateY(1px)"},{offset:.36,transform:"translateY(-1px)"},{offset:.52,transform:"translateY(1px)"},{offset:.68,transform:"translateY(-1px)"},{offset:.84,transform:"translateY(1px)"},{offset:1,transform:"translateY(0px)"}],{duration:2e3}).finished}getCollapsedIndicator(e){let t=this._editorObs.layoutInfoContentLeft,i=e.map((n,s)=>n?n.deltaX(-t.read(s)):null),o=this.createIconPath(i);return Z.svg({class:"collapsedView",ref:this._iconRef,style:{position:"absolute",...Gt(n=>Wd(this._editorObs).read(n)),overflow:"hidden",pointerEvents:"none"}},[Z.svgElem("path",{class:"collapsedViewPath",d:o,fill:de(Ar)})])}createIconPath(e){return e.map(n=>{if(!n)return new js().build();let s=n.deltaX(-6/2).deltaY(-1),a=s.deltaX(6),d=s.deltaY(1),l=a.deltaY(1),c=d.deltaX(6/2).deltaY(3);return new js().moveTo(s).lineTo(a).lineTo(l).lineTo(c).lineTo(d).lineTo(s).build()})}};Xf=HA([WA(2,Mi)],Xf);var BA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},GM=function(r,e){return function(t,i){e(t,i,r)}},Qf=14,vx=0,zn=4,Jf=4,$M=2,e_=class extends L{constructor(e,t,i,o,n){super(),this._editor=e,this._languageService=n,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._isHovered=xe(this,!1),this.isHovered=this._isHovered,this._viewRef=Z.ref(),this._editorObs=ye(this._editor);let s=i.map((c,h)=>{let u;switch(c){case ct.Inactive:u=jf;break;case ct.Jump:u=Uf;break;case ct.Accept:u=Kf;break}return{border:ii(u,o).read(h).toString(),background:de(ft)}}),a=t.map(c=>c?this.getState(c):void 0),d=a.map(c=>c?this.getRendering(c,s):void 0);this.minEditorScrollHeight=T(this,c=>{let h=a.read(c);return h?h.rect.read(c).bottom+this._editor.getScrollTop():0});let l=Z.div({class:"inline-edits-custom-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[d]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:l.element,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:ai(this,(c,h)=>{let u=a.read(c);if(!u)return h??0;let g=u.rect.map(p=>p.right).read(c)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(c)+zn-this._editorObs.layoutInfoContentLeft.read(c);return Math.max(h??0,g)}).recomputeInitiallyAndOnChange(this._store)})),this._register(ue(c=>{if(!d.read(c)){this._isHovered.set(!1,void 0);return}this._isHovered.set(l.isHovered.read(c),void 0)}))}fitsInsideViewport(e,t,i){let o=this._editorObs.layoutInfoWidth.read(i),n=this._editorObs.layoutInfoContentLeft.read(i),s=this._editor.getLayoutInfo().verticalScrollbarWidth,a=this._editorObs.layoutInfoMinimap.read(i).minimapLeft!==0?this._editorObs.layoutInfoMinimap.read(i).minimapWidth:0,d=Ro(this._editorObs,e,void 0),l=fh(t,this._editor,this._editor.getModel()),c=zn+Qf;return d+l+c<o-n-s-a}getState(e){let t=T(this,a=>{let d=e.range.startLineNumber,l=e.range.endLineNumber,c=e.range.startColumn,h=e.range.endColumn,u=this._editor.getModel()?.getLineCount()??0,g=Ro(this._editorObs,new Tt(d,d+1),a),p=d+1<=u?Ro(this._editorObs,new Tt(d+1,d+2),a):void 0,f=d-1>=1?Ro(this._editorObs,new Tt(d-1,d),a):void 0,_=this._editor.getOffsetForColumn(d,c),v=this._editor.getOffsetForColumn(l,h);return{lineWidth:g,lineWidthBelow:p,lineWidthAbove:f,startContentLeftOffset:_,endContentLeftOffset:v}}),i=e.range.startLineNumber,o=e.range.endLineNumber,n=this.fitsInsideViewport(new Tt(i,o+1),e.content,void 0);return{rect:T(this,a=>{let d=this._editorObs.getOption(59).read(a).typicalHalfwidthCharacterWidth,{lineWidth:l,lineWidthBelow:c,lineWidthAbove:h,startContentLeftOffset:u,endContentLeftOffset:g}=t.read(a),p=this._editorObs.layoutInfoContentLeft.read(a),f=this._editorObs.observeLineHeightForLine(i).recomputeInitiallyAndOnChange(a.store).read(a),_=this._editorObs.scrollTop.read(a),v=this._editorObs.scrollLeft.read(a),w;i===o&&g+5*d>=l&&n?w="end":c!==void 0&&c+Qf-Jf-zn<u?w="below":h!==void 0&&h+Qf-Jf-zn<u?w="above":w="end";let I,b,y=0,E=0;switch(w){case"end":{I=this._editorObs.editor.getTopForLineNumber(i),b=l,y=zn+Qf;break}case"below":{I=this._editorObs.editor.getTopForLineNumber(i+1),b=u,y=zn+Jf,E=vx+$M;break}case"above":{I=this._editorObs.editor.getTopForLineNumber(i-1),b=u,y=zn+Jf,E=-vx+$M;break}}return qe.fromLeftTopWidthHeight(p+b-v,I-_,d*e.content.length,f).withMargin(vx,zn).translateX(y).translateY(E)}),label:e.content,kind:e.style}}getRendering(e,t){let i=document.createElement("div"),o=this._editor.getModel().tokenization.tokenizeLinesAt(1,[e.label])?.[0],n;o&&e.kind===s0.Code?n=tr.fromLineTokens(o).toLineTokens(e.label,this._languageService.languageIdCodec):n=eo.createEmpty(e.label,this._languageService.languageIdCodec);let s=gr(new mr([n]),pr.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],i,!0);i.style.width=`${s.minWidthInPx}px`;let a=e.rect.map(d=>d.withMargin(0,zn));return Z.div({class:"collapsedView",ref:this._viewRef,style:{position:"absolute",...Gt(d=>a.read(d)),overflow:"hidden",boxSizing:"border-box",cursor:"pointer",border:t.map(d=>`1px solid ${d.border}`),borderRadius:"4px",backgroundColor:t.map(d=>d.background),display:"flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap"},onmousedown:d=>{d.preventDefault()},onclick:d=>{this._onDidClick.fire(new Qi(tt(d),d))}},[i])}};e_=BA([GM(3,je),GM(4,hi)],e_);var VA=0,zA=0,bx=1,UA=1,jA=3,Cx=4,t_=class extends L{constructor(e,t,i,o){super(),this._editor=e,this._edit=t,this._uiState=i,this._tabAction=o,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._display=T(this,a=>this._uiState.read(a)?"block":"none"),this._editorMaxContentWidthInRange=T(this,a=>{let d=this._originalDisplayRange.read(a);return d?(this._editorObs.versionId.read(a),ai(this,(l,c)=>{let h=Ro(this._editorObs,d,l);return Math.max(h,c??0)})):be(0)}).map((a,d)=>a.read(d)),this._maxPrefixTrim=T(this,a=>{let d=this._uiState.read(a);return d?Hd(d.deletions,d.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=T(this,a=>{let d=this._edit.read(a);if(!d||!this._uiState.read(a))return null;let c=this._editorObs.layoutInfo.read(a),h=this._editorObs.scrollLeft.read(a),u=this._editorObs.getOption(59).map(I=>I.typicalHalfwidthCharacterWidth).read(a),g=c.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(a),u)-h,p=d.originalLineRange,f=this._originalVerticalStartPosition.read(a)??this._editor.getTopForLineNumber(p.startLineNumber)-this._editorObs.scrollTop.read(a),_=this._originalVerticalEndPosition.read(a)??this._editor.getTopForLineNumber(p.endLineNumberExclusive)-this._editorObs.scrollTop.read(a),v=c.contentLeft+this._maxPrefixTrim.read(a).prefixLeftOffset-h;return g<=v?null:{codeRect:qe.fromLeftTopRightBottom(v,f,g,_).withMargin(zA,VA),contentLeft:c.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=Z.div({style:{pointerEvents:"none"}},T(this,a=>{let d=_i(this._editorLayoutInfo).read(a);if(!d)return;let l=d.map(g=>qe.fromLeftTopRightBottom(g.contentLeft-Cx-bx,g.codeRect.top,g.contentLeft,g.codeRect.bottom)),c=T(this,g=>{let p=d.read(g).codeRect,f=l.read(g);return p.intersectHorizontal(new Be(f.left,Number.MAX_SAFE_INTEGER))}),h=this._uiState.map(g=>g?.inDiffEditor?jA:UA).read(a),u=c.map(g=>g.withMargin(h,h));return[Z.div({class:"originalSeparatorDeletion",style:{...u.read(a).toStyles(),borderRadius:`${Cx}px`,border:`${bx+h}px solid ${de(ft)}`,boxSizing:"border-box"}}),Z.div({class:"originalOverlayDeletion",style:{...c.read(a).toStyles(),borderRadius:`${Cx}px`,border:Hr(this._tabAction).map(g=>`${bx}px solid ${de(g)}`),boxSizing:"border-box",backgroundColor:de(Fr)}}),Z.div({class:"originalOverlayHiderDeletion",style:{...l.read(a).toStyles(),backgroundColor:de(ft)}})]})).keepUpdated(this._store),this._nonOverflowView=Z.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=be(!1),this._editorObs=ye(this._editor);let n=T(this,a=>{let d=this._edit.read(a);return d?new P(d.originalLineRange.startLineNumber,1):null}),s=T(this,a=>{let d=this._edit.read(a);return d?new P(d.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(a=>a?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(n,this._store).map(a=>a?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(s,this._store).map(a=>a?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:T(this,a=>{let d=this._editorLayoutInfo.read(a);return d===null?0:d.codeRect.width})}))}};var KA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ZM=function(r,e){return function(t,i){e(t,i,r)}},_h=1,qA=1,GA=3,Sx=4,i_=class extends L{constructor(e,t,i,o,n){super(),this._editor=e,this._input=t,this._tabAction=i,this._languageService=n,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._state=T(this,s=>{let a=this._input.read(s);if(!a)return;let d=this._editor.getModel(),l=d.getEOL();if(a.startColumn===1&&a.lineNumber>1&&d.getLineLength(a.lineNumber)!==0&&a.text.endsWith(l)&&!a.text.startsWith(l)){let c=d.getLineLength(a.lineNumber-1)+1;return{lineNumber:a.lineNumber-1,column:c,text:l+a.text.slice(0,-l.length)}}return{lineNumber:a.lineNumber,column:a.startColumn,text:a.text}}),this._trimVertically=T(this,s=>{let a=this._state.read(s),d=a?.text;if(!d||d.trim()==="")return{topOffset:0,bottomOffset:0,linesTop:0,linesBottom:0};let l=this._editor.getLineHeightForPosition(new P(a.lineNumber,1)),c=this._editor.getModel().getEOL(),h=0,u=0,g=0;for(;g<d.length&&d.startsWith(c,g);g+=c.length)h+=1;for(let p=d.length;p>g&&d.endsWith(c,p);p-=c.length)u+=1;return{topOffset:h*l,bottomOffset:u*l,linesTop:h,linesBottom:u}}),this._maxPrefixTrim=T(this,s=>{let a=this._state.read(s);if(!a)return{prefixLeftOffset:0,prefixTrim:0};let d=this._editor.getModel(),l=d.getEOL(),c=this._trimVertically.read(s),h=a.text.split(l),u=h.slice(c.linesTop,h.length-c.linesBottom);c.linesTop===0&&(u[0]=d.getLineContent(a.lineNumber)+u[0]);let g=new Tt(a.lineNumber,a.lineNumber+(c.linesTop>0?0:1));return Hd([],g,u,this._editor)}),this._ghostText=T(s=>{let a=this._state.read(s),d=this._maxPrefixTrim.read(s);if(!a)return;let c=this._editor.getModel().getEOL(),u=a.text.split(c).map((g,p)=>new zu(new C(p+1,p===0?1:d.prefixTrim+1,p+1,g.length+1),"modified-background",0));return new dn(a.lineNumber,[new Nr(a.column,a.text,!1,u)])}),this._display=T(this,s=>this._state.read(s)?"block":"none"),this._editorMaxContentWidthInRange=T(this,s=>{let a=this._state.read(s);if(!a)return 0;this._editorObs.versionId.read(s);let d=this._editor.getModel(),l=d.getEOL(),c=a.text.startsWith(l)?"":d.getValueInRange(new C(a.lineNumber,1,a.lineNumber,a.column)),h=d.getValueInRange(new C(a.lineNumber,a.column,a.lineNumber,d.getLineLength(a.lineNumber)+1)),g=(c+a.text+h).split(l),p=pr.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),f=g.map(_=>{let v=d.tokenization.tokenizeLinesAt(a.lineNumber,[_])?.[0],w;return v?w=tr.fromLineTokens(v).toLineTokens(_,this._languageService.languageIdCodec):w=eo.createEmpty(_,this._languageService.languageIdCodec),gr(new mr([w]),p,[],F("div"),!0).minWidthInPx});return Math.max(...f)}),this.startLineOffset=this._trimVertically.map(s=>s.topOffset),this.originalLines=this._state.map(s=>s?new Tt(s.lineNumber,Math.min(s.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=T(this,s=>{this._ghostText.read(s);let a=this._state.read(s);if(!a)return null;this._editorObs.observePosition(xe(this,new P(a.lineNumber,a.column)),s.store).read(s);let d=this._editorObs.layoutInfo.read(s),l=this._editorObs.scrollLeft.read(s),c=this._editorObs.layoutInfoVerticalScrollbarWidth.read(s),h=d.contentLeft+this._editorMaxContentWidthInRange.read(s)-l,u=this._maxPrefixTrim.read(s).prefixLeftOffset??0,g=d.contentLeft+u-l;if(h<=g)return null;let{topOffset:p,bottomOffset:f}=this._trimVertically.read(s),_=this._editorObs.scrollTop.read(s),v=this._ghostTextView.height.read(s)-p-f,w=this._editor.getTopForLineNumber(a.lineNumber)-_+p,I=w+v,b=new qe(g,w,h,I);return{overlay:b,startsAtContentLeft:u===0,contentLeft:d.contentLeft,minContentWidthRequired:u+b.width+c}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=Z.div({style:{pointerEvents:"none"}},T(this,s=>{let a=_i(this._overlayLayout).read(s);if(!a)return;let d=a.map(u=>qe.fromLeftTopRightBottom(u.contentLeft-Sx-_h,u.overlay.top,u.contentLeft,u.overlay.bottom)).read(s),l=this._input.map(u=>u?.inDiffEditor?GA:qA).read(s),c=a.map(u=>u.overlay.withMargin(0,_h,0,u.startsAtContentLeft?0:_h).intersectHorizontal(new Be(d.left,Number.MAX_SAFE_INTEGER))),h=c.map(u=>u.withMargin(l,l));return[Z.div({class:"originalUnderlayInsertion",style:{...h.read(s).toStyles(),borderRadius:Sx,border:`${_h+l}px solid ${de(ft)}`,boxSizing:"border-box"}}),Z.div({class:"originalOverlayInsertion",style:{...c.read(s).toStyles(),borderRadius:Sx,border:Vn(this._tabAction).map(u=>`${_h}px solid ${de(u)}`),boxSizing:"border-box",backgroundColor:de(zf)}}),Z.div({class:"originalOverlayHiderInsertion",style:{...d.toStyles(),backgroundColor:de(ft)}})]})).keepUpdated(this._store),this._view=Z.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=ye(this._editor),this._ghostTextView=this._register(o.createInstance(Pr,this._editor,{ghostText:this._ghostText,minReservedLineCount:be(0),targetTextModel:this._editorObs.model.map(s=>s??void 0),warning:be(void 0),handleInlineCompletionShown:be(()=>{})},xe(this,{syntaxHighlightingEnabled:!0,extraClasses:["inline-edit"]}),!0,!0)),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(s=>{this._onDidClick.fire(s)})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:T(this,s=>{let a=this._overlayLayout.read(s);return a===null?0:a.minContentWidthRequired})}))}};i_=KA([ZM(3,z),ZM(4,hi)],i_);var $A=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},YM=function(r,e){return function(t,i){e(t,i,r)}},o_=class extends L{constructor(e,t,i,o,n,s){super(),this._editor=e,this._edit=t,this._isInDiffEditor=i,this._tabAction=o,this._languageService=n,this._themeService=s,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((a,d)=>a?Hd(a.replacements.flatMap(l=>[l.originalRange,l.modifiedRange]),a.originalRange,a.modifiedLines,this._editor.editor,d):void 0),this._modifiedLineElements=T(this,a=>{let d=[],l=0,c=this._maxPrefixTrim.read(a),h=this._edit.read(a);if(!h||!c)return;let u=c.prefixTrim,g=ZA(h.replacements.map(_=>_.modifiedRange)).map(_=>new C(_.startLineNumber,_.startColumn-u,_.endLineNumber,_.endColumn-u)),p=this._editor.model.get(),f=h.modifiedRange.startLineNumber;for(let _=0;_<h.modifiedRange.length;_++){let v=document.createElement("div"),w=f+_,I=h.modifiedLines[_].slice(u),b=p.tokenization.tokenizeLinesAt(w,[I])?.[0],y;b?y=tr.fromLineTokens(b).toLineTokens(I,this._languageService.languageIdCodec):y=eo.createEmpty(I,this._languageService.languageIdCodec);let E=[];for(let A of g.filter(V=>V.startLineNumber===w)){let V=Math.min(A.endColumn,I.length+1);E.push(new zu(new C(1,A.startColumn,1,V),"inlineCompletions-modified-bubble",0))}let N=gr(new mr([y]),pr.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),E,v,!0);this._editor.getOption(59).read(a),l=Math.max(l,N.minWidthInPx),d.push(v)}return{lines:d,requiredWidth:l}}),this._layout=T(this,a=>{let d=this._modifiedLineElements.read(a),l=this._maxPrefixTrim.read(a),c=this._edit.read(a);if(!d||!l||!c)return;let{prefixLeftOffset:h}=l,{requiredWidth:u}=d,g=this._editor.observeLineHeightsForLineRange(c.originalRange).read(a),p=(()=>{let $e=g.slice(0,c.modifiedRange.length);for(;$e.length<c.modifiedRange.length;)$e.push(g[g.length-1]);return $e})(),f=this._editor.layoutInfoContentLeft.read(a),_=this._editor.layoutInfoVerticalScrollbarWidth.read(a),v=this._editor.scrollLeft.read(a),w=this._editor.scrollTop.read(a),I=f-v,b=this._editor.editor.getModel(),y=c.originalRange.mapToLineArray($e=>this._editor.editor.getOffsetForColumn($e,b.getLineMaxColumn($e))-h),E=Math.max(...y,u),N=c.originalRange.startLineNumber,A=c.originalRange.endLineNumberExclusive-1,V=this._editor.editor.getTopForLineNumber(N)-w,ee=this._editor.editor.getBottomForLineNumber(A)-w,$=qe.fromLeftTopWidthHeight(I+h,V,E,ee-V),Pe=qe.fromLeftTopWidthHeight($.left,$.bottom,$.width,p.reduce(($e,Re)=>$e+Re,0)),He=qe.hull([$,Pe]),Je=He.intersectVertical(new Be($.bottom,Number.MAX_SAFE_INTEGER)),It=new qe(Je.left,Je.top,Je.right,Je.bottom);return{originalLinesOverlay:$,modifiedLinesOverlay:Pe,background:He,lowerBackground:Je,lowerText:It,modifiedLineHeights:p,minContentWidthRequired:h+E+_}}),this._viewZoneInfo=T(a=>{if(!this._editor.getOption(71).map(g=>g.edits.allowCodeShifting==="always").read(a))return;let l=this._layout.read(a),c=this._edit.read(a);if(!l||!c)return;let h=l.lowerBackground.height,u=c.originalRange.endLineNumberExclusive;return{height:h,lineNumber:u}}),this.minEditorScrollHeight=T(this,a=>{let d=_i(this._layout).read(a);return!d||this._viewZoneInfo.read(a)!==void 0?0:d.read(a).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=Z.div({class:"line-replacement"},[T(this,a=>{let d=_i(this._layout).read(a),l=this._modifiedLineElements.read(a);if(!d||!l)return[];let c=d.read(a),h=this._editor.layoutInfoContentLeft.read(a),u=this._isInDiffEditor.read(a)?3:1;l.lines.forEach((f,_)=>{f.style.width=`${c.lowerText.width}px`,f.style.height=`${c.modifiedLineHeights[_]}px`,f.style.position="relative"});let g=Vn(this._tabAction).read(a),p=Hr(this._tabAction).read(a);return[Z.div({style:{position:"absolute",...Gt(f=>Wd(this._editor).read(f)),overflow:"hidden",pointerEvents:"none"}},[Z.div({class:"borderAroundLineReplacement",style:{position:"absolute",...Gt(f=>d.read(f).background.translateX(-h).withMargin(u)),borderRadius:"4px",border:`${u+1}px solid ${de(ft)}`,boxSizing:"border-box",pointerEvents:"none"}}),Z.div({class:"originalOverlayLineReplacement",style:{position:"absolute",...Gt(f=>d.read(f).background.translateX(-h)),borderRadius:"4px",border:ii(p,this._themeService).map(f=>`1px solid ${f.toString()}`),pointerEvents:"none",boxSizing:"border-box",background:de(Fr)}}),Z.div({class:"modifiedOverlayLineReplacement",style:{position:"absolute",...Gt(f=>d.read(f).lowerBackground.translateX(-h)),borderRadius:"0 0 4px 4px",background:de(ft),boxShadow:`${de(CE)} 0 6px 6px -6px`,border:`1px solid ${de(g)}`,boxSizing:"border-box",overflow:"hidden",cursor:"pointer",pointerEvents:"auto"},onmousedown:f=>{f.preventDefault()},onclick:f=>this._onDidClick.fire(new Qi(tt(f),f))},[Z.div({style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:de(AM)}})]),Z.div({class:"modifiedLinesLineReplacement",style:{position:"absolute",boxSizing:"border-box",...Gt(f=>d.read(f).lowerText.translateX(-h)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",whiteSpace:"nowrap",borderRadius:"0 0 4px 4px",overflow:"hidden"}},[...l.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(a=>this._isMouseOverWidget(a),this._store),this._previousViewZoneInfo=void 0,this._register(he(()=>this._editor.editor.changeViewZones(a=>this.removePreviousViewZone(a)))),this._register(ED(this._viewZoneInfo,({lastValue:a,newValue:d})=>{a===d||a?.height===d?.height&&a?.lineNumber===d?.lineNumber||this._editor.editor.changeViewZones(l=>{this.removePreviousViewZone(l),d&&this.addViewZone(d,l)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:T(this,a=>this._layout.read(a)?.minContentWidthRequired??0),position:be({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(e){let t=this._layout.get();return!t||!(e.event instanceof $E)?!1:t.lowerBackground.containsPoint(new Kt(e.event.relativePos.x,e.event.relativePos.y))}removePreviousViewZone(e){if(!this._previousViewZoneInfo)return;e.removeZone(this._previousViewZoneInfo.id);let t=this._editor.cursorLineNumber.get();t!==null&&t>=this._previousViewZoneInfo.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height),this._previousViewZoneInfo=void 0}addViewZone(e,t){let i=t.addZone({afterLineNumber:e.lineNumber-1,heightInPx:e.height,domNode:F("div")});this._previousViewZoneInfo={height:e.height,lineNumber:e.lineNumber,id:i};let o=this._editor.cursorLineNumber.get();o!==null&&o>=e.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+e.height)}};o_=$A([YM(4,hi),YM(5,je)],o_);function ZA(r){let e=[];for(;r.length;){let t=r.shift();t.startLineNumber!==t.endLineNumber&&(r.push(new C(t.startLineNumber+1,1,t.endLineNumber,t.endColumn)),t=new C(t.startLineNumber,t.startColumn,t.startLineNumber,Number.MAX_SAFE_INTEGER)),e.push(t)}return e}var YA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},XM=function(r,e){return function(t,i){e(t,i,r)}},Bd=0,vh=0,ko=1,XA=1,QA=3,Un=4,wx=20,QM=12,bh=class extends L{static fitsInsideViewport(e,t,i,o){let n=ye(e),s=n.layoutInfoWidth.read(o),a=n.layoutInfoContentLeft.read(o),d=e.getLayoutInfo().verticalScrollbarWidth,l=n.layoutInfoMinimap.read(o).minimapLeft!==0?n.layoutInfoMinimap.read(o).minimapWidth:0,c=Ro(n,i.displayRange,void 0),h=i.lineEdit.newLines.reduce((p,f)=>Math.max(p,fh(f,e,t)),0),u=wx,g=QM+2*ko;return c+h+u+g<s-a-d-l}constructor(e,t,i,o,n,s,a){super(),this._editor=e,this._edit=t,this._previewTextModel=i,this._uiState=o,this._tabAction=n,this._instantiationService=s,this._themeService=a,this._editorObs=ye(this._editor),this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._display=T(this,l=>this._uiState.read(l)?"block":"none"),this.previewRef=Z.ref();let d=this._uiState.map(l=>l?.isInDiffEditor?QA:XA);this._editorContainer=Z.div({class:["editorContainer"],style:{position:"absolute",overflow:"hidden",cursor:"pointer"},onmousedown:l=>{l.preventDefault()},onclick:l=>{this._onDidClick.fire(new Qi(tt(l),l))}},[Z.div({class:"preview",style:{pointerEvents:"none"},ref:this.previewRef})]).keepUpdated(this._store),this.isHovered=this._editorContainer.didMouseMoveDuringHover,this.previewEditor=this._register(this._instantiationService.createInstance(Di,this.previewRef.element,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},rulers:[],padding:{top:0,bottom:0},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,revealHorizontalRightPadding:0,bracketPairColorization:{enabled:!0,independentColorPoolPerBracketType:!1},scrollBeyondLastLine:!1,scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off"},{contextKeyValues:{[Se.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=ye(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=T(this,l=>{this._editorContainer.readEffect(l),this._previewEditorObs.model.read(l),this._display.read(l),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(l));let c=this._uiState.read(l),h=this._edit.read(l);if(!c||!h)return;let u=h.originalLineRange,g=[];u.startLineNumber>1&&g.push(new C(1,1,u.startLineNumber-1,1)),u.startLineNumber+c.newTextLineCount<this._previewTextModel.getLineCount()+1&&g.push(new C(u.startLineNumber+c.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(g,void 0,!0);let p=[...this._activeViewZones];this._activeViewZones=[];let f=u.endLineNumberExclusive-u.startLineNumber-c.newTextLineCount;this.previewEditor.changeViewZones(_=>{p.forEach(v=>_.removeZone(v)),f>0&&this._activeViewZones.push(_.addZone({afterLineNumber:u.startLineNumber+c.newTextLineCount-1,heightInLines:f,showInHiddenAreas:!0,domNode:F("div.diagonal-fill.inline-edits-view-zone")}))})}),this._previewEditorWidth=T(this,l=>{let c=this._edit.read(l);return c?(this._updatePreviewEditor.read(l),Ro(this._previewEditorObs,c.modifiedLineRange,l)):0}),this._cursorPosIfTouchesEdit=T(this,l=>{let c=this._editorObs.cursorPosition.read(l),h=this._edit.read(l);if(!(!h||!c))return h.modifiedLineRange.contains(c.lineNumber)?c:void 0}),this._originalStartPosition=T(this,l=>{let c=this._edit.read(l);return c?new P(c.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=T(this,l=>{let c=this._edit.read(l);return c?new P(c.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(l=>l?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(l=>l?.y),this._originalDisplayRange=this._edit.map(l=>l?.displayRange),this._editorMaxContentWidthInRange=T(this,l=>{let c=this._originalDisplayRange.read(l);return c?(this._editorObs.versionId.read(l),ai(this,(h,u)=>{let g=Ro(this._editorObs,c,h);return Math.max(g,u??0)})):be(0)}).map((l,c)=>l.read(c)),this._previewEditorLayoutInfo=T(this,l=>{let c=this._edit.read(l);if(!c||!this._uiState.read(l))return null;let u=c.originalLineRange,g=this._editorObs.scrollLeft.read(l),p=this._editorMaxContentWidthInRange.read(l),f=this._editorObs.layoutInfo.read(l),_=this._previewEditorWidth.read(l),v=f.contentWidth-f.verticalScrollbarWidth,w=this._editor.getContainerDomNode().getBoundingClientRect(),I=f.contentLeft+f.contentWidth+w.left,b=tt(this._editor.getContainerDomNode()).innerWidth-I,y=tt(this._editor.getContainerDomNode()).innerWidth-w.right,E=Math.min(f.contentWidth*.3,_,100),N=0,A=N+b,V=this._cursorPosIfTouchesEdit.read(l),ee=Math.max(v+g-N-Math.max(0,E-A),Math.min(V?zM(this._editorObs,V,l)+50:0,v+g)),$=Math.min(p+wx,ee),Pe=p+wx+_+70,He=ee-$,Je,It;$>g?(Je=0,It=f.contentLeft+$-g):(Je=g-$,It=f.contentLeft);let $e=this._originalVerticalStartPosition.read(l)??this._editor.getTopForLineNumber(u.startLineNumber)-this._editorObs.scrollTop.read(l),Re=this._originalVerticalEndPosition.read(l)??this._editor.getBottomForLineNumber(u.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(l),We=f.contentLeft-g,Ht=qe.fromLeftTopRightBottom(We,$e,It,Re),Ei=Ht.height===0;Ei||(Ht=Ht.withMargin(vh,Bd));let rt=this._previewEditorObs.observeLineHeightsForLineRange(c.modifiedLineRange).read(l).reduce((qT,GT)=>qT+GT,0),Bi=Re-$e,Js=Math.max(Bi,rt),Hv=He===0,Gh=0,GL=Math.min(_+QM,y+f.width-f.contentLeft-Gh),Qd=qe.fromLeftTopWidthHeight(Ht.right+Gh,$e,GL,Js);return Ei?Qd=Qd.withMargin(vh,Bd).translateY(vh):Qd=Qd.withMargin(vh,Bd).translateX(Bd+ko),{codeRect:Ht,editRect:Qd,codeScrollLeft:g,contentLeft:f.contentLeft,isInsertion:Ei,maxContentWidth:Pe,shouldShowShadow:Hv,desiredPreviewEditorScrollLeft:Je,previewEditorWidth:GL}}),this._stickyScrollController=fi.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?dt(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):be(0),this._shouldOverflow=T(this,l=>!1),this._originalBackgroundColor=dt(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(Fr)??se.transparent),this._backgroundSvg=Z.svg({transform:"translate(-0.5 -0.5)",style:{overflow:"visible",pointerEvents:"none",position:"absolute"}},[Z.svgElem("path",{class:"rightOfModifiedBackgroundCoverUp",d:T(this,l=>{let c=this._previewEditorLayoutInfo.read(l);if(!(!c||this._originalBackgroundColor.read(l).isTransparent()))return new js().moveTo(c.codeRect.getRightTop()).lineTo(c.codeRect.getRightTop().deltaX(1e3)).lineTo(c.codeRect.getRightBottom().deltaX(1e3)).lineTo(c.codeRect.getRightBottom()).build()}),style:{fill:vE(ft,"transparent")}})]).keepUpdated(this._store),this._originalOverlay=Z.div({style:{pointerEvents:"none",display:this._previewEditorLayoutInfo.map(l=>l?.isInsertion?"none":"block")}},T(this,l=>{let c=_i(this._previewEditorLayoutInfo).read(l);if(!c)return;let h=d.read(l),u=Hr(this._tabAction).map(E=>`${ko}px solid ${de(E)}`),g=`${ko+h}px solid ${de(ft)}`,p=c.read(l).codeScrollLeft!==0,f=c.map(E=>E.codeRect.bottom<E.editRect.bottom),_=Un*2+ko*2,v=c.map(E=>qe.fromLeftTopRightBottom(E.contentLeft-Un-ko,E.codeRect.top,E.contentLeft,E.codeRect.bottom+_)).read(l),w=new Be(v.left,Number.MAX_SAFE_INTEGER),I=c.map(E=>E.codeRect.intersectHorizontal(w)),b=I.map(E=>E.withMargin(h,0,h,h).intersectHorizontal(w)),y=I.map(E=>qe.fromLeftTopWidthHeight(E.right-_+ko,E.bottom-ko,_,_).intersectHorizontal(w));return[Z.div({class:"originalSeparatorSideBySide",style:{...b.read(l).toStyles(),boxSizing:"border-box",borderRadius:`${Un}px 0 0 ${Un}px`,borderTop:g,borderBottom:g,borderLeft:p?"none":g}}),Z.div({class:"originalOverlaySideBySide",style:{...I.read(l).toStyles(),boxSizing:"border-box",borderRadius:`${Un}px 0 0 ${Un}px`,borderTop:u,borderBottom:u,borderLeft:p?"none":u,backgroundColor:de(Fr)}}),Z.div({class:"originalCornerCutoutSideBySide",style:{pointerEvents:"none",display:f.map(E=>E?"block":"none"),...y.read(l).toStyles()}},[Z.div({class:"originalCornerCutoutBackground",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",backgroundColor:ii(Fr,this._themeService).map(E=>E.toString())}}),Z.div({class:"originalCornerCutoutBorder",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",boxSizing:"border-box",borderTop:u,borderRight:u,borderRadius:"0 100% 0 0",backgroundColor:de(ft)}})]),Z.div({class:"originalOverlaySideBySideHider",style:{...v.toStyles(),backgroundColor:de(ft)}})]})).keepUpdated(this._store),this._modifiedOverlay=Z.div({style:{pointerEvents:"none"}},T(this,l=>{let c=_i(this._previewEditorLayoutInfo).read(l);if(!c)return;let h=c.map(I=>I.codeRect.bottom<I.editRect.bottom),u=d.read(l),g=h.map(I=>`0 ${Un}px ${Un}px ${I?Un:0}px`),p=ii(Vn(this._tabAction),this._themeService).map(I=>`1px solid ${I.toString()}`),f=`${ko+u}px solid ${de(ft)}`,_=c.map(I=>I.editRect.withMargin(0,ko)),v=_.map(I=>I.withMargin(u,u,u,0)),w=T(this,I=>{let b=_.read(I),y=c.read(I);return!y.isInsertion||y.contentLeft>=b.left?qe.fromLeftTopWidthHeight(b.left,b.top,0,0):new qe(y.contentLeft,b.top,b.left,b.top+ko*2)});return[Z.div({class:"modifiedInsertionSideBySide",style:{...w.read(l).toStyles(),backgroundColor:Vn(this._tabAction).map(I=>de(I))}}),Z.div({class:"modifiedSeparatorSideBySide",style:{...v.read(l).toStyles(),borderRadius:g,borderTop:f,borderBottom:f,borderRight:f,boxSizing:"border-box"}}),Z.div({class:"modifiedOverlaySideBySide",style:{..._.read(l).toStyles(),borderRadius:g,border:p,boxSizing:"border-box",backgroundColor:de(zf)}})]})).keepUpdated(this._store),this._nonOverflowView=Z.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[this._backgroundSvg,T(this,l=>this._shouldOverflow.read(l)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:be(null),allowEditorOverflow:!1,minContentWidthInPx:T(this,l=>{let c=this._previewEditorLayoutInfo.read(l)?.maxContentWidth;return c===void 0?0:c})})),this.previewEditor.setModel(this._previewTextModel),this._register(ue(l=>{let c=this._previewEditorLayoutInfo.read(l);if(!c)return;let h=c.editRect.withMargin(-vh,-Bd);this.previewEditor.layout({height:h.height,width:c.previewEditorWidth+15}),this._editorContainer.element.style.top=`${h.top}px`,this._editorContainer.element.style.left=`${h.left}px`,this._editorContainer.element.style.width=`${c.previewEditorWidth+Bd}px`})),this._register(ue(l=>{let c=this._previewEditorLayoutInfo.read(l);c&&this._previewEditorObs.editor.setScrollLeft(c.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};bh=YA([XM(5,z),XM(6,je)],bh);var JA=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},eF=function(r,e){return function(t,i){e(t,i,r)}},jn=1,qs=class extends L{static{this.MAX_LENGTH=100}constructor(e,t,i,o){super(),this._editor=e,this._edit=t,this._tabAction=i,this._languageService=o,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(be(this._edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(be(this._edit.range.getEndPosition()),this._store),this._line=document.createElement("div"),this._hoverableElement=xe(this,null),this.isHovered=this._hoverableElement.map((s,a)=>s?.didMouseMoveDuringHover.read(a)??!1),this._renderTextEffect=T(this,s=>{let a=this._editor.model.get(),d=a.getLineContent(this._edit.range.startLineNumber),l=Mt.replace(new Be(this._edit.range.startColumn-1,this._edit.range.endColumn-1),this._edit.text),c=l.replace(d),h=a.tokenization.tokenizeLinesAt(this._edit.range.startLineNumber,[c])?.[0],u;h?u=tr.fromLineTokens(h).slice(l.getRangeAfterReplace()).toLineTokens(this._edit.text,this._languageService.languageIdCodec):u=eo.createEmpty(this._edit.text,this._languageService.languageIdCodec);let g=gr(new mr([u]),pr.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${g.minWidthInPx}px`});let n=this._editor.observeLineHeightForPosition(this._edit.range.getStartPosition());this._layout=T(this,s=>{this._renderTextEffect.read(s);let a=this._start.read(s),d=this._end.read(s);if(!a||!d||a.x>d.x||a.y>d.y)return;let l=n.read(s),c=this._editor.scrollLeft.read(s),h=this._editor.getOption(59).read(s).typicalHalfwidthCharacterWidth,u=3*h,g=4,p=new Kt(u,g),f=qe.fromPoints(a,d).withHeight(l).translateX(-c),_=qe.fromPointSize(f.getLeftBottom().add(p),new Kt(this._edit.text.length*h,f.height)),v=_.withLeft(f.left);return{originalLine:f,modifiedLine:_,lowerBackground:v,lineHeight:l}}),this.minEditorScrollHeight=T(this,s=>{let a=_i(this._layout).read(s);return a?a.read(s).modifiedLine.bottom+jn+this._editor.editor.getScrollTop():0}),this._root=Z.div({class:"word-replacement"},[T(this,s=>{let a=_i(this._layout).read(s);if(!a)return[];let d=Hr(this._tabAction).map(c=>de(c)).read(s),l=Vn(this._tabAction).map(c=>de(c)).read(s);return[Z.div({style:{position:"absolute",...Gt(c=>Wd(this._editor).read(c)),overflow:"hidden",pointerEvents:"none"}},[Z.div({style:{position:"absolute",...Gt(c=>a.read(c).lowerBackground.withMargin(jn,2*jn,jn,0)),background:de(ft),cursor:"pointer",pointerEvents:"auto"},onmousedown:c=>{c.preventDefault()},onmouseup:c=>this._onDidClick.fire(new Qi(tt(c),c)),obsRef:c=>{this._hoverableElement.set(c,void 0)}}),Z.div({style:{position:"absolute",...Gt(c=>a.read(c).modifiedLine.withMargin(jn,2*jn)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",boxSizing:"border-box",borderRadius:"4px",border:`${jn}px solid ${l}`,background:de(FM),display:"flex",justifyContent:"center",alignItems:"center",outline:`2px solid ${de(ft)}`}},[this._line]),Z.div({style:{position:"absolute",...Gt(c=>a.read(c).originalLine.withMargin(jn)),boxSizing:"border-box",borderRadius:"4px",border:`${jn}px solid ${d}`,background:de(OM),pointerEvents:"none"}},[]),Z.svg({width:11,height:14,viewBox:"0 0 11 14",fill:"none",style:{position:"absolute",left:a.map(c=>c.modifiedLine.left-16),top:a.map(c=>c.modifiedLine.top+Math.round((c.lineHeight-14-5)/2))}},[Z.svgElem("path",{d:"M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5",stroke:de(lb)}),Z.svgElem("path",{d:"M6 7.5L9.99999 10.49998L6 13.5",stroke:de(lb)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:be(0),position:be({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}};qs=JA([eF(3,hi)],qs);var n_=class extends L{constructor(e,t,i){super(),this._originalEditor=e,this._state=t,this._modifiedTextModel=i,this._onDidClick=this._register(new H),this.onDidClick=this._onDidClick.event,this.isHovered=ye(this._originalEditor).isTargetHovered(n=>n.target.type===6&&n.target.detail.injectedText?.options.attachedData instanceof Ch&&n.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=oF(this._modifiedTextModel),this._decorations=T(this,n=>{let s=this._state.read(n);if(!s)return;let a=s.modifiedText,d=s.mode==="insertionInline",l=s.diff.length===1&&s.diff[0].innerChanges?.length===1,c=!0,h=[],u=[],g=X.register({className:"inlineCompletions-line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),p=X.register({className:"inlineCompletions-line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),f=X.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),_=X.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),v=X.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),w=X.register({className:"inlineCompletions-char-insert diff-range-empty",description:"char-insert diff-range-empty"}),I=X.register({className:"inlineCompletions-original-lines",description:"inlineCompletions-original-lines",isWholeLine:!1,shouldFillLineOnLineBreak:!0}),b=s.mode!=="sideBySide"&&s.mode!=="deletion"&&s.mode!=="insertionInline"&&s.mode!=="lineReplacement",y=s.mode==="lineReplacement";for(let E of s.diff)if(b&&(E.original.isEmpty||h.push({range:E.original.toInclusiveRange(),options:p}),E.modified.isEmpty||u.push({range:E.modified.toInclusiveRange(),options:g})),E.modified.isEmpty||E.original.isEmpty)E.original.isEmpty||h.push({range:E.original.toInclusiveRange(),options:f}),E.modified.isEmpty||u.push({range:E.modified.toInclusiveRange(),options:_});else{let N=d&&tF(E);for(let A of E.innerChanges||[]){if(E.original.contains(A.originalRange.startLineNumber)&&!(y&&A.originalRange.isEmpty())){let V=this._originalEditor.getModel()?.getValueInRange(A.originalRange,1);h.push({range:A.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:qf("inlineCompletions-char-delete",A.originalRange.isSingleLine()&&s.mode==="insertionInline"&&"single-line-inline",A.originalRange.isEmpty()&&"empty",(A.originalRange.isEmpty()&&l||s.mode==="deletion"&&V===`
|
|
45
45
|
`)&&c&&!N&&"diff-range-empty"),inlineClassName:N?qf("strike-through","inlineCompletions"):null,zIndex:1}})}if(E.modified.contains(A.modifiedRange.startLineNumber)&&u.push({range:A.modifiedRange,options:A.modifiedRange.isEmpty()&&c&&!N&&l?w:v}),N){let V=a.getValueOfRange(A.modifiedRange),ee=V.length>3?[{text:V.slice(0,1),extraClasses:["start"],offsetRange:new Be(A.modifiedRange.startColumn-1,A.modifiedRange.startColumn)},{text:V.slice(1,-1),extraClasses:[],offsetRange:new Be(A.modifiedRange.startColumn,A.modifiedRange.endColumn-2)},{text:V.slice(-1),extraClasses:["end"],offsetRange:new Be(A.modifiedRange.endColumn-2,A.modifiedRange.endColumn-1)}]:[{text:V,extraClasses:["start","end"],offsetRange:new Be(A.modifiedRange.startColumn-1,A.modifiedRange.endColumn)}];this._tokenizationFinished.read(n);let $=this._modifiedTextModel.tokenization.getLineTokens(A.modifiedRange.startLineNumber);for(let{text:Pe,extraClasses:He,offsetRange:Je}of ee)h.push({range:C.fromPositions(A.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:$.getTokensInRange(Je),content:Pe,inlineClassName:qf("inlineCompletions-char-insert",A.modifiedRange.isSingleLine()&&s.mode==="insertionInline"&&"single-line-inline",...He),cursorStops:Oo.None,attachedData:new Ch(this)},zIndex:2,showIfCollapsed:!0}})}}}if(s.isInDiffEditor)for(let E of s.diff)E.original.isEmpty||h.push({range:E.original.toExclusiveRange(),options:I});return{originalDecorations:h,modifiedDecorations:u}}),this._register(ye(this._originalEditor).setDecorations(this._decorations.map(n=>n?.originalDecorations??[])));let o=this._state.map(n=>n?.modifiedCodeEditor);this._register(bi((n,s)=>{let a=o.read(n);a&&s.add(ye(a).setDecorations(this._decorations.map(d=>d?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(n=>{if(n.target.type!==6)return;let s=n.target.detail.injectedText?.options.attachedData;s instanceof Ch&&s.owner===this&&this._onDidClick.fire(n.event)}))}},Ch=class{constructor(e){this.owner=e}};function tF(r){return r.innerChanges?r.innerChanges.every(e=>Lb(e.modifiedRange)&&Lb(e.originalRange)):!1}var iF=0;function oF(r){return dt(r.onDidChangeTokens,()=>iF++)}var nF=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},rF=function(r,e){return function(t,i){e(t,i,r)}},r_=class extends L{constructor(e,t,i,o,n,s){super(),this._editor=e,this._host=t,this._model=i,this._ghostTextIndicator=o,this._focusIsInMenu=n,this._instantiationService=s,this._editorObs=ye(this._editor),this._tabAction=T(c=>this._model.read(c)?.tabAction.read(c)??ct.Inactive),this._constructorDone=xe(this,!1),this._uiState=T(this,c=>{let h=this._model.read(c);if(!h||!this._constructorDone.read(c))return;let u=h.inlineEdit,g=$u.fromEdit(u.edit),p=u.edit.apply(u.originalText),f=Ib(g,u.originalText,new Cn(p)),_=this.determineRenderState(h,c,f,new Cn(p));if(!_){ae(new Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}if(_.kind===pe.SideBySide){let w=jM(p,u.modifiedLineRange,d.getOptions().tabSize);p=w.applyToString(p),g=UM(g,w),f=Ib(g,u.originalText,new Cn(p))}return this._previewTextModel.setLanguage(this._editor.getModel().getLanguageId()),this._previewTextModel.getValue()!==p&&this._previewTextModel.setValue(p),h.showCollapsed.read(c)&&!this._indicator.read(c)?.isHoverVisible.read(c)&&(_={kind:pe.Collapsed,viewData:_.viewData}),h.handleInlineEditShown(_.kind,_.viewData),{state:_,diff:f,edit:u,newText:p,newTextLineCount:u.modifiedLineRange.length,isInDiffEditor:h.isInDiffEditor}}),this._previewTextModel=this._register(this._instantiationService.createInstance(Da,"",this._editor.getModel().getLanguageId(),{...Da.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._indicatorCyclicDependencyCircuitBreaker=xe(this,!1),this._indicator=T(this,c=>{if(!this._indicatorCyclicDependencyCircuitBreaker.read(c))return;let h=zi({owner:this,equalsFn:du(au())},g=>{let p=this._ghostTextIndicator.read(g);if(p)return p.lineRange;let f=this._uiState.read(g);if(f){if(f.state?.kind==="custom"){let _=f.state.displayLocation?.range;if(!_)throw new et("custom view should have a range");return new Tt(_.startLineNumber,_.endLineNumber)}return f.state?.kind==="insertionMultiLine"?this._insertion.originalLines.read(g):f.edit.displayRange}}),u=T(this,g=>{let p=this._model.read(g);if(p)return p;let f=this._ghostTextIndicator.read(g);return f?f.model:p});return c.store.add(this._instantiationService.createInstance(Zf,this._editorObs,h,this._gutterIndicatorOffset,u,this._inlineEditsIsHovered,this._focusIsInMenu))}),this._inlineEditsIsHovered=T(this,c=>this._sideBySide.isHovered.read(c)||this._wordReplacementViews.read(c).some(h=>h.isHovered.read(c))||this._deletion.isHovered.read(c)||this._inlineDiffView.isHovered.read(c)||this._lineReplacementView.isHovered.read(c)||this._insertion.isHovered.read(c)||this._customView.isHovered.read(c)),this._gutterIndicatorOffset=T(this,c=>{if(this._uiState.read(c)?.state?.kind==="insertionMultiLine")return this._insertion.startLineOffset.read(c);let h=this._ghostTextIndicator.read(c);return h?dF(h,this._editor):0}),this._sideBySide=this._register(this._instantiationService.createInstance(bh,this._editor,this._model.map(c=>c?.inlineEdit),this._previewTextModel,this._uiState.map(c=>c&&c.state?.kind===pe.SideBySide?{newTextLineCount:c.newTextLineCount,isInDiffEditor:c.isInDiffEditor}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(t_,this._editor,this._model.map(c=>c?.inlineEdit),this._uiState.map(c=>c&&c.state?.kind===pe.Deletion?{originalRange:c.state.originalRange,deletions:c.state.deletions,inDiffEditor:c.isInDiffEditor}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(i_,this._editor,this._uiState.map(c=>c&&c.state?.kind===pe.InsertionMultiLine?{lineNumber:c.state.lineNumber,startColumn:c.state.column,text:c.state.text,inDiffEditor:c.isInDiffEditor}:void 0),this._tabAction)),this._inlineDiffViewState=T(this,c=>{let h=this._uiState.read(c);if(!(!h||!h.state)&&!(h.state.kind==="wordReplacements"||h.state.kind==="insertionMultiLine"||h.state.kind==="collapsed"||h.state.kind==="custom"))return{modifiedText:new Cn(h.newText),diff:h.diff,mode:h.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,isInDiffEditor:h.isInDiffEditor}}),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(Xf,this._editor,this._model.map((c,h)=>this._uiState.read(h)?.state?.kind==="collapsed"?c?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(e_,this._editor,this._model.map((c,h)=>this._uiState.read(h)?.state?.kind==="custom"?c?.displayLocation:void 0),this._tabAction)),this._inlineDiffView=this._register(new n_(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._wordReplacementViews=ca(this,this._uiState.map(c=>c?.state?.kind==="wordReplacements"?c.state.replacements:[]),(c,h)=>h.add(this._instantiationService.createInstance(qs,this._editorObs,c,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(o_,this._editorObs,this._uiState.map(c=>c?.state?.kind===pe.LineReplacement?{originalRange:c.state.originalRange,modifiedRange:c.state.modifiedRange,modifiedLines:c.state.modifiedLines,replacements:c.state.replacements}:void 0),this._uiState.map(c=>c?.isInDiffEditor??!1),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map(c=>c.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map(c=>c.edits.renderSideBySide),this._register(bi((c,h)=>{let u=this._model.read(c);u&&h.add(ke.any(this._sideBySide.onDidClick,this._deletion.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(c).map(g=>g.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)(g=>{this._viewHasBeenShownLongerThan(350)&&(g.preventDefault(),u.accept())}))})),this._indicator.recomputeInitiallyAndOnChange(this._store),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store),this._indicatorCyclicDependencyCircuitBreaker.set(!0,void 0),this._register(this._instantiationService.createInstance(Yf,this._host,this._model,this._indicator,this._inlineCollapsedView));let a=T(this,c=>Math.max(...this._wordReplacementViews.read(c).map(h=>h.minEditorScrollHeight.read(c)),this._lineReplacementView.minEditorScrollHeight.read(c),this._customView.minEditorScrollHeight.read(c))).recomputeInitiallyAndOnChange(this._store),d=this._editor.getModel(),l;this._register(ue(c=>{let h=a.read(c);this._editor.changeViewZones(u=>{let g=this._editor.getScrollHeight(),p=h-g+1;p!==0&&l&&(u.removeZone(l),l=void 0),!(p<=0)&&(l=u.addZone({afterLineNumber:d.getLineCount(),heightInPx:p,domNode:F("div.minScrollHeightViewZone")}))})})),this._constructorDone.set(!0,void 0)}getCacheId(e){return e.inlineEdit.inlineCompletion.identity.id}determineView(e,t,i,o){let n=e.inlineEdit,s=this._previousView?.id===this.getCacheId(e)&&!e.displayLocation?.jumpToEdit,a=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(t)&&(this._previousView?.view===pe.SideBySide||this._previousView?.view===pe.LineReplacement);if(s&&!a)return this._previousView.view;if(e.inlineEdit.inlineCompletion instanceof oh&&e.inlineEdit.inlineCompletion.uri)return pe.Custom;if(e.displayLocation&&!e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t))return pe.Custom;let d=n.originalLineRange.length,l=n.modifiedLineRange.length,c=i.flatMap(u=>u.innerChanges??[]),h=c.length===1;if(!e.isInDiffEditor){if(h&&this._useCodeShifting.read(t)!=="never"&&iT(i))return sF(i,n.cursorPosition)?pe.InsertionInline:pe.LineReplacement;if(eT(c,n,o))return pe.Deletion;if(JM(i)&&this._useCodeShifting.read(t)==="always")return pe.InsertionMultiLine;if(c.every(g=>Gi.ofRange(g.originalRange).columnCount<qs.MAX_LENGTH&&Gi.ofRange(g.modifiedRange).columnCount<qs.MAX_LENGTH)&&h&&d===1&&l===1){let g=c.map(f=>o.getValueOfRange(f.modifiedRange)),p=c.map(f=>e.inlineEdit.originalText.getValueOfRange(f.originalRange));if(!g.some(f=>f.includes(" "))&&!p.some(f=>f.includes(" "))&&(!c.some(f=>f.originalRange.isEmpty())||!tT(c.map(f=>new ot(f.originalRange,"")),n.originalText).some(f=>f.range.isEmpty()&&Gi.ofRange(f.range).columnCount<qs.MAX_LENGTH)))return pe.WordReplacements}}if(d>0&&l>0)return d===1&&l===1&&!e.isInDiffEditor?pe.LineReplacement:this._renderSideBySide.read(t)!=="never"&&bh.fitsInsideViewport(this._editor,this._previewTextModel,n,t)?pe.SideBySide:pe.LineReplacement;if(e.isInDiffEditor){if(eT(c,n,o))return pe.Deletion;if(JM(i)&&this._useCodeShifting.read(t)==="always")return pe.InsertionMultiLine}return pe.SideBySide}determineRenderState(e,t,i,o){let n=e.inlineEdit,s=this.determineView(e,t,i,o);if(this._willRenderAboveCursor(t,n,s))switch(s){case pe.LineReplacement:case pe.WordReplacements:s=pe.SideBySide;break}this._previousView={id:this.getCacheId(e),view:s,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now()};let a=i.flatMap(p=>p.innerChanges??[]),d=this._editor.getModel(),l=a.map(p=>({originalRange:p.originalRange,modifiedRange:p.modifiedRange,original:d.getValueInRange(p.originalRange),modified:o.getValueOfRange(p.modifiedRange)})),c=n.cursorPosition,h=l.length===0?!1:l[0].modified.startsWith(d.getEOL()),u={cursorColumnDistance:n.edit.replacements.length===0?0:n.edit.replacements[0].range.getStartPosition().column-c.column,cursorLineDistance:n.lineEdit.lineRange.startLineNumber-c.lineNumber+(h&&n.lineEdit.lineRange.startLineNumber>=c.lineNumber?1:0),lineCountOriginal:n.lineEdit.lineRange.length,lineCountModified:n.lineEdit.newLines.length,characterCountOriginal:l.reduce((p,f)=>p+f.original.length,0),characterCountModified:l.reduce((p,f)=>p+f.modified.length,0),disjointReplacements:l.length,sameShapeReplacements:l.every(p=>p.original===l[0].original&&p.modified===l[0].modified)};switch(s){case pe.InsertionInline:return{kind:pe.InsertionInline,viewData:u};case pe.SideBySide:return{kind:pe.SideBySide,viewData:u};case pe.Collapsed:return{kind:pe.Collapsed,viewData:u};case pe.Custom:return{kind:pe.Custom,displayLocation:e.displayLocation,viewData:u}}if(s===pe.Deletion)return{kind:pe.Deletion,originalRange:n.originalLineRange,deletions:a.map(p=>p.originalRange),viewData:u};if(s===pe.InsertionMultiLine){let p=a[0];return{kind:pe.InsertionMultiLine,lineNumber:p.originalRange.startLineNumber,column:p.originalRange.startColumn,text:o.getValueOfRange(p.modifiedRange),viewData:u}}let g=l.map(p=>new ot(p.originalRange,p.modified));if(g.length!==0){if(s===pe.WordReplacements){let p=aF(g,n.originalText);return p.some(f=>f.range.isEmpty())&&(p=tT(g,n.originalText)),{kind:pe.WordReplacements,replacements:p,viewData:u}}if(s===pe.LineReplacement)return{kind:pe.LineReplacement,originalRange:n.originalLineRange,modifiedRange:n.modifiedLineRange,modifiedLines:n.modifiedLineRange.mapToLineArray(p=>o.getLineAt(p)),replacements:a.map(p=>({originalRange:p.originalRange,modifiedRange:p.modifiedRange})),viewData:u}}}_willRenderAboveCursor(e,t,i){if(this._useCodeShifting.read(e)==="always")return!1;for(let n of t.multiCursorPositions)if(i===pe.WordReplacements&&n.lineNumber===t.originalLineRange.startLineNumber+1||i===pe.LineReplacement&&n.lineNumber>=t.originalLineRange.endLineNumberExclusive&&n.lineNumber<t.modifiedLineRange.endLineNumberExclusive+t.modifiedLineRange.length)return!0;return!1}_viewHasBeenShownLongerThan(e){let t=this._previousView?.timestamp;if(!t)throw new et("viewHasBeenShownLongThan called before a view has been shown");return Date.now()-t>=e}};r_=nF([rF(5,z)],r_);function iT(r){return r.every(t=>t.innerChanges.every(i=>e(i)));function e(t){return!(!t.originalRange.isEmpty()||!(t.modifiedRange.startLineNumber===t.modifiedRange.endLineNumber))}}function sF(r,e){if(!e||!iT(r))return!1;let t=e;return r.every(o=>o.innerChanges.every(n=>i(n)));function i(o){let n=o.originalRange.getStartPosition();return!!(t.isBeforeOrEqual(n)||n.lineNumber<t.lineNumber)}}function JM(r){let e=r.flatMap(i=>i.innerChanges??[]);if(e.length!==1)return!1;let t=e[0];return!(!t.originalRange.isEmpty()||t.modifiedRange.startLineNumber===t.modifiedRange.endLineNumber)}function eT(r,e,t){return r.map(o=>({original:e.originalText.getValueOfRange(o.originalRange),modified:t.getValueOfRange(o.modifiedRange)})).every(({original:o,modified:n})=>n.trim()===""&&o.length>0&&(o.length>n.length||o.trim()!==""))}function aF(r,e){return oT(r,e,t=>/^[a-zA-Z]$/.test(t))}function tT(r,e){return oT(r,e,t=>!/^\s$/.test(t))}function oT(r,e,t){let i=[];r.sort((n,s)=>C.compareRangesUsingStarts(n.range,s.range));for(let n of r){let s=n.range.startColumn-1,a=n.range.endColumn-2,d="",l="",c=e.getLineAt(n.range.startLineNumber),h=e.getLineAt(n.range.endLineNumber);if(o(c[s]))for(;o(c[s-1]);)d=c[s-1]+d,s--;if(o(h[a])||a<s)for(;o(h[a+1]);)l+=h[a+1],a++;let u=new ot(new C(n.range.startLineNumber,s+1,n.range.endLineNumber,a+2),d+n.text+l);i.length>0&&C.areIntersectingOrTouching(i[i.length-1].range,u.range)&&(u=ot.joinReplacements([i.pop(),u],e)),i.push(u)}function o(n){return n===void 0?!1:t(n)}return i}function dF(r,e){let t=r.model.inlineEdit.edit.replacements;if(t.length!==1)return 0;let i=e.getModel();if(!i)return 0;let o=i.getEOL(),n=t[0];if(n.range.isEmpty()&&n.text.startsWith(o)){let s=e.getLineHeightForPosition(n.range.getStartPosition());return lF(n.text,o)*s}return 0}function lF(r,e){if(!e.length)return 0;let t=0,i=0;for(;r.startsWith(e,i);)t++,i+=e.length;return t}var cF=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},hF=function(r,e){return function(t,i){e(t,i,r)}},s_=class extends L{static{this.hot=cr(this)}constructor(e,t,i,o,n){super(),this._editor=e,this._edit=t,this._model=i,this._focusIsInMenu=o,this._inlineEdit=T(this,s=>{let a=this._model.read(s);if(!a)return;let d=this._edit.read(s);if(!d)return;let l=this._editor.getModel();if(!l)return;let c=a.inlineEditState.read(void 0)?.inlineCompletion.updatedEdit;if(!c)return;let h=c.replacements.map(p=>{let f=C.fromPositions(l.getPositionAt(p.replaceRange.start),l.getPositionAt(p.replaceRange.endExclusive));return new ot(f,p.newText)}),u=new Qt(h),g=new _r(l);return new Od(g,u,a.primaryPosition.read(void 0),a.allPositions.read(void 0),d.commands,d.inlineCompletion)}),this._inlineEditModel=T(this,s=>{let a=this._model.read(s);if(!a)return;let d=this._inlineEdit.read(s);if(!d)return;let l=T(this,c=>{if(this._editorObs.isFocused.read(c)){if(a.tabShouldJumpToInlineEdit.read(c))return ct.Jump;if(a.tabShouldAcceptInlineEdit.read(c))return ct.Accept}return ct.Inactive});return new ch(a,d,l)}),this._inlineEditHost=T(this,s=>{let a=this._model.read(s);if(a)return new Pf(a)}),this._ghostTextIndicator=T(this,s=>{let a=this._model.read(s);if(!a)return;let d=a.inlineCompletionState.read(s);if(!d)return;let l=d.inlineCompletion;if(!l||!l.showInlineEditMenu)return;let c=Tt.ofLength(d.primaryGhostText.lineNumber,1);return new Of(this._editor,a,c,l)}),this._editorObs=ye(this._editor),this._register(n.createInstance(r_,this._editor,this._inlineEditHost,this._inlineEditModel,this._ghostTextIndicator,this._focusIsInMenu))}};s_=cF([hF(4,z)],s_);var uF=function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gF=function(r,e){return function(t,i){e(t,i,r)}},a_=class extends L{constructor(e,t,i,o){super(),this._editor=e,this._model=t,this._focusIsInMenu=i,this._instantiationService=o,this._ghostTexts=T(this,n=>this._model.read(n)?.ghostTexts.read(n)??[]),this._stablizedGhostTexts=pM(this._ghostTexts,this._store),this._editorObs=ye(this._editor),this._ghostTextWidgets=ca(this,this._stablizedGhostTexts,(n,s)=>rl(a=>this._instantiationService.createInstance(Pr.hot.read(a),this._editor,{ghostText:n,warning:this._model.map((d,l)=>{let c=d?.warning?.read(l);return c?{icon:c.icon}:void 0}),minReservedLineCount:be(0),targetTextModel:this._model.map(d=>d?.textModel),handleInlineCompletionShown:this._model.map((d,l)=>{let c=d?.inlineCompletionState.read(l)?.inlineCompletion;return c?h=>d.handleInlineSuggestionShown(c,pe.GhostText,h):()=>{}})},this._editorObs.getOption(71).map(d=>({syntaxHighlightingEnabled:d.syntaxHighlightingEnabled})),!1,!1)).recomputeInitiallyAndOnChange(s)).recomputeInitiallyAndOnChange(this._store),this._inlineEdit=T(this,n=>this._model.read(n)?.inlineEditState.read(n)?.inlineEdit),this._everHadInlineEdit=ai(this,(n,s)=>s||!!this._inlineEdit.read(n)||!!this._model.read(n)?.inlineCompletionState.read(n)?.inlineCompletion?.showInlineEditMenu),this._inlineEditWidget=rl(n=>{if(this._everHadInlineEdit.read(n))return this._instantiationService.createInstance(s_.hot.read(n),this._editor,this._inlineEdit,this._model,this._focusIsInMenu)}).recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map(n=>n.fontFamily),this._register(_E(T(n=>`
|
|
46
46
|
.monaco-editor .ghost-text-decoration,
|